Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                form
	input(type="checkbox",id="sideways")
	label(for="sideways")="Turn Sideways"
	main
		.col
			table
				thead
					tr
						th(colspan=2)="Subjective score instructor use only"
				tbody
					tr
						td.bubble-group
							input(type="radio",name="_100_60",id="_100")
							label(for="_100").bubble
								.bubble-inner.narrow-num="100"
							input(type="radio",name="_100_60",id="_90")
							label(for="_90").bubble
								.bubble-inner.narrow-num="90"
							input(type="radio",name="_100_60",id="_80")
							label(for="_80").bubble
								.bubble-inner.narrow-num="80"
							input(type="radio",name="_100_60",id="_70")
							label(for="_70").bubble
								.bubble-inner.narrow-num="70"
							input(type="radio",name="_100_60",id="_60")
							label(for="_60").bubble
								.bubble-inner.narrow-num="60"
							input(type="radio",name="_50_10",id="_50")
							label(for="_50").bubble
								.bubble-inner.narrow-num="50"
							input(type="radio",name="_50_10",id="_40")
							label(for="_40").bubble
								.bubble-inner.narrow-num="40"
							input(type="radio",name="_50_10",id="_30")
							label(for="_30").bubble
								.bubble-inner.narrow-num="30"
							input(type="radio",name="_50_10",id="_20")
							label(for="_20").bubble
								.bubble-inner.narrow-num="20"
							input(type="radio",name="_50_10",id="_10")
							label(for="_10").bubble
								.bubble-inner.narrow-num="10"
							input(type="radio",name="_9_5",id="_9")
							label(for="_9").bubble
								.bubble-inner="9"
							input(type="radio",name="_9_5",id="_8")
							label(for="_8").bubble
								.bubble-inner="8"
							input(type="radio",name="_9_5",id="_7")
							label(for="_7").bubble
								.bubble-inner="7"
							input(type="radio",name="_9_5",id="_6")
							label(for="_6").bubble
								.bubble-inner="6"
							input(type="radio",name="_9_5",id="_5")
							label(for="_5").bubble
								.bubble-inner="5"
							input(type="radio",name="_4_0",id="_4")
							label(for="_4").bubble
								.bubble-inner="4"
							input(type="radio",name="_4_0",id="_3")
							label(for="_3").bubble
								.bubble-inner="3"
							input(type="radio",name="_4_0",id="_2")
							label(for="_2").bubble
								.bubble-inner="2"
							input(type="radio",name="_4_0",id="_1")
							label(for="_1").bubble
								.bubble-inner="1"
							input(type="radio",name="_4_0",id="_0")
							label(for="_0").bubble
								.bubble-inner="0"
						td
							input(type="number",name="subscore",min="0",max="163")
		.col
			strong="Part 1"
		.col
			span="© Scantron Corporation 2007"
				br
				="All rights reserved"
			span.no-tt="Customer Service"
				br
				="1-800-SCANTRON"
			span
				em="Feed this direction"
			span
				strong="8012 4207 599"
				=" 16"
		.col
		.col
			.bubble-group
				span="(T)"
				span="(F)"
				span
				span
					strong="Key"
				span
				input(type="radio",name="p235",id="percent")
				label(for="percent").bubble
					em.bubble-inner="%"
				input(type="radio",name="p235",id="p2")
				label(for="p2").bubble
					em.bubble-inner="2"
				input(type="radio",name="p235",id="p3")
				label(for="p3").bubble
					em.bubble-inner="3"
				span
				input(type="radio",name="p235",id="p5")
				label(for="p5").bubble
					em.bubble-inner="5"
			- for (g = 0; g < 5; ++g) {
				.bubble-group
					- for (r = 0; r < 10; ++r) {
						- var n = r + (10 * g) + 1;
						strong=n
						input(type="radio",name="_"+n,id="_"+n+"a")
						label(for="_"+n+"a").bubble
							.bubble-inner="A"
						input(type="radio",name="_"+n,id="_"+n+"b")
						label(for="_"+n+"b").bubble
							.bubble-inner="B"
						input(type="radio",name="_"+n,id="_"+n+"c")
						label(for="_"+n+"c").bubble
							.bubble-inner="C"
						input(type="radio",name="_"+n,id="_"+n+"d")
						label(for="_"+n+"d").bubble
							.bubble-inner="D"
						input(type="radio",name="_"+n,id="_"+n+"e")
						label(for="_"+n+"e").bubble
							.bubble-inner="E"
					- }
			- }
		.col
			span
				strong
					="Short essay"
					.lg-bullet
					="Completion"
					.lg-bullet
					="Multiple Choice"
					.lg-bullet
					="Matching"
		.col
			span="Reorder online"
				span.no-tt="www.scantronforms.com"
		.col
			aside
				div
					table
						thead
							tr
								th(colspan=2)="Important"
						tbody
							tr
								td
									div.pencil="Use NO. 2 pencil only"
									ul
										li="Make dark marks"
										li
											="Erase completely"
											br
											!="&nbsp; to change"
										li="Example:"
											.bubble
												.bubble-inner="A"
											.bubble
												.bubble-inner="B"
											.bubble.filled
												.bubble-inner="C"
											.bubble
												.bubble-inner="D"
											.bubble
												.bubble-inner="E"
								td
									p
										strong="To use subjective"
											br
											="score feature:"
									ul.no-tt
										li="Make total possible subjective points"
										li="Only one mark per line on key"
										li="163 points maximum"
									.example-table
										p
											strong="Example of student score:"
										table
											tbody
												tr
													td.bubble-group
														.bubble.filled
															.bubble-inner.narrow-num="100"
														.bubble
															.bubble-inner.narrow-num="90"
														.bubble
															.bubble-inner.narrow-num="80"
														.bubble
															.bubble-inner.narrow-num="70"
														.bubble
															.bubble-inner.narrow-num="60"
														.bubble
															.bubble-inner.narrow-num="50"
														.bubble
															.bubble-inner.narrow-num="40"
														.bubble
															.bubble-inner.narrow-num="30"
														.bubble.filled
															.bubble-inner.narrow-num="20"
														.bubble
															.bubble-inner.narrow-num="10"
														.bubble
															.bubble-inner="9"
														.bubble
															.bubble-inner="8"
														.bubble
															.bubble-inner="7"
														.bubble
															.bubble-inner="6"
														.bubble.filled
															.bubble-inner="5"
														.bubble
															.bubble-inner="4"
														.bubble
															.bubble-inner="3"
														.bubble
															.bubble-inner="2"
														.bubble
															.bubble-inner="1"
														.bubble
															.bubble-inner="0"
													td
														code="125"

				div
					span.logo
						.logo-text="Scantron"
						sup="®"
					br
					span.form-no="Form No. 883-E"
				div
					em="For use on"
						br
						="test scoring machine only"
				div
					table
						thead
							tr
								th(colspan=2)="Test Record"
						tbody
							tr
								td
									label(for="part1")="Part 1"
								td
									input(type="text",id="part1",name="part1")
							tr
								td
									label(for="part2")="Part 2"
								td
									input(type="text",id="part2",name="part2")
							tr
								td
									label(for="part3")="Part 3"
								td
									input(type="text",id="part3",name="part3")
							tr
								td
									label(for="total")
										strong="Total"
								td
									input(type="text",id="total",name="total")
				div
					table
						tbody
							tr
								th
									label(for="name")="Name"
								td(colspan="3")
									input(type="text",id="name",name="name")
							tr
								th
									label(for="subject")="Subject"
								td
									input(type="text",id="subject",name="subject")
								th
									label(for="testno")
										span="Test "
										span="No."
								td
									input(type="number",id="testno",name="testno")
							tr
								th
									label(for="date")="Date"
								td
									input(type="text",id="date",name="date")
								th
									label(for="period")="Period"
								td
									input(type="number",id="period",name="period")
              
            
!

CSS

              
                *, *:before, *:after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
:root {
	--c: rgb(32,176,144);
	font-size: 16px;
}
body, input {
	font: 1em "Helvetica Neue", Helvetica, sans-serif;
	line-height: 1.5;
}
body {
	background: #999;
	color: rgb(32,176,144);
	color: var(--c);
}
input[type=text], input[type=number] {
	border: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: "Patrick Hand", sans-serif;
	width: 100%;
}
input[type=radio] {
	opacity: 0;
	position: absolute;
	width: 0;
	height: 0;
}
input[type=radio]:checked + .bubble:after {
	width: 100%;
}
main {
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 2em 100%, 0% 80.7em);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 2em 100%, 0% 80.7em);
	display: grid;
	display: -ms-grid;
    grid-template-columns: minmax(2.4em, 1fr) 1.1fr 7fr 1fr 1fr minmax(14.6em, 6fr);
	-ms-grid-columns: minmax(2.4em, 1fr) 1.1fr 7fr 1fr 1fr minmax(14.6em, 6fr);
    grid-template-rows: 2fr 14fr;
   	-ms-grid-rows: 2.15fr 14fr;
	margin: 1em auto 0 auto;
	width: 41.5em;
	height: 82.7em;
	text-transform: uppercase;
	transition: 0.5s ease-out;
}
form {
	width: 100%;
	height: 100%;
}
form > label, form > input[type=checkbox] {
	position: fixed;
	z-index: 2;
}
form > input[type=checkbox] {
	top: 1.5em;
	left: 0.75em;
}
form > label {
	background: rgba(0,0,0,0.9);
	color: #f1f1f1;
	padding: 0.375em 0.75em 0.75em 2.25em;
	top: 0.75em;
	left: 0;
	z-index: 1;
}
form > input[type=checkbox]:checked ~ main {
	transform: rotate(-90deg);
}
table {
	border-collapse: collapse;
	box-shadow: 0 0 0 1px inset;
	border-radius: 0.5em;
}
thead th:first-of-type,
tbody tr:first-of-type th:first-child {
	border-top-left-radius: 0.5em;
}
thead th:last-of-type {
	border-top-right-radius: 0.5em;
}
tbody tr:last-of-type th:first-of-type {
	border-bottom-left-radius: 0.5em;
}
th {
	background: rgb(32,176,144);
	background: var(--c);
	color: #fff;
	line-height: 1.25;
	padding: 0.25em 0.75em;
}
td {
	padding: 0.125em 0.25em;
}
tr:not(:last-of-type) {
	border-bottom: 1px solid currentColor;
}
td:not(:last-of-type) {
	border-right: 1px solid currentColor;
}
p, ul {
	font-size: 0.63em;
	margin-bottom: 0.5em;
}
p:first-child {
	text-align: center;
}
ul {
	font-weight: bold;
	list-style: none;
	padding-left: 0.5em;
}
li {
	margin-left: 0.125em;
}
li:before {
	content: "• ";
}

/* Columns */
.col:first-of-type {
	grid-column: 3 / 4;
	-ms-grid-column: 3;
	-ms-grid-column-span: 1;
}
.col:first-of-type  table {
	margin: 3em auto 0 1.75em;
	width: 15em;
}
.col:first-of-type table td {
	padding: 0 0.25em;
}
.col:first-of-type tbody td:nth-of-type(2) {
	position: relative;
	width: 2em;
	max-width: 2em;
}
.col:first-of-type tbody td:nth-of-type(2) input {
	font-family: Monaco, monospace;
	letter-spacing: 0.5em;
	transform: rotate(90deg) translateY(100%);
	text-align: center;
	width: 4.5em;
}
.col:nth-of-type(2) {
	grid-column: 4 / 7;
	-ms-grid-column: 4;
	-ms-grid-column-span: 3;
	text-align: center;
}
.col:nth-of-type(2) strong {
	display: block;
	margin-top: 4.5em;
}
.col:nth-of-type(3),
.col:nth-of-type(4) {
	grid-row: 1 / 3;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
}
.col:nth-of-type(3) {
	-ms-grid-row: 1;
}
.col:nth-of-type(3) span {
	display: block;
	font-size: 0.75em;
	line-height: 1;
	width: 2em;
	height: 2em;
	white-space: nowrap;
	transform: rotate(90deg);
	transform-origin: 1em 1em;
}
.col:nth-of-type(3) span:first-of-type {
	font-size: 0.6em;
	letter-spacing: -0.03em;
	text-indent: -1em;
	transform: rotate(90deg) translate(12.5em,-1.5em);
}
.col:nth-of-type(3) span:nth-of-type(2) {
	letter-spacing: 0.04em;
	transform: rotate(90deg) translate(33em,-1.4em) scaleY(1.2);
}
.col:nth-of-type(3) span:nth-of-type(3) {
	background:
		linear-gradient(-15deg,currentColor 45%,transparent 50%) 0 0 / 2.5em 50%,
		linear-gradient(195deg,currentColor 45%,transparent 50%) 0 100% / 2.5em 50%,
		linear-gradient(transparent 38%,currentColor 38%,currentColor 62%,transparent 62%) 2.5em 0 / 19em 100%,
		linear-gradient(-25deg,transparent 27%,currentColor 30%,currentColor 77%,transparent 80%) 100% 0 / 3.5em 50%,
		linear-gradient(205deg,transparent 27%,currentColor 30%,currentColor 77%,transparent 80%) 100% 100% / 3.5em 50%;
	background-repeat: no-repeat;
	font-size: 0.75em;
	line-height: 1.5;
	transform: rotate(90deg) translate(42.5em,-1.25em);
	text-align: center;
	width: 25em;
	height: 1.5em;
}
.col:nth-of-type(3) span:nth-of-type(3) em {
	background-color: #fff;
	padding: 0 0.4em;
	letter-spacing: 0.5px;
}
.col:nth-of-type(3) span:nth-of-type(4) {
	transform: rotate(90deg) translate(81.75em,-0.5em) scaleX(0.75);
	word-spacing: 0.15em;
}
.col:nth-of-type(4) {
	background:
		linear-gradient(#000 0.85em,transparent 0.85em,transparent 62.5em,#000 62.5em) 50% 12.5em / 1.9em 63.25em,
		repeating-linear-gradient(#000,#000 0.2em,transparent 0.2em, transparent 1.25em) 50% 6.25em / 1.9em 5em,
		repeating-linear-gradient(#000,#000 0.2em,transparent 0.2em, transparent 1.25em) 50% 13.75em / 1.9em 62em;
	background-repeat: no-repeat;
	-ms-grid-column: 2;
}
.col:nth-of-type(5) {
	position: relative;
	-ms-grid-column: 3;
	-ms-grid-row: 2;
}
.col:nth-of-type(5):after {
	background-color: #fff;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 2.5em;
	height: 100%;
}
.col:nth-of-type(5) .bubble-group > span,
.col:nth-of-type(5) .bubble-group > strong {
	letter-spacing: 0.05em;
	text-align: center;
}
.col:nth-of-type(6) {
	-ms-grid-column: 4;
	-ms-grid-row: 2;
}
.col:nth-of-type(6) > span,
.col:nth-of-type(7) > span {
	display: inline-block;
	width: 1em;
	height: 1em;
	white-space: nowrap;
	transform: 0 50%;
}
.col:nth-of-type(6) > span {
	font-size: 1.8em;
	line-height: 0.75;
	letter-spacing: 0.02em;
	transform: rotate(90deg) translateX(0.875em);
}
.col:nth-of-type(7) {
	-ms-grid-column: 5;
	-ms-grid-row: 2;
}
.col:nth-of-type(7) > span {
	line-height: 0;
	letter-spacing: 0.04em;
	transform: rotate(90deg) translateX(35.5em) scale(0.85,1.25);
}
.col:last-of-type {
	-ms-grid-column: 6;
	-ms-grid-row: 2;
}
.col:last-of-type aside {
	display: grid;
	display: -ms-grid;
	grid-template-columns: 2.1fr 1fr 0.75fr 1fr;
	-ms-grid-columns: 2.1fr 1fr 0.75fr 1fr;
    grid-template-rows: 1fr 3fr;
    -ms-grid-rows: 1fr 3fr;
	grid-gap: 0 1em;
	margin-top: 1.5em;
	width: 63em;
	height: 10.5em;
	transform: translateY(-100%) rotate(90deg);
	transform-origin: 0 100%;
}
.col:last-of-type aside > div:first-of-type > table > tbody > tr > td:last-of-type,
.col:last-of-type aside > div:nth-of-type(4) > table td {
	width: 50%;
}
.col:last-of-type aside div:first-of-type td {
	vertical-align: top;
}
.col:last-of-type aside div:first-of-type td:first-child li {
	margin-bottom: 1.25em;
}
.col:last-of-type aside div:first-of-type td:nth-child(2) ul {
	line-height: 1.25;
	margin-bottom: 1.75em;
	padding-left: 0;
}
.col:last-of-type aside > div:nth-of-type(3) {
	width: 9em;
}
.col:last-of-type aside > div:nth-of-type(3) em {
	display: inline-block;
	font-size: 0.9em;
	letter-spacing: 0.02em;
	line-height: 1.2;
	vertical-align: top;
	transform: translateY(-0.5em);
}
.col:last-of-type aside div:nth-of-type(4) tbody tr:last-of-type {
	border-top: 2px solid currentColor;
}
.col:last-of-type aside div:nth-of-type(5) tr:not(:last-of-type) th {
	box-shadow: 0 -1px 0 #fff inset;
}
.col:last-of-type aside div:nth-of-type(5) th {
	line-height: 0;
}
.col:last-of-type aside div:nth-of-type(5) th:first-child {
	text-align: left;
	width: 26%;
}
.col:last-of-type aside div:nth-of-type(5) td:nth-child(2) {
	width: 30%;
}
.col:last-of-type aside div:nth-of-type(5) th:nth-child(3) {
	width: 20%;
}
.col:last-of-type aside div:nth-of-type(5) th:nth-child(3) span {
	display: inline-block;
	transform: translateY(0.5em);
}
.col:last-of-type aside div:nth-of-type(5) th:nth-child(3) span:first-of-type {
	transform: translateY(-0.5em);
}
.col:last-of-type aside div:nth-of-type(5) td:nth-child(4) {
	width: auto;
}
.col:last-of-type aside > div > table {
	width: 100%;
	height: 100%;
}
.col:last-of-type aside > div:first-of-type {
	grid-row: 1 / 3;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
}
.col:last-of-type aside > div:nth-of-type(2) {
	-ms-grid-column: 2;
}
.col:last-of-type aside > div:nth-of-type(n + 3):nth-of-type(-n + 4),
.col:last-of-type aside > div:nth-of-type(4) input {
	text-align: center;
}
.col:last-of-type aside > div:nth-of-type(3) {
	line-height: 1;
	-ms-grid-column: 3;
}
.col:last-of-type aside > div:nth-of-type(4) {
	grid-column: 4 / 5;
	-ms-grid-column: 4;
	-ms-grid-column-span: 1;
	grid-row: 1 / 3;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
}
.col:last-of-type aside > div:nth-of-type(4) tr:not(:last-of-type) td {
	vertical-align: top;
}
.col:last-of-type aside > div:nth-of-type(5) {
	grid-column: 2 / 4;
	-ms-grid-column: 2;
	-ms-grid-column-span: 2;
	grid-row: 2 / 3;
	-ms-grid-row: 2;
	-ms-grid-row-span: 1;
}
/* Bubbles */
.bubble-group {
	display: grid;
}
.col:first-of-type .bubble-group {
	grid-template-columns: repeat(5, 2.5em);
	grid-template-rows: repeat(4, 1.25em);
}
.col:nth-of-type(5) .bubble-group {
	grid-template-columns: 2em 2.5em 2.5em 2.5em 2.5em 2.5em;
	grid-template-rows: repeat(10, 1.25em);
}
.col:nth-of-type(5) .bubble-group:first-of-type {
	grid-template-rows: repeat(2, 1.25em);
}
.col:nth-of-type(5) .bubble-group:first-of-type span:nth-of-type(n + 1):nth-of-type(-n + 4) {
	font-size: 0.8em;
}
.col:nth-of-type(5) .bubble-group:first-of-type span:first-of-type {
	grid-column: 2 / 3;
}
.col:nth-of-type(5) .bubble-group:first-of-type span:nth-of-type(3) {
	grid-column: 4 / 6;
}
.col:nth-of-type(5) .bubble-group:not(:first-of-type):nth-of-type(odd) {
	border-radius: 0.375em;
	box-shadow: 0 0 0 2px inset;
}
.col:nth-of-type(5) .bubble-group:not(:first-of-type) strong {
	line-height: 1.25;
	text-align: right;
	margin-right: 0.25em;
}
.col:nth-of-type(7) span span {
	margin-left: 1em;
}
.bubble, .bubble-inner {
	display: inline-block;
}
.bubble {
	box-shadow: 0 0 0 1px;
	cursor: pointer;
	font-size: 0.875em;
	height: 0.4em;
	margin: 0.5em;
	position: relative;
	line-height: 0.4;
	text-align: center;
	width: 1.75em
}
.bubble:after {
	background-color: #555;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	transition: width 0.1s linear;
	z-index: 1;
}
.col:last-of-type li .bubble {
	margin: 0.5em 0.48em;
}
.bubble-inner {
	background-color: #fff;
	font-weight: bold;
	padding: 0.25em 0.13em;
	transform: translateY(-0.25em);
}
aside .bubble-inner {
	transform: translateY(-0.3em);
}
.filled {
	background-color: currentColor;
}
.filled .bubble-inner {
	background-color: transparent;
}
/* Miscellaneous */
.narrow-num {
	transform: translateY(-0.3em) scaleX(0.75);
}
.no-tt {
	text-transform: none;
}
.lg-bullet {
	background-color: currentColor;
	border-radius: 50%;
	display: inline-block;
	margin: 0.125em 0.65em 0.125em 0.35em;
	width: 0.45em;
	height: 0.45em;
}
.logo-text, .logo sup {
	display: inline-block;
	vertical-align: top;
}
.logo {
	line-height: 1;
}
.logo-text {
	box-shadow: 0 -0.1em 0;
	border-radius: 50% 50% 0 0 / 45% 45% 0 0;
	font-weight: 300;
	letter-spacing: 0.825em;
	margin-right: 0.1em;
	padding-top: 0.75em;
	width: 11em;
	transform: scaleY(1.5);
	transform-origin: 50% 100%;
}
.form-no {
	display: inline-block;
	text-align: center;
	width: 100%;
}
.pencil {
	background:
		linear-gradient(-20deg,transparent 0.65em,currentColor 0.65em,currentColor 0.8em,#fff 0.8em) 0 0 / 2.2em 0.7em,
		linear-gradient(200deg,transparent 0.65em,currentColor 0.65em,currentColor 0.8em,#fff 0.8em) 0 0.75em / 2.2em 0.7em,
		linear-gradient(currentColor 1px, transparent 1px, transparent 1.3em, currentColor 1.3em) 1.8em 0,
		linear-gradient(-90deg, currentColor 1.4em, transparent 1.4em, transparent 2.2em, currentColor 2.2em, currentColor 2.3em, transparent 2.3em, transparent 16.2em, currentColor 16.2em, currentColor 16.3em, transparent 16.3em, transparent 17.1em, currentColor 17.1em)
		;
	background-repeat: no-repeat;
	font: 0.54em Palatino, serif;
	font-weight: bold;
	line-height: 1;
	margin: 1.5em auto 1.5em 0.75em;
	padding: 0.3em 0;
	text-align: center;
	height: 1.4em;
	width: 18em;
}
/* Table in table */
.example-table {
	display: flex;
}
.example-table p {
	flex-basis: 55%;
	line-height: 1.4;
	text-align: left;
}
.example-table table {
	border-radius: 0.25em;
}
.example-table .bubble-group {
	grid-template-columns: repeat(5, 2.5em);
	-ms-grid-columns: 2.5em 2.5em 2.5em 2.5em 2.5em;
	grid-template-rows: repeat(4, 1.25em);
	-ms-grid-rows: 1.25em 1.25em 1.25em 1.25em;
	grid-gap: 0.1em 0.2em;
	font-size: 0.5em;
}
.example-table code {
	display: inline-block;
	font-size: 0.7em;
	letter-spacing: 0.45em;
	transform: rotate(90deg);
	width: 1em;
	height: 1em;
}

/* IE 11 fix for bubble grid inside parent grid */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .bubble-group {
    	display: flex;
		flex-wrap: wrap;
		width: 13em;
    }
	.col:nth-of-type(5) .bubble-group {
		width: calc(100% - 2em);
	}
	.col:nth-of-type(5) .bubble-group > span {
		width: 3em;
	}
	.col:nth-of-type(5) .bubble-group > span:nth-of-type(3) {
		width: 6em;
	}
	.col:nth-of-type(5) .bubble-group > span:nth-of-type(5) {
		width: 2em;
	}
	.col:nth-of-type(5) .bubble-group > span:nth-of-type(6) {
		width: 2.4em;
	}
	.col:nth-of-type(5) .bubble-group > span:nth-of-type(5n + 1):nth-of-type(-n + 5) {
		margin-left: 2.5em;
	}
	.col:nth-of-type(5) .bubble-group > strong {
		width: 1.75em;
	}
	.col:last-of-type aside > div {
		margin: 0 0.5em;
	}
	.col:last-of-type aside > div:first-of-type {
		margin-left: 0;
	}
	.col:last-of-type aside > div:nth-of-type(5) {
		margin-top: 0.75em;
	}
}
              
            
!

JS

              
                
              
            
!
999px

Console