html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	box-sizing: border-box;
}
body * {
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	padding: 1rem;
	background: #FFF;

	color: #222;
	/* font-family: 'Gotham Rounded', sans-serif; */
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}


.form {
	display: flex;
	flex-wrap: wrap;
}

.form-field-wrapper {
	flex-basis: 16rem;
	flex-grow: 1;
	margin: 0 1rem 1rem 0;
}
.pd-textarea {
	flex-basis: 72rem;
	width: 100%;
}

.form-field {
	/* border: 1px solid dodgerblue; */
}
.form-field.error {
	margin-bottom: 0.25rem;
}

.field-label {
	display: block;
	margin: 0 0 4px;

	font-size: 14px;
	font-weight: normal;
	line-height: 1.25;
	color: #0082ca;
	cursor: pointer;
}

p.errors {
	flex-basis: 72rem;
	display: block;
	margin-bottom: 1rem;

	text-align: center;
	color: firebrick;
	font-size: 0.9em;
}
p.error {
	display: block;
	margin: 0 0 1.5rem;

	color: firebrick;
	font-size: 0.8em;
}
form.form p.no-label.error {
	margin-left: 0;
	margin-bottom: 0;
}


.pd-text input[type="text"],
.pd-select select,
.pd-textarea textarea {
	display: block;
	padding: 0.5rem;
	width: 100%;
	max-width: 100%;

	font-size: 1rem;

	border: 0;
	border-bottom: 2px solid #d9d9d9;
	transition: all 0.2s ease-in-out;
}

.pd-text input[type="text"]:hover,
.pd-select select:hover,
.pd-textarea textarea:hover {
	background-color: #F9F9F9;
}

.pd-text input[type="text"]:focus,
.pd-text input[type="text"]:focus-within,
.pd-select select:focus,
.pd-select select:focus-within,
.pd-textarea textarea:focus,
.pd-textarea textarea:focus-within {
	border-bottom-color: #0080c5;
	background-color: #F9F9F9;
}

.error.pd-text input[type="text"],
.error.pd-select select,
.error.pd-textarea textarea {
	border-color: firebrick;
}

.pd-text input[type="text"] {
	/* border: 1px solid red; */
	/* border-bottom: 2px solid #d9d9d9; */
}

.pd-select select {
	-webkit-appearance: none;
	/* border: 1px solid seagreen; */
}

.pd-textarea textarea {
	height: 4em;

	/* border: 1px solid dodgerblue; */
}




p.submit {
	display: block;
	padding: 0.5rem 0 0;
	width: 100%;
	text-align: center;
}

p.submit input[type="submit"] {
	display: inline-block;
	margin: 0 auto;
	padding: 10px 20px;
	border: 0;
	background: #213f78;
	color: #FFF;
	font-weight: 600;
	font-size: 1rem;
	border-radius: 6px;
}