form {
	max-width: 40em;
	margin-top: 0.5em;
}

form .form-group {
	margin-bottom: 0;
}

input.form-control {
	padding: 0.175rem 0.75rem;
}

.list-wrapper > form {
	max-width: inherit;
}

.formbuttons-container {
	z-index: 2;
	position: sticky;
	bottom: 0;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,254,1) 10px);
}

@media (min-width: 576px) {
	.formbuttons-container {
		height: 60px;
	}
}

.formbuttons input {
	margin-top: 8px;
	margin-right: 8px;
}

@media (min-width: 576px) {
	.formbuttons input:not(:first-child).btn-danger {
		float: right;
		margin-right: 0;
	}
}

.formbuttons input[type=submit] {
	width: auto;
}

form label:first-child {
	font-weight: 500;
}

form label:first-child:has(> input) {
	font-weight: inherit;
}

form select[id$=".day"], select[id$=".month"], input[id$=".year"] {
	display: inline;
	width: auto;
}

.form-control:not(name="map-search") {
	display: inline!important;
	width: auto!important;
}

.form-section {
	text-align: left;
	color: #58AC25;
	font-size: 120%;
}

.form-section th {	
	padding-top: 10px;
}

.form-widget {
	background: transparent;
}

.form-widget-error, .form-required-mark, .form-error {
	color: #FF5050;
}

.form-label-error {
	font-weight: bold;
	background: #FF5050;
}

/* form layout for forms with divs*/

.form-fieldset {
	border: 0px solid #000;
}

.margin-form .form-required-mark {
    display: inline;
}

.margin-form .form-required-mark i {
	font-size: 80%;
}

.margin-form label {
    display: block;
}

.margin-form .form-item-wrapper {
	clear: both;
	padding: 5px;
}

.margin-form .form-item-wrapper .form-label {
	background-color: #EEEEEE;
	float: left;
	text-align: right;
	display: block;
	width: 16em;
}

.margin-form .form-item-wrapper .form-widget, .margin-form .form-button, .margin-form .form-help-text {
	display: block;
}

.margin-form .form-button {
	margin-top: 1em;
}

.margin-form .form-item-wrapper .form-error, .margin-form .form-item-wrapper .form-widget-error {
	display: block;
}

.margin-form legend {
}

.vertical-form .form-required-mark {
    display: inline;
}

.vertical-form .form-item-wrapper {
	clear: both;
	padding: 8px;
}

.vertical-form .form-item-wrapper .form-label{
	text-align: left;
	display: block;

}

.vertical-form .form-item-wrapper .form-widget{
	display: inline;

}


.inline-form div {
	display: inline;
}


/* pages that are laid out like forms but do not use the form builder and do not have input fields*/
.margin-form-div .form-item-wrapper {
	padding-bottom: 10px;
}

.margin-form-div h1 {
	margin-left: 13.5em;
}

@media (max-width: 576px) {
	input[type=submit] {
		width: 100%;
	}
}

/* Remove arrows from number input fields */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.col-form-label {
	overflow-wrap: break-word;
}