#yv-reg-form {
	margin: 0 auto;
	width: 100%;
	max-width: 900px;
}

form textarea {
	display:block;
	width: 90%;
}

input[type="radio"],
input[type="checkbox"] {
	margin-inline-end: 8px;
}

input[type="text"] {
	margin-inline-end: 43px;
}

.click-select label {
	display: flex;
	align-items: baseline;
}

#yv-reg-form fieldset:not(.registrants) {
	background: linear-gradient(to bottom,  #fff,  #eee);
}

#yv-reg-form fieldset legend,
#yv-reg-form button,
#help-button {
background: #57CAE5;
border-radius: 4px;
-moz-border-radius: 6px;
font-family: "Trebuchet MS", Tahoma, Arial, sans-serif;
font-size: 1.5em;
color: white;
padding: 0.2em;
}

fieldset > p,
fieldset > div,
fieldset > ul,
fieldset > ol,
fieldset > select,
fieldset > label,
fieldset > textarea {
	margin-inline-start: 15px;
	padding-inline-end: 10px;
}

#help-button {
	background-color: red;
}

#help-button:disabled {
    background-color: darkred;
}

.help-button-container {
    clear: both;
}

#yv-reg-form fieldset legend {
text-transform: uppercase;
}

/* Participation */
#yv-reg-form .aktivitet-knepl {
	text-align: center;
}

#yv-reg-form .aktivitet-knepl a {
	font: 1.5em sans-serif;
	padding: 10px 15px;
	background: #57CAE5;
	color: #FFF;
	border-radius: 4px;
	border: solid 1px #20538D;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
	transition-duration: 0.2s;
	text-decoration: none;
	user-select:none;
}
#yv-reg-form .aktivitet-knepl a:hover {
	background: #46a2b7;
	border: solid 1px #2A4E77;
}
#yv-reg-form .aktivitet-knepl a:active {
	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
	background: #3882a4;
	border: solid 1px #203E5F;
}

#yv-reg-form button[type="submit"] {
	display: block;
	width: 100%;
	max-width: 300px;
	background-color: #57CAE5;
	color: white;
	border-radius: 4px;
	font-size: 2em;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition-duration: 0.2s;
	margin-inline-start: auto; /* Push the button to the right */
}

#yv-reg-form fieldset ol, #yv-reg-form fieldset ul {
list-style: none;
}

p {
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	color:#333;
	line-height: 1.45;
}

#yv-reg-form textarea {
	margin-bottom: .5em;
	height: 4em;
}

#yv-reg-form textarea#roommate_info {
	height: 6em;
}

#yv-reg-form input[type=text] {
	flex-grow: 1;
}

#yv-reg-form input#address,
#yv-reg-form input#telephone,
#yv-reg-form input#email,
#yv-reg-form input#zip  {
direction: ltr;
}

#yv-reg-form fieldset ol li.state input,
#yv-reg-form fieldset ol li.zip input,
.age select {
	width:6em;
}

label,
form select {
	font-size: 2rem;
}

label {
	margin-inline-end: 1em;
	line-height: 130%;
	display: block;
}

.whole-week, .first-timer {
	margin-top: 15px;
}

.room-select {
	width: 95%;
}

.registrant.kind .room-select option:not(.child-room):not(.prompt) {
	display: none;
}

.registrant:not(.kind) .room-select option.child-room:not(.prompt) {
	display: none;
}

.registrant:not(.pitsl) .pitsl-text {
	display: none;
}

.registrant.pitsl .room-order-info-and-options {
	display: none;
}

fieldset.membership.family-membership-ordered label.already-member span.plain {
	display: none;
}

fieldset.membership:not(.family-membership-ordered) label.already-member span.with-family {
	display: none;
}

.subtotal,
#grand-total-display {
	font-size: 4rem;
	text-align: end;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	color: #0097c9;
	margin-inline-end: 12px;
}

.subtotal::before {
	content: '$';
}

.untershte-shure {
	display: flex;
}

#grand-total-display {
	margin: 0;
	padding-inline-end: 12px;
}

#participant-number {
    display: flex;
    justify-content: center;
    align-items: center;
}

#participant-number input {
	font-size: 2rem;
}

#participant-number label {
	font-size: 2.5rem;
}

fieldset.personal-info label {
	margin-top: 8px;
}

.participant ul {
	margin: 0;
}

#yv-reg-form #donation-list input {
	margin-bottom: 0px;
}

#other-donation-field-container {
	margin: 0 6px;
}

#yv-reg-form input.family.Age {
	width: 4em;
}

#yv-reg-form #other-donation-field {
	width: 9rem;
}

.bus select {
	max-width: 50rem;
}

#yv-reg-form #availability-table {
	font-size: 90%;
}

#yv-reg-form .week-list {
	margin-inline-start: 25px;
}

#yv-reg-form .weinreich  label,
#yv-reg-form label.affirmation {
	width: auto;
}

#yv-reg-form .disclaimers label {
	margin-bottom: 6px;
}

.yv-reg-error,
#yv-reg-form .yv-reg-error {
	color:red;
}

.yv-reg-order-summary p {
	line-height:normal;
}

.spinner {
	background: url(images/spinner.gif) no-repeat;
	background-size: 20px 20px;
	display: inline-block;
	visibility: hidden;
	vertical-align: middle;
	opacity: 0.7;
	filter: alpha(opacity=70);
	width: 20px;
	height: 20px;
	margin: 4px 10px 0;
}

.spinner.is-active {
	visibility: visible;
}

.post-submit-message {
	white-space: pre-line;
}

.advisory {
	font-size: 2em;
	color: white;
	margin-top: 1em;
	margin-bottom: 1em;
	background-color: red;
	font-weight: bold;
	text-align: center;
}