:root {
	--black: #333333;
}

body { margin: 0; padding: 0; text-align: center; font-family: sans-serif; font-size: 12px; color: var(--black); background-color: #EEEEEE; }

div#body { width: 70em; height: calc(100vh - 3em); margin: 0 auto; padding: 1.5em; border: 1px solid var(--black); overflow-y: auto; border-width: 0 1px; background-color: #FFFFFF; }

h1 { font-size: 24px; font-weight: normal; }
h2 { font-size: 20px; font-weight: normal; }
h3 { font-size: 16px; font-weight: normal; }
h1, p { margin: 0 0 0.5em; 0; }

form { margin: 0 0 1em 0; }

input { box-sizing: border-box; height: 2em; border: 1px solid var(--black); font-size: 12px; font-family: sans-serif; }
input[type="text"] { width: 15em; padding: 2px 0.5em; color: var(--black); background-color: #FFFFFF; }
input[type="submit"] { width: 8em; color: var(--black); background-color: #EEEEEE; }

.b { font-weight: bold; }

p.desc { margin: 0 5em 2em 5em; padding: 1em; border: 1px solid var(--black); box-shadow: 0.25em 0.25em 0.25em var(--black); }
p.redeem { margin-top: 0.5em; padding-top: 0.5em; border-top: 2px dashed var(--black); }

table.questions { width: 100%; margin: 0; padding: 0; border-spacing: 0; }
table.questions th, table.questions td { padding: 0.5em; }

table.questions th { text-align: center; font-weight: bold; }
table.questions td { border-top: 2px dotted var(--black); vertical-align: top; }

table.questions tr > :nth-of-type(2) { border-left: 2px dotted var(--black); border-right: 2px dotted var(--black); }

table.questions tr > th:nth-of-type(1) { width: 1em; }
table.questions tr > th:nth-of-type(3) { width: 25em; }

table.questions tr > td:nth-of-type(2) { text-align: left; }

table.questions tr > td input[type="text"] { width: 17em; }
