#regForm
{
	text-align: center;
}

#regForm h3
{
	text-align: left;
}

#contacts
{
	margin-bottom: 20px;
	text-align: right;
	counter-reset: person
}

.contactRow
{
	position: relative;
	padding-right: 40px;
	text-align: left;
	margin-bottom: 20px;
	padding-bottom: 14px;
	counter-increment: person;
	border-bottom: 1px solid #ccc;
}

.contactRow:last-of-type
{
	border-bottom: 0;
	padding-bottom: 0;
}

.contactRow .person::after
{
	content: counter(person);
	margin-left: 1ch;
}

.contactRow .remove
{
	position: absolute;
	right: 0;
	background: none;
	border: none;
	font-size: 2em;
	top: 50%;
	transform: translateY(-50%);
}

.contactRow:first-child:last-of-type .remove
{
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.contactRow label
{
	margin-bottom: 10px;
	display: block;
}

.contactRow span
{
	display: block;
	font-weight: 400;
	margin-bottom: 3px;
	
	display: flex;
}

.contactRow abbr
{
	order: 1;
	color: red;
}

.contactRow input
{
	width: 100%;
	padding: 6px 8px;
}

#addContact
{
	background: none;
	color: #0087a6;
	padding: 0;
	margin-right: 41px;
	transform: translateY(-16px);
}

#addContact[disabled]
{
	opacity: 0.3;
	cursor: default;
}

p.error
{
	border-left: 5px solid red;
	padding: 10px;
	background: #f2f2f2;
}

@media (min-width: 640px)
{
	.contactRow label
	{
		display: inline-block;
		width: 50%;
		padding-right: 10px;
	}
	
	.contactRow label + label
	{
		padding-left: 10px;
		padding-right: 0;
	}
}