.animalInformationHeading h3 {
	color: #003b5c;
	font-size: 1.2em;
	margin: 0.65em 0 0.2em;
}

.animalInformationHeading p {
	font-weight: normal;
	margin: 0 0 0.65em;
}

.requiredInformationAsterisk {
	color: red;
	font-weight: bold;
}

.animalInformationRequired > tr > th,
.animalInformationOptional > tr > th,
.litterAnimalFields > tr > th {
	display: table-cell;
	width: 25%;
}

.litterAnimalFields > tr > th {
	vertical-align: top;
}

.animalInformationOptionalWrapper > tr > td {
	padding: 0;
}

.animalInformationOptionalPanel {
	background-color: #e8f4ff;
	border: 1px solid #8cc2f3;
	border-radius: 10px;
	margin-top: 24px;
	overflow: hidden;
	padding: 12px 14px;
}

.animalInformationOptionalFields {
	background: transparent;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	width: 100%;
}

.animalInformationLabelColumn {
	width: 24%;
}

.animalInformationOptional > tr > th {
	vertical-align: top;
	width: auto;
}

.animalInformationOptional {
	background-color: #e8f4ff;
}

.animalInformationOptional > tr > th,
.animalInformationOptional > tr > td {
	background-color: #e8f4ff;
	padding: 4px 6px;
}

.animalInformationOptional .animalInformationHeading h3 {
	color: #006ba6;
	margin: 0 0 4px;
}

.animalInformationOptional .animalInformationHeading > td {
	padding-top: 0;
}

.animalInformationOptional .animalInformationHeading p {
	margin-bottom: 8px;
}

:is(.animalInformationRequired, .animalInformationOptional, .litterAnimalFields) .animalInformationDobFields {
	border-spacing: 0;
	margin: 0;
	width: 100%;
}

:is(.animalInformationRequired, .animalInformationOptional, .litterAnimalFields) .animalInformationDobFields td {
	padding: 0;
}

/* Reserve space for DOB feedback only while a validation message is present. */
:is(.animalInformationRequired, .animalInformationOptional, .litterAnimalFields) .animalInformationDobFields tr:has(> td > .error:empty) {
	display: none;
}

.animalInformationCondition {
	display: block;
	font-size: 0.9em;
	font-weight: normal;
	margin-top: 0.3em;
}

@media (max-width: 600px) {
	.animalInformationLabelColumn {
		width: 32%;
	}

	.animalInformationRequired > tr > th,
	.litterAnimalFields > tr > th {
		width: 35%;
	}

	.animalInformationRequired input,
	.animalInformationOptional input,
	.animalInformationRequired select,
	.animalInformationOptional select,
	.litterAnimalFields input,
	.litterAnimalFields select {
		box-sizing: border-box;
		max-width: 100%;
	}

	.animalInformationRequired th,
	.animalInformationOptional th,
	.litterAnimalFields th {
		white-space: normal;
	}

	.animalInformationOptional .vglDobFlexContainer select,
	.litterAnimalFields .vglDobFlexContainer select {
		min-width: 9em;
		width: 100%;
	}
}

[data-animal-optional="true"] { background-color: #e8f4ff !important; }

.litterOffspringGrid {
	border-collapse: separate;
	border-spacing: 0;
}

.litterOffspringGrid .animalInformationHeading > th {
	vertical-align: top;
}

.litterOffspringGrid .animalInformationHeading > [data-animal-optional="true"] {
	border: 1px solid #8cc2f3;
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
}

.litterOffspringGrid tr:not(.animalInformationHeading) > [data-animal-optional="true"]:nth-child(3) {
	border-left: 1px solid #8cc2f3;
}

.litterOffspringGrid tr:not(.animalInformationHeading) > [data-animal-optional="true"]:nth-child(6) {
	border-right: 1px solid #8cc2f3;
	padding-right: 8px;
}

/* Follow the final displayed offspring row when more puppies or pigs are revealed. */
.litterOffspringGrid tr:nth-last-child(1 of [id^="rowLitter_"]:not([style*="display: none"])) > [data-animal-optional="true"] {
	border-bottom: 1px solid #8cc2f3;
	overflow: hidden;
}

.litterOffspringGrid tr:nth-last-child(1 of [id^="rowLitter_"]:not([style*="display: none"])) > td:nth-child(3) {
	border-bottom-left-radius: 10px;
}

.litterOffspringGrid tr:nth-last-child(1 of [id^="rowLitter_"]:not([style*="display: none"])) > td:nth-child(6) {
	border-bottom-right-radius: 10px;
}
