.event-register-shade {
	position: fixed;
	z-index: 999;
	background-color: #000000;
	opacity: 0.85;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: none;
}

.event-register-error {
	position: fixed;
	top: 50%;
	left: 50%;
	background-color: #ffffff;
	border-radius: 1em;
	border: solid 0.5em #ff0000;
	padding: 1em;
	text-align: center;
	z-index: 1000;
	transform: translate(-50%,-50%);
	display: none;
}

.event-register-alert {
	position: fixed;
	top: 50%;
	left: 50%;
	background-color: #ffffff;
	border-radius: 1em;
	border: solid 0.5em #dfdfdf;
	padding: 1em;
	text-align: center;
	z-index: 1000;
	transform: translate(-50%,-50%);
	display: none;
}

.event-register-error .text,
.event-register-alert .text {
	margin-bottom: 1em;
}

.event-register-guest-editor {
	position: fixed;
	top: 50%;
	left: 50%;
	background-color: #ffffff;
	border-radius: 1em;
	padding: 1em;
	z-index: 1000;
	transform: translate(-50%,-50%);
	box-sizing: border-box;
	width: 80vmin;
	height: 50vmax;
	max-width: 80%;
	max-height: 80%;
	display: none;
}

.event-register-guest-editor .event-register-guest-editor-close-button {
	position: absolute;
	top: 0;
	right: 0;
	width: 1.5em;
	height: 1.5em;
	border: solid 2px #212121;
	border-radius: 50%;
	background-color: #ffffff;
	transform: translate(50%, -50%);
	transition: transform 0.2s;
}

.event-register-guest-editor .event-register-guest-editor-close-button:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 60%;
	background-color: #212121;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.event-register-guest-editor .event-register-guest-editor-close-button:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 60%;
	background-color: #212121;
	transform: translate(-50%, -50%) rotate(45deg);
}

.event-register-guest-editor .event-register-guest-editor-close-button:hover {
	transform: translate(50%, -50%) scale(1.3);
}

.event-register .back-button-holder {
	margin-bottom: 1em;
	text-align: right;
}

.event-register .schedule-items-holder {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 1em;
	margin-top: 2em;
}

.event-register .schedule-items-holder.centered {
	justify-content: center;
}

.event-register .schedule-items-holder .event-register-schedule-item {
	display: block;
	padding: 1em;
	border-radius: 1em;
	color: #212121;
	border: solid 1em #dfdfdf;
	text-align: center;
	flex-basis: 48%;
	flex-grow: 0;
	flex-shrink: 0;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 1em;
	transition: background 0.2s, border 0.2s, color 0.2s;
}


.event-register .schedule-items-holder .event-register-schedule-item.selected {
	border-color: #32a852;
}

.event-register .schedule-items-holder .event-register-schedule-item:hover {
	text-decoration: none;
}

.event-register .schedule-items-holder .event-register-schedule-item[closed="1"]:not(.selected) {
	opacity: 0.5;
	cursor: no-drop;
}

.event-register .schedule-items-holder .event-register-schedule-item[closed="0"]:not(.selected):hover {
	border-color: #212121;
	
}

.event-register .schedule-items-holder .event-register-schedule-item.selected:not(.justclicked):hover {
	border-color: #c27478;
}

.event-register .schedule-items-holder .event-register-schedule-item:not(.selected) .attending {
	display: none;
}

.event-register .schedule-items-holder .event-register-schedule-item.selected .attending {
	position: absolute;
	display: block;
	border: solid 1em #32a852;
	background-color: #ffffff;
	border-radius: 50%;
	width: 3em;
	height: 3em;
	top: 0;
	right: 0;
	transform: translate(40%, -40%);
	transition: border 0.2s;
}

.event-register .schedule-items-holder .event-register-schedule-item.selected:not(.justclicked):hover .attending {
	border-color: #c27478;
}

.event-register .schedule-items-holder .event-register-schedule-item.selected .attending svg {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 60%;
	width: auto;
	transform: translate(-50%, -50%);
	fill: #32a852;
}

.event-register .schedule-items-holder .event-register-schedule-item.selected:not(.justclicked):hover .attending svg {
	display: none;
}

.event-register .schedule-items-holder .event-register-schedule-item.selected:not(.justclicked):hover .attending:before {
	content: '';
	display: block;
	position: absolute;
	width: 0.5em;
	height: 60%;
	background-color: #c27478;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.event-register .schedule-items-holder .event-register-schedule-item.selected:not(.justclicked):hover .attending:after {
	content: '';
	display: block;
	position: absolute;
	width: 0.5em;
	height: 60%;
	background-color: #c27478;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.event-register .schedule-items-holder .event-register-schedule-item .title {
	font-size: 1.5em;
	font-weight: 700;
	display: block;
	margin-bottom: 1em;
}

.event-register .schedule-items-holder .event-register-schedule-item .date {
	font-size: 1em;
	font-weight: 400;
	display: block;
	margin-bottom: 1em;
}

.event-register .schedule-items-holder .event-register-schedule-item .time {
	font-size: 1em;
	font-weight: 300;
	display: block;
	margin-bottom: 1em;
}

.event-register .schedule-items-holder .event-register-schedule-item .closed {
	font-size: 1.1em;
	margin-top: 1em;
	font-style: italic;
}

.event-register .guests-holder {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
	flex-wrap: wrap;
}

.event-register .guests-holder .guest {
	flex-basis: 48%;
	position: relative;
	box-sizing: border-box;
	padding: 1em;
	border: solid 1em #dfdfdf;
	border-radius: 1em;
	margin-bottom: 1em;
}

.event-register .guests-holder .guest .event-register-guest-remove-button {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	height: 2em;
	width: 2em;
	background-color: #ffffff;
	border: solid 0.3em #878787;
	border-radius: 50%;
	transform: translate(60%, -60%);
	opacity: 0;
	transition: opacity 0.2s, transform 0.2s;
}

.event-register .guests-holder .guest:hover .event-register-guest-remove-button {
	opacity: 1;
}

.event-register .guests-holder .guest .event-register-guest-remove-button:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.3em;
	height: 60%;
	background-color: #878787;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.event-register .guests-holder .guest .event-register-guest-remove-button:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.3em;
	height: 60%;
	background-color: #878787;
	transform: translate(-50%, -50%) rotate(45deg);
}

.event-register .guests-holder .guest .event-register-guest-remove-button:hover {
	transform: translate(60%, -60%) scale(1.2);
}


.event-register .event-register-guest-add-button {
	font-size: 0.9em;
	color: #878787;
	border-radius: 2px;
	transition: color 0.2s, background 0.2s;
}

.event-register .event-register-guest-add-button:hover {
	color: #ffffff;
	text-decoration: none;
	background-color: #343434;
}

.event-register .card-info-holder {
	width: 50%;
	box-sizing: border-box;
	border: solid 1em #dfdfdf;
	padding: 1em;
	border-radius: 1em;
	margin-bottom: 2em;
}

.event-register .card-info-holder .visa-mastercard,
.event-register-guest-editor .visa-mastercard {
	width: 5em;
	display: inline-block;
	vertical-align: middle;
}

.event-register .card-info-holder .event-register-card-expiration-date-input,
.event-register-guest-editor .card-expiration-date-input {
	width: 5em;
}

.event-register .card-info-holder .event-register-card-security-code-input,
.event-register-guest-editor .card-security-code-input {
	width: 3em;
}

.event-register .card-info-holder .event-register-card-zip-input,
.event-register-guest-editor .card-zip-input {
	width: 10em;
}

.event-register .payment-review-holder {
	display: flex;
	margin-bottom: 2em;
	justify-content: space-between;
}

.event-register .payment-review-holder .card {
	flex-basis: 48%;
	box-sizing: border-box;
	flex-grow: 0;
	flex-shrink: 0;
}

.event-register .payment-review-holder .breakdown {
	flex-basis: 48%;
	box-sizing: border-box;
	flex-grow: 0;
	flex-shrink: 0;
	border: solid 1em #dfdfdf;
	border-radius: 1em;
	padding: 1em;
}

.event-register .payment-review-holder .breakdown .guest-holder {
	margin-bottom: 1em;
}

.event-register .payment-review-holder .breakdown .guest-holder .name {
	margin-bottom: 0.3em;
	font-weight: 700;
}

.event-register .payment-review-holder .breakdown .guest-holder .activities {
	padding-left: 1.5em;
}

.event-register .payment-review-holder .breakdown .guest-holder .activities .activity-holder {
	font-size: 0.8em;
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.2em;
}

.event-register .payment-review-holder .breakdown .guest-holder .activities .activity-holder .title {
	font-weight: 300;
}

.event-register .payment-review-holder .breakdown .guest-holder .activities .activity-holder .amount {
	font-weight: 700;
}

.event-register .payment-review-holder .breakdown .total {
	font-size: 1.3em;
	display: flex;
	justify-content: space-between;
	font-weight: 700;
}

.event-register .outlinebox {
	padding: 1em;
	border: solid 1em #dfdfdf;
	border-radius: 1em;
	margin-bottom: 2em;
}

.event-register-guest-editor .content {
	max-height: 100%;
	overflow: auto;
}

.event-register-guest-editor .guest-holder {
	margin-bottom: 1em;
}

.event-register-guest-editor .guest-holder .event-register-guest-editor-edit-button {
	transition: color 0.2s, background 0.2s;
	color: #212121;
}

.event-register-guest-editor .guest-holder .event-register-guest-editor-edit-button:hover {
	color: #ffffff;
	background-color: #212121;
	text-decoration: none;
}

.event-register-guest-editor .guest-holder .event-register-guest-editor-delete-button {
	display: inline-block;
	position: relative;
	margin-left: 1em;
	vertical-align: middle;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #212121;
	opacity: 0;
	transition: opacity 0.2s, transform 0.2s;
}

.event-register-guest-editor .guest-holder .event-register-guest-editor-delete-button:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 60%;
	background-color: #ffffff;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.event-register-guest-editor .guest-holder .event-register-guest-editor-delete-button:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 60%;
	background-color: #ffffff;
	transform: translate(-50%, -50%) rotate(45deg);
}

.event-register-guest-editor .guest-holder:hover .event-register-guest-editor-delete-button {
	opacity: 1;
}

.event-register-guest-editor .guest-holder .event-register-guest-editor-delete-button:hover {
	transform: scale(1.3);
}

.event-register-guest-editor input[type="text"],
.event-register-guest-editor input[type="password"] {
	outline: none;
}

.event-register-guest-editor textarea {
	height: 4em;
	outline: none;
}

.event-register-guest-editor .event-register-guest-editor-error {
	margin-bottom: 1em;
	padding: 1em;
	background-color: #f08b9a;
	border-radius: 2px;
	display: none;
}

.event-register-guest-editor .event-register-guest-editor-success {
	margin-bottom: 1em;
	padding: 1em;
	background-color: #77edc2;
	border-radius: 2px;
	display: none;
}

.event-register-guest-editor .payment-review {
	margin-bottom: 2em;
	padding: 1em;
	border: solid 1em #dfdfdf;
	border-radius: 1em;
}

.event-register-guest-editor .payment-review .guest {
	margin-bottom: 2em;
}

.event-register-guest-editor .payment-review .guest .name {
	font-weight: 700;
	font-size: 1.2em;
}

.event-register-guest-editor .payment-review .guest .activities {
	padding-left: 2em;
	font-size: 0.9em;
}

.event-register-guest-editor .payment-review .guest .activities .activity {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.9em;
}

.event-register-guest-editor .payment-review .total {
	display: flex;
	justify-content: space-between;
	font-size: 1.4em;
	font-weight: 700;
}