/*------------------------------*/
/* general stuff                */
/*------------------------------*/

:root {
	--frm-clr-text: #ffffff;
	--frm-clr-main: #909090;
	--frm-clr-light: #d0d0d0;
	--frm-clr-border: #808080;
	--frm-clr-hover: #606060;
}

body {
	min-height: 100%;
	margin-top: 0;
	color: #333;
}

/* overwrite eye_base */
@media all and (max-width: 768px) {
	body.layout0 {
		flex-direction: initial;
		align-items: initial;
	}
}

#main {
	position: relative;
	width: 780px;
}

.title {
	font-weight: bold;
	font-size: 1.1em;
	color: #000000;
}

.banner {
	margin: 20px 0 20px 0;
	min-height: 30px;
}

header .logo {
	display: block;
	padding: 20px 0 0 0;
	text-align: right;
	min-height: 30px;
}

header .logo img {
	vertical-align: bottom;
}

div.langswitch {
	margin: 20px 0;
	letter-spacing: 1px;
	position: absolute;
	top: 0;
}

div.langswitch, div.langswitch a {
	text-transform: uppercase;

}

div.langswitch span {
	display: inline-block;
	padding: 0 8px;
	border-left: 1px solid #888888;
}

div.langswitch span:first-child {
	border-left: none;
}

div.progress-bar {
	margin: 20px 0;
	display: flex;
	flex-direction: row;
}

div.progress-bar .step {
	background-color: #eee;
	height: 12px;
	flex-grow: 1;
	margin: 0 2px 0 0;
	position: relative;
}

div.progress-bar .step:last-child {
	margin: 0;
}

div.progress-bar .step.done {
	background-color: #6cba78;
}

div.progress-bar .step.active {
	background-color: #c3ef6b;
}

/*
div.progress-bar .step:after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 0; border-left: 8px solid white; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
div.progress-bar .step:before { content: ""; position: absolute; right: -8px; bottom: 0; width: 0; height: 0; border-left: 8px solid #eee; border-top: 8px solid transparent; border-bottom: 8px solid transparent; } 
div.progress-bar .step.done:before { border-left: 8px solid #6cba78; } 
div.progress-bar .step.active:before { border-left: 8px solid #bde769; } 
*/

h1, h4 {
	display: block;
	color: #000;
	font-size: 1.25em;
	font-weight: bold;
	margin-left: 3px;
	border-bottom: 1px solid black;
	padding: 4px 0;
	line-height: 1.35em;
	margin: 5px 0 !important;
}

h2 {
	font-size: 1.15em;
	padding-bottom: 10px;
	color: #707070;
}

h3 {
	font-size: 1.1em;
	padding-bottom: 0;
}

h4 {
	font-size: 1.1em;
	clear: both;
}

h5 {
	display: block;
	font-size: 1.1em;
	font-weight: bold;
	margin-left: 3px;
	padding: 4px;
	line-height: 1.35em;
	margin: 15px 0 !important;
}

div.user-checkin-pi1 ul, #my_popup ul {
	list-style: initial;
}

div.page_block > h4 {
	margin-top: 1.5em !important;
}

div.user-checkin-pi1 {
	padding-bottom: 20px;
}

.right {
	text-align: right;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.float_clear {
	clear: both;
}

.nextprev_page {
	margin: 15px 0;
	display: flex;
}

.subitem .nextprev_page {
	margin: 5px 0 0 0;
}

.bodytext {
	margin: 0 0 1em 0;
}

p {
	padding: 5px 0;
}

.intro_text:not(:empty) {
	margin-bottom: 1.5em;
}

.footer_text {
	margin-top: 1em;
}

.custom-footer {
	position: absolute;
	bottom: 0;
	margin: 15px 0;
	width: calc(100% - 40px);
	display: flex;
	justify-content: space-between;
}
.custom-footer.flex > div {
	padding-right: 1em;
}

.custom-footer.flex > div:last-child {
	padding-right: 0;
}

.has-custom-footer div.user-checkin-pi1 {
	padding-bottom: 40px;
}

.row {
	padding: 10px 2px;
	clear: both;
}

.row.part_data {
	display: block;
}

.row label {
	width: 45%;
	float: left;
	line-height: 2em;
}
.row label.uploader {
	width: auto;
	float: none;
}

.row .col_left {
	width: 45%;
	float: left;
}

.row .col_right {
	width: 55%;
	float: left;
}

.col_right.toggle_part {
	line-height: 2em;
	display: flex;
	align-items: center;
}

.step_access label {
	display: inline-block;
	width: 125px;
}

.step_access input.user_checkin_pi1_voucher {
	width: 200px;
}

div.code input.user_checkin_pi1_voucher {
	margin-bottom: 1em;
}

.event_info .row .col_right {
	width: auto;
}

.row.prices .col_right {
	width: auto;
	text-align: right;
}

.row.prices .col_right div {
	text-align: right;
}

.row.prices > div > div {
	padding: 5px 0;
}

.row .oline, tr.oline td {
	border-top: 1px solid #bbb;
}
.row .uline, tr.uline td {
	border-bottom: 1px solid #bbb;
}

.event2 .row .col_left {
	width: 250px;
	float: left;
}

.event2 .row .col_right {
	width: 525px;
	float: left;
}

.tableindex {
	border-spacing: 2px;
	width: 100%;
}

th {
	padding-bottom: 5px;
	text-transform: uppercase;
	vertical-align: top;
	text-align: left;
	font-weight: normal;
}

td {
	padding-bottom: 5px;
	vertical-align: top;
}

td p, .row p {
	padding: 0 !important;
	margin: 0;
}

.row.infotext {
	padding: 15px 2px 5px 2px;
}

.row.infotext p {
	margin: 0.5em 0;
}

.row .description p {
	padding: 0.5em;
}

.description {
	margin-bottom: 0.5em;
}

.description ul, .subDetail ul, .catDetail ul, .my_popup_body ul, .step_confirmation ul {
	padding-left: 1.5em;
}

.description ol, .subDetail ul, .catDetail ol, .my_popup_body ol, .step_confirmation ol {
	padding-left: 2em;
}

.user-checkin-pi1 table {
	font-size: 1em;
}

dt {
	font-weight: bold;
}
dd {
	margin: 0 0 0.5em 1em;
}

.my_popup_body dd:last-child {
	margin-bottom: 0;
}

.loadingoverlay.upload::after {
	content: attr(title);
	color: white;
	margin-top: 1em;
	font-size: 1.25rem;
	position: absolute;
	top: calc(50% + 2em);
}

.status-overlay {
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1em;
	background-color: #d0d0d0;
	border-radius: 3px;
	color: white;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
	margin: 20px;
	padding: 10px 15px;
	position: fixed;
	z-index: 100;
	left: 0;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.4);
	top: 0;
	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.4);
}

.status-overlay.top-right {
	left: unset;
	right: 0;
}

.status-overlay-0 {
	background-color: #6daae0;
	padding: 10px 35px 10px 15px;
}
.status-overlay-1 {
	background-color: #f8ba00;
}
.status-overlay-2, .status-overlay-adm.new {
	background-color: limegreen;
}
.status-overlay-adm {
	background-color: red;
	padding: 10px 35px 10px 15px;
}

.closer {
	display: inline-block;
	position: absolute;
	height: 20px;
	width: 20px;
	top: 6px;
	right: 8px;
	background: transparent url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICB2ZXJzaW9uPSIxLjAiCiAgIGlkPSJMYXllcl8xIgogICBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTEiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnM5IiAvPjxnCiAgICAgaWQ9ImczIj48cGF0aAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIKICAgICAgIGlkPSJwYXRoNSIKICAgICAgIGQ9Ik0xMiwyQzYuNSwyLDIsNi41LDIsMTJjMCw1LjUsNC41LDEwLDEwLDEwczEwLTQuNSwxMC0xMEMyMiw2LjUsMTcuNSwyLDEyLDJ6IE0xNi45LDE1LjVsLTEuNCwxLjRMMTIsMTMuNGwtMy41LDMuNSAgIGwtMS40LTEuNGwzLjUtMy41TDcuMSw4LjVsMS40LTEuNGwzLjUsMy41bDMuNS0zLjVsMS40LDEuNEwxMy40LDEyTDE2LjksMTUuNXoiIC8+PC9nPjwvc3ZnPg==") no-repeat;
}
.status-overlay a {
	margin-top: 4px;
}

.simtime {
	margin-top:0.5em;
	color: yellow;
	font-size: 0.9em;
}
.status-overlay-1 .simtime {
	color: #f3ff98;
}

.label {
	padding: .25em .6em;
	color: #fff;
	background-color: #909090;
	text-align: center;
	white-space: nowrap;
	border-radius: .25em;
}

.label.small {
	padding: .15em .3em;
}

.icon-label {
	padding-left: 0.35em;
}

.payment_status_0, .invitation_status_0 { background-color: #777; }
.payment_status_1, .invitation_status_1 { background-color: #f0ad4e; }
.payment_status_2, .invitation_status_2 { background-color: #4caf50; }
.payment_status_5 { background-color: #f0ad4e; }
.payment_status_9 { background-color: #5bc0de; }
.payment_status_10 { background-color: #337ab7; }
.payment_status_15, .invitation_status_3 { background-color: #d9534f; }
.payment_status_98, .payment_status_99 { background-color: #913230; }
.invitation_status_4 { background-color: #944; }

.invStatus {
	display: inline-block;
	padding: 0 0.25em;
}

.status-date {
	display: flex;
	flex-wrap: wrap;
	padding: 0 2em;
}

.status-date span {
	white-space: nowrap;
}

.status-date span:first-child {
	padding-right: 1em;
}

/*------------------------------*/
/*forms                         */
/*------------------------------*/

:-ms-input-placeholder { /* IE 10+ */
	color: #c0c0c0 !important;
}

input, select, textarea, button, output {
	font-family: Arial, Helvetica , sans-serif;
	font-size: 1.1em;
}

input[inert], select[inert], textarea[inert],
input:disabled, select:disabled, textarea:disabled, button:disabled {
	background: #e8e8e8 !important;
	color: #a0a0a0 !important;
	cursor: not-allowed !important;
}

.input-group[inert] label {
	color: var(--frm-clr-main);
}
.input-group[inert] input[type="checkbox"], .input-group[inert] input[type="radio"] {
	border-color: var(--frm-clr-light);
}
.input-group[inert] input[type="checkbox"]:checked, .input-group[inert] input[type="radio"]:checked {
	background-color: var(--frm-clr-light);
	border-color: var(--frm-clr-light);
}
.input-group[inert] input[type="radio"]:checked {
	background: radial-gradient(1.25rem circle at center, rgb(255,255,255) 50%, transparent 51%);
}

.inputfield input,
.inputfield output,
.inputfield textarea,
.selectfield select,
select.selectfield,
.tx-felogin-pi1 input,
.frame-type-felogin_login input,
input.user_checkin_pi1_voucher {
	background-color: #f5f5f5;
	border-top: solid 1px #c3c3c3;
	border-left: solid 1px #c3c3c3;
	border-bottom: 0px;
	border-right: 0px;
	color: #555555;
	display: inline-block;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	padding: 2px;
	position: relative;
	text-align: left;
	width: 90%;
	height: 1.8em;
	box-sizing: border-box;
}

.inputfield output {
	width: auto;
	min-width: 2.5em;
	text-align: center;
	margin-right: 0.5em;
}

.inputfield output, .inputfield input[type="range"] {
	display: inline-block;
	vertical-align: middle;
}

.inputfield input[type="range"] {
	width: calc(90% - 3.5em);
}

.inputfield input[type="color"] {
	width: 3em;
	border: none;
	background-color: transparent;
}

#searchform {
	margin-bottom: 0.5em;
	position: relative;
}

#searchform #clearsearch {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 2.7em;
	min-width: unset;
	margin: 0;
	padding: 0;
	border-radius: 0 4px 4px 0;
	border-top: solid 1px #c3c3c3;
}

input.searchterm {
	width: 100%;
}

input.user_checkin_pi1_voucher {
	width: 180px;
	margin: 0 10px 10px 0;
}

input.user_checkin_pi1_category_amount {
	width: 4em;
	text-align: right;
}

.inputfield input[type=text], .inputfield textarea {
	padding-left: 6px;
}

.inputfield textarea {
	height: 4em;
	vertical-align: baseline;
}

.inputfield textarea.user_checkin_pi1_address {
	height: 3em;
}

.inputfield textarea.user_checkin_pi1_invitation_text {
	height: 15em;
}

label > input.radiobutton, label > input.checkbox {
	display: inline-block;
	height: 1.1em;
	margin-right: 12px;
	width: 1.1em;
	flex: none;
}

label > input.checkbox {
	margin-right: 9px;
}

label.radiobutton, label.checkbox {
	font-weight: normal !important;
	display: flex;
	align-items: center;
	float: none;
	margin-bottom: 0.5em;
	padding: 0;
	width: auto;
}
label.radiobutton:last-child, label.checkbox:last-child {
	margin-bottom: 0;
}

.alert, .booked_out {
	color: #e00000;
}

div.alert {
	padding: 1em 0;
}

.missing {
	color: #d80000;
}

span.required {
	padding-left: 3px;
}
.uploadfield span.required {
	margin-top: 10px;
	display: inline-block;
}

input.missing, textarea.missing, select.missing, .ui-selectmenu-button.missing {
	background-color: #ffdfe2 !important;
}

.input-group {
	width: 90%;
	display: inline-block;
	vertical-align: text-top;
}
.cat-extra .input-group {
	width: 95%;
}

.input-group.missing {
	background-color: #ffdfe2;
	box-shadow: 0px 0px 4px 2px #ffdfe2;
}

label.missing .btn, input[type=submit].focus {
	box-shadow: 0px 0px 6px 3px rgba(225, 135, 135, 0.9);
}

.inputfield input[type=checkbox] {
	width: 1.1em;
	padding: 0;
}

.address_block, .address_item {
	margin: 10px 0;
}

.address_item .expand {
	cursor: pointer;
}

.summary_block {
	margin-bottom: 1.5em;
}
.summary_block:after {
	content: '';
	display: block;
	clear: both;
}

.payment_mode, .checkin_payment_epay {
	margin: 1.5em 0;
}

.payment_mode label {
	display: inline-block;
	margin-right: 3em;
}
.payment_mode label > input {
	margin-right: .25em;
}

.terms, .legal {
	margin-top: 1em;
}

.terms label, .legal label {
	display: block;
	margin-left: 25px;
}

.terms a, .legal a {
	text-decoration: underline;
}

.toggle_part input.user_checkin_pi1_participant_toggle {
	margin-top: 2px;
}
.toggle_part label {
	display: block;
	margin-left: 15px;
	line-height: inherit;
	flex-grow: 1;
}

span.btn, a.btn {
	line-height: 1.5em;
}
.user-checkin-pi1 span.btn.small, .user-checkin-pi1 a.btn.small, .user-checkin-pi1 button.btn.small {
	line-height: 1em;
	padding: .3em .4em;
	font-size: 0.8rem !important;
}

.user-checkin-pi1 .message .btn {
	margin: 0 0 0 1em;
	white-space: nowrap;
}

.nextprev_page a.btn {
	line-height: 1rem;
}

.user-checkin-pi1 button.btn.invite {
	margin: 1em 0 0 0;
}

#my_popup button,
.user_checkin_pi1_add_voucher,
.user_checkin_pi1_check_access,
.user_checkin_pi1_delete_photo,
.user-checkin-pi1 span.btn, .user-checkin-pi1 a.btn, .user-checkin-pi1 button.btn,
.tx-felogin-pi1 input[type=submit],
.frame-type-felogin_login input[type=submit] {
	display: inline-block;
	vertical-align: top;
	position: relative;
	font-weight: normal !important;
	font-size: 1.1em !important;
	cursor: pointer;
	color: var(--frm-clr-text) !important;
	margin: 0 10px 10px 0;
	padding: .4em 1em;
	text-decoration: none !important;
	border: none;
	background-color: var(--frm-clr-main);
	-webkit-border-radius: 1px;
	border-radius: 1px;
	-webkit-appearance: none;
}

#main .user-checkin-pi1 .message-primary .btn, #main .user-checkin-pi1 button.btn.primary {
	background-color: #2d86d2;
	border: none;
}
#main .user-checkin-pi1 .message-success .btn, #main .user-checkin-pi1 button.btn.success {
	background-color: #317939;
	border: none;
}
#main .user-checkin-pi1 .message-warning .btn, #main .user-checkin-pi1 button.btn.warning {
	background-color: #664d03;
	border: none;
}
#main .user-checkin-pi1 .message-danger .btn, #main .user-checkin-pi1 button.btn.danger, #main .user_checkin_pi1_delete_photo.danger {
	background-color: #961c27;
	border: none;
}

#my_popup button:hover,
.user_checkin_pi1_add_voucher:hover,
.user_checkin_pi1_check_access:hover,
.user_checkin_pi1_upload_file:hover,
.user_checkin_pi1_delete_photo:hover,
.user-checkin-pi1 span.btn:hover, .user-checkin-pi1 a.btn:hover, .user-checkin-pi1 button.btn:hover {
	background: var(--frm-clr-hover);
}

#main .user-checkin-pi1 .message-primary .btn:hover, #main .user-checkin-pi1 button.btn.primary:hover {
	background-color: #1f8be7;
}
#main .user-checkin-pi1 .message-success .btn:hover, #main .user-checkin-pi1 button.btn.success:hover {
	background-color: #348a3e;
}
#main .user-checkin-pi1 .message-warning .btn:hover, #main .user-checkin-pi1 button.btn.warning:hover {
	background-color: #8c6b06;
}
#main .user-checkin-pi1 .message-danger .btn:hover, #main .user-checkin-pi1 button.btn.danger:hover, #main .user_checkin_pi1_delete_photo.danger:hover {
	background-color: #c31e2d;
}

.user_checkin_pi1_add_voucher,
.user_checkin_pi1_check_access,
.user_checkin_pi1_delete_photo,
label.uploader span.btn {
	font-size: 1em!important;
	margin-top: 0.25em;
	line-height: 1.25em;
}

.user_checkin_pi1_add_voucher,
.user_checkin_pi1_check_access {
	margin-top: 0;
}

#main .user-checkin-pi1 .message-primary .user_checkin_pi1_add_voucher {
	background-color: #2d86d2;
}

.nextprev_page .user_checkin_pi1_next.btn {
	margin-left: auto;
	margin-right: 0;
}

input[type="file"] {
	cursor: pointer;
	display: block;
	font-size: 10px;
	opacity: 0;
	position: absolute;
	right: -5px;
	top: 0;
	width: 5px;
}

.row.subevent.disabled {
	color: rgba(0, 0, 0, 0.4);
	cursor: not-allowed;
}

.row.subevent.disabled .catItem {
	border-color: rgba(0, 0, 0, 0.4);
}
.row.subevent.disabled .user_checkin_pi1_subevent {
	opacity: 1;
}

.user_checkin_pi1_subevent {
	float: left;
}

.user_checkin_pi1_subevent[readonly], .inputfield input[type="checkbox"].readonly, .drafthide {
	opacity: 0.4;
	pointer-events: none;
}

.softhide .user_checkin_pi1_subevent[readonly] {
	display: none;
}

.subevent_group {
	margin-top: 2em;
}

.subevent_group.inactive {
	display: none;
}

.subevent_group:first-child {
	margin-top: 1em;
}

.subInfo {
	margin-left: 30px;
	line-height: 1.5em;
	padding-bottom: 2px;
	position: relative;
}

.subevent.softhide .subInfo {
	margin-left: 0;
}

.subevent.nogroup, .catItem.nogroup {
	opacity: 0.5;
}

.user_checkin_pi1_category {
	position: relative;
	z-index: 10;
	float: right;
	margin: 0 0 0 10px;
}

.user_checkin_pi1_category.booked_out {
	float: unset;
}

.row.subevent > .col_left {
	width: 50%;
	box-sizing: border-box;
	padding-right: 10px;
}

.row.subevent .sub_data {
	display: flex;
	flex-direction: row;
}

.sub_layout_8 .row.subevent .sub_data {
	flex-direction: column;
}

.sub_data .sub_details {
	flex-grow: 1;
}

.sub_data .sub_cal {
	margin: 0 0 1em 2em;
}

.row.subevent > .col_right {
	text-align: right;
	width: 50%;
}

.sub_layout_1 .row.subevent > .col_right {
	width: 35%;
}

.sub_layout_1 .row.subevent > .col_left {
	width: 65%;
}

.sub_layout_2 .row.subevent > .col_right {
	width: 66%;
}

.sub_layout_2 .row.subevent > .col_left {
	width: 34%;
}

.sub_layout_3 .row.subevent > .col_right, .sub_layout_8 .row.subevent > .col_right, .sub_layout_9 .row.subevent > .col_right {
	width: 100%;
	margin: 0;
	padding-top: 6px;
}

.sub_layout_3 .row.subevent > .col_left, .sub_layout_8 .row.subevent > .col_left, .sub_layout_9 .row.subevent > .col_left, .sub_layout_10 .row.subevent > .col_left, .sub_layout_11 .row.subevent > .col_left {
	width: 100%;
	float: none;
	padding-right: 0;
}
.sub_layout_4 {
	display: none;
}

.catItem, .sub_layout_3 .cat_toggle {
	margin: 0 0 5px 10px;
	line-height: 1.5em;
	padding-top: 4px;
	border-top: 1px solid #001155;
}

.catItem:first-child {
	padding-top: 0;
	border-top: none;
}

.catItem:last-child {
	padding-bottom: 4px;
	border-bottom: 1px solid #001155;
}

.catItem span.booked_out:not(.ui-selectmenu-button) {
	line-height: 1em;
}

.sub_layout_3 .cat_toggle {
	text-align: left;
}

.sub_layout_3 .catItem, .sub_layout_3 .cat_toggle, .sub_layout_8 .catItem, .sub_layout_9 .catItem {
	margin: 0 0 5px 30px;
}

.sub_layout_3 .softhide .catItem, .sub_layout_3 .softhide .cat_toggle, .sub_layout_8 .softhide .catItem, .sub_layout_9 .softhide .catItem, .cockpit .sub_layout_3 .catItem {
	margin-left: 0;
}

.cockpit .sub_layout_3 .catItem h3 {
	text-align: left;
}

.sub_layout_3 .catItem:first-child, .catGroup > .catItem:first-child {
	padding-top: 4px;
	border-top: 1px solid #001155;
}

.sub_layout_3 .catItem:last-child {
	border-bottom: none;
}

.sub_layout_8 .catItem, .sub_layout_9 .catItem {
	padding: 4px 0;
	border-top: none;
	border-bottom: 1px solid #001155;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.sub_layout_8 .catItem {
	margin-left: 0;
}

.sub_layout_8 .catItem.first, .sub_layout_9 .catItem.first {
	border-top: 1px solid #001155;
}

.catItem.cat_layout_1 {
	margin-left: 35px;
}

.cat_layout_1 .catTitle .catIcon {
	position: absolute;
	left: -35px;
	margin-right: 5px;
}

.catItem.cat_layout_3 {
	display: none;
}

.col_left .toggler {
	margin-left: 30px;
}
.softhide .col_left .toggler {
	margin-left: 0;
}

.catItem .toggler {
	text-align: left;
	margin-top: 5px;
}

.autotoggler {
	cursor: pointer;
}

.autotoggler::after {
	content: "\f0fe";
	margin-left: 0.5em;
	font-weight: 900;
	font-size: 1.2em;
	font-family: "Font Awesome 5 Free";
	opacity: 0.6;
}

.autotoggler.open::after {
	content: "\f146";
}

.togglee {
	visibility: hidden;
	margin-top: -100%;
	opacity: 0;
	transition: opacity 0.4s;
}

.togglee.open {
	visibility: visible;
	margin-top: 0px;
	opacity: 1;
}

.catItem .catDetail {
	margin-top: 5px;
	text-align: left;
}

.catInfo {
	position: relative;
}

.sub_layout_8 .catInfo, .sub_layout_9 .catInfo {
	flex-grow: 1;
}

.catTitle {
	float: left;
	width: 90%;
	padding-right: 5px;
	text-align: left;
}
.sub_layout_1 .catTitle {
	width: 85%;
}

.catItem.calendar .catTitle {
	float: none;
}

.dmode-1 .catTitle {
	width: auto;
}

.catIcon {
	display: inline-block;
	width: auto;
}

.catTitleRow {
	position: relative;
}

.catItem.calendar .catInput {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin: 0 0 0 1.5em;
}

.detail-link {
	padding: 5px 0 6px 0;
}

.subDetail, .catDetail {
	margin-left: 30px;
}
.softhide .subDetail {
	margin-left: 0;
}

.sub_layout_3 .subDetail, .sub_layout_3 .catDetail {
	margin-bottom: 9px;
}

.sub_layout_10 .subDetail, .sub_layout_10 .subInfo, .sub_layout_10 .col_left .toggler {
	margin-left: 0;
}

.col_right .catDetail {
	margin-left: 0;
}

.step_event .row, .step_eventplus .row {
	padding: 5px 0;
}

.event_info {
	margin: 15px 0 20px 0;
}

.subDetail .row .col_left {
	width: 30%;
	padding-right: 5px;
}

.sub_layout_1 .subDetail .row .col_left, .sub_layout_3 .subDetail .row .col_left {
	width: 25%;
}

.sub_layout_2 .subDetail .row .col_left {
	width: 35%;
}

.event_info .row .col_left {
	width: 25%;
}

.orderItem.row {
	padding-top: 3px;
}

.subitem {
	border-top: 1px solid #001155;
	margin-bottom: 2em;
}

h1 + .allsub .subitem.first_sub {
	border-top: none;
}

.subitem.sub_layout_10, .subitem.sub_layout_11 {
	padding-top: 0.5em;
	margin-bottom: 1em;
}

.subitem.inactive {
	border: none;
	margin: 0;
}

.subitem.inactive + .subitem {
	border: none;
}

.sub_intro {
	padding-bottom: 10px;
}

.step_eventplus .sub_intro {
	border-bottom: none;
}

h4 + .subitem, h1 + form .sub0 > .subitem.first_sub {
	border-top: none;
}

.subevent_group h4 + .subitems .subitem:first-child {
	border-top: none;
}

.subevent_group .sub_intro + .subitems .subitem.inactive ~ .subitem:not(.inactive) {
	border-top: 1px solid #001155;
}

.subitems .subitem.inactive + .subitem {
	border-top: none;
}

.hide {
	display: none !important;
}

.block_left {
	float: left;
	width: 45%;
}
.block_left label {
	width: 100%;
}

.block_right {
	float: left;
	line-height: 20px;
	width: 55%;
}

.upload-maxsize, .block_right label {
	width: 90%;
}

span.field_info {
	font-style: italic;
	padding: 2px 5px;
	display: inline-block;
	line-height: 1.3em;
	font-size: 0.85em;
	color: rgba(0,0,0,0.6);
}

.col_right span.field_info, .block_right span.field_info {
	padding: 3px 5px;
	font-size: 0.9em;
	letter-spacing: 0.02em;
}

.block_right .upload-maxsize + br {
	display: none;
}

.block_right .upload-maxsize + br + span {
	padding: .75em 0 3px 0;
}

.flex {
	display: flex;
}

.justified-items {
	justify-content: space-between;
	align-items: center;
}

.grow {
	flex-grow: 1;
}

.upload-file img {
	border: 1px solid #f0f0f0;
}

.file-link {
	display: flex;
	align-items: normal;
}

.file-link > .icon {
	margin-right: 0.5em;
}

.print-link {
	display: inline-block;
	padding-left: 0.4em;
}

table.oitems {
	width: 100%;
	margin: 0.75em 0;
}
table.oitems td {
	padding: 3px 0;
}

table.oitems col.col1 {
	width: 25%;
}
table.oitems col.col2 {
	width: 5%;
}
table.oitems col.col3 {
	width: 50%;
}
table.oitems col.col4 {
	width: 20%;
}

.tickets, .passes {
	padding-left: 1.6em;
	margin-top: 0.25em;
}

.ticketItem, .passItem {
	display: flex;
	align-items: center;
}

.ticketItem div:first-child, .passItem div:first-child {
	padding-right: 0.5em;
}

/* extra category data */
.extraItem {
	padding-left: 30px;
}

.extraItem:before {
	content: '\2013\00A0';
	margin-left: -10px;
}

.extraItem:last-child {
	margin-bottom: 5px;
}

td > .extraItem {
	padding-left: 0;
}

.cat-extra {
	background-color: rgba(128,128,128,0.15);
	border-radius: 3px;
	margin: 4px 0;
	padding: 4px 12px 8px 4px;
}
.sub_layout_1 .cat-extra {
	text-align: left;
	padding: 4px 8px 8px 6px;
}

.sub_layout_1 .cat-extra .flex {
	flex-direction: column;
}

.cat-extra label {
	float: none;
	padding: 4px 10px 0 0;
	line-height: 1.5em;
}

.sub_layout_1 .cat-extra label {
	padding: 4px 2px 2px 4px;
	width: auto;
}

.cat-extra label.radiobutton {
	margin-bottom: 0.2em;
	text-align: left;
}

.cat-extra span.required {
	padding: 0;
	position: absolute;
	right: -8px;
	margin-top: 5px;
	color: #555555;
}

.sub_layout_1 .cat-extra span.required {
	right: -3px;
}

.cat-extra .input {
	width: 100%;
	position: relative;
}

.cat-extra .inputfield {
	padding-top: 5px;
}

.cat-extra .inputfield input[type=text] {
	width: 95%;
	background-color: #fcfcfc;
}

.cat-extra .inputfield textarea {
	width: 95%;
	background-color: #fcfcfc;
}

.cat-extra select.selectfield {
	width: 95%;
	background-color: #fcfcfc;
}

.sub_layout_3 .cat-extra {
	margin-left: 35%;
}

.sub_layout_3 .cat-extra .input {
	min-width: 60%;
}

.sub_layout_3 .cat_layout_1 .cat-extra {
	margin-left: 232px;
}

.cat-amount, .cat-slot, .cat-units {
	padding: 3px 0;
}

.cat-amount select.user_checkin_pi1_category_amount {
	text-align: right;
	width: 4em;
}
.cat-slot select.user_checkin_pi1_category_slot {
	width: auto;
}

.cat-units {
	display: flex;
	justify-content: flex-end;
}

.cat-units > span {
	padding-right: 0.25em;
}

.cat-units select.user_checkin_pi1_category_units {
	width: fit-content;
}

.cat-units select.user_checkin_pi1_category_units[multiple] {
	height: 6em;
}

.cat-units select.user_checkin_pi1_category_units option {
	padding: 0 0.25em;
	text-align: right;
}

.cat-units select.user_checkin_pi1_category_units option:disabled {
	color: #e00000;
}

/* seat units */
.seat-cats {
	text-align: left;
	padding: 4px 0;
	border-bottom: 1px solid #001155;
	margin-bottom: 5px;
}

.seating input.user_checkin_pi1_category {
	visibility: hidden;
	position: absolute;
}

.seating input.user_checkin_pi1_category_amount {
	border: none;
}

#my_seats .seat {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid black;
	border-radius: 4px;
	padding: 0.5em 0.75em;
	margin-bottom: 0.25em;
	background-color: var(--frm-clr-main);
	color: var(--frm-clr-text);
}

#my_seats .delunit {
/*	background-color: red;
	color: white;
	font-size: 2em;
	height: 1em;
	width: 1em;
	line-height: 1em;
	text-align: center;
	border-radius: 3px;
	font-weight: bold; */
	cursor: pointer;
}

#my_seats .selectfield select {
	width: 100%;
}

#my_seats .selection {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#my_seats .selection .delunit {
	margin-left: 20px;
}

#summary_seats {
	display: flex;
	justify-content: space-between;
	border: 1px solid black;
	border-radius: 4px;
	padding: 0.5em 0.75em;
	margin-bottom: 0.25em;
	background-color: var(--frm-clr-light);
}

/* participants (+ units) */
.participants, .units {
	padding-left: 20px;
}

.participants h3, .units h3, .tickets h3, .passes h3 {
	margin: 0.5em 0 0.25em 0;
}

.participant {
	text-indent: 1em hanging;
}

.participant .part-label {
	font-weight: bold;
}

.participant .extraData {
	margin-bottom: 0.5em;
}

.participant .invitation-sent, .participant .invitation-reply, .participant .invitation-expire {
	margin-top: 0.5em;
	font-size: 0.8rem;
}

.step_review .top-buttons .btn {
	margin: 0.5em 0;
}

.participants.pills {
	padding: 0;
}

.step_show .participants.pills {
	margin-top: 1.5em;
}

.participants.pills .participant {
	border: 1px solid #ccc;
	border-radius: 4px;
	margin-bottom: 0.5em;
	min-width: 300px;
}

.participants.pills .participant .head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #f4f4f4;
	font-weight: bold;
	padding: 5px 8px;
}

.participants.pills .participant .head .btn, .address .edit a.btn, .address .add a.btn, .regfields .edit a.btn  {
	margin: 0;
}

.participants.pills .participant .data {
	padding: 0;
	font-size: 0.9em;
	height: 0;
	overflow: hidden;
}
.participants.pills .participant .data.open {
	padding: 5px 8px 0 8px;
	height: auto;
}

.participants.pills .participant .status_1 {
	padding: 5px 8px;
}

.participants.pills .participant .data.open + .status.status_1 {
	border-top: 1px solid #ccc;
}

.participants.pills .participant .extraItem {
	padding-left: 0;
	margin-bottom: 0;
}

.participants.pills .participant .extraItem:before {
	margin-left: 0;
}

.participants.pills .participant .edit {
	display: flex;
}

#main .user-checkin-pi1 .participant .edit a.btn.small,
#main .user-checkin-pi1 .address .edit a.btn.small,
#main .user-checkin-pi1 .regfields .edit a.btn.small {
	padding: 2px;
	width: 1.25em;
	height: 1.25em;
	border-radius: 2px;
}



.oitems span.unit {
	display: inline-block;
	border: 1px solid rgba(0,0,0,.5);
	border-radius: 4px;
	padding: 0.2em 0.35em;
	vertical-align: baseline;
	line-height: 1;
	margin: 0 0.25em 0.2em 0;
}


.step_profile h1 {
	margin-bottom: 1em !important;
}

.step_profile .records {
	margin: 1.5em 0;
	padding: 0;
}

.step_profile .registrations .registration {
	border-top: 1px solid #c0c0c0;
	padding: 5px 0;
}

.step_profile .registrations .registration .col1 {
	flex: 0 0 80px;
}
.step_profile .registrations .registration .col2 {
	flex: 1;
}
.step_profile .registrations .registration .col3 {
	flex: 1;
}
.step_profile .registrations .registration .col4 {
	flex: 0 0 125px;
}

.reply-form {
	margin-bottom: 2em;
}

.reply-form .flex .btn {
	margin: 0;
}

.reply-form .flex div:first-child {
	margin-right: 3em;
}

.reply-comment {
	margin-top: 0.5em;
}
.reply-comment div:first-child {
	margin-right: 1em;
}

.step_edit .reply-comment.flex {
	flex-direction: column;
}

/* flash messages */

.message {
	padding: .75rem 1rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: .25rem;
	box-sizing: border-box;
	width: 100%;
}

#main .message a, #main .message a:hover {
	color: inherit;
	text-decoration: underline;
}

.message-inline {
	padding: .25rem 0.5rem;
	margin: 0.25rem 0;
}

.message-primary {
	color: #004085;
	background-color: #cce5ff;
	border-color: #b8daff;
}

.message-success {
	color: #1c6c25;
	background-color: #d4edd7;
	border-color: #c3e6cb;
}

.message-warning {
	color: #856404;
	background-color: #fff3cd;
	border-color: #ffeeba;
}

.message-danger {
	color: #961c27;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}

.message ul {
	padding-left: 1rem;
	margin-top: 0.25rem;
}

.message h3 {
	margin-top: 0.5em;
}

.message h3:first-child {
	margin-top: 0;
}

.user-checkin-pi1 span.btn.success, .user-checkin-pi1 a.btn.success, .user-checkin-pi1 button.btn.success {
	color: #fff;
	background-color: #28a745;
}
.user-checkin-pi1 span.btn.success:hover, .user-checkin-pi1 a.btn.success:hover, .user-checkin-pi1 button.btn.success:hover {
	background-color: #218838;
}

.user-checkin-pi1 span.btn.danger, .user-checkin-pi1 a.btn.danger, .user-checkin-pi1 button.btn.danger {
	color: #fff;
	background-color: #dc3545;
}
.user-checkin-pi1 span.btn.danger:hover, .user-checkin-pi1 a.btn.danger:hover, .user-checkin-pi1 button.btn.danger:hover {
	background-color: #c82333;
}


/* some helper classes */
.top5 { margin-top: 5px; }
.top10 { margin-top: 10px; }
.top15 { margin-top: 15px; }
.top30 { margin-top: 30px; }

.bottom5 { margin-bottom: 5px; }
.bottom10 { margin-bottom: 10px; }
.bottom15 { margin-bottom: 15px; }
.bottom30 { margin-bottom: 30px; }

.w50 { width: 50px; }
.w75 { width: 75px; }
.w100 { width: 100px; }
.w150 { width: 150px; }
.fullwidth { width: 100% !important; }

.h200 { height: 200px !important; }
.h250 { height: 250px !important; }
.h300 { height: 300px !important; }
.h350 { height: 350px !important; }
.h400 { height: 400px !important; }
.h450 { height: 450px !important; }
.h500 { height: 500px !important; }

.small { font-size: 0.9em; }

.color-val {
	width: 4em;
	display: inline-block;
	height: 1rem;
}

.map {
	position: relative;
	height: 200px;
	margin: 0.5em 0;
}
.map iframe {
	border: none;
}

/* felogin */

.tx-felogin-pi1,
.frame-type-felogin_login {
	width: 50%;
	margin: 0 0 1em 185px;
}

.tx-felogin-pi1 legend,
.frame-type-felogin_login legend {
	display: none;
}

.tx-felogin-pi1 fieldset,
.frame-type-felogin_login fieldset {
	border: none;
}

.tx-felogin-pi1 input[type=submit],.tx-felogin-pi1 input,
.frame-type-felogin_login input[type=submit],.frame-type-felogin_login input {
	margin-top: 1em;
}

.tx-felogin-pi1 div label,
.frame-type-felogin_login div label {
	display: inline-block;
	padding-right: 1em;
}

/* fancybox */

.myfancybox {
	font-size: 12px;
	line-height: 16px;
}

.myfancybox span {
	font-weight: bold;
	display: block;
}

.myfancybox ol li {
	list-style-type: decimal;
	list-style-position: inside;
}

#agbText {
	padding: 6px 10px 10px 10px;
}

/* custom popup */

#my_popup {
	color: #606060;
	background-color: #fff;
	border: 1px solid #444;
	border-radius: 5px;
	box-shadow: 0 5px 10px 0 #333;
	width: 90vw;
	max-width: 34em;
}

#my_popup button {
	display: block !important;
	margin: 0.25em auto 0.75em auto !important;
	padding: 4px 12px;
}

.my_popup_title {
	background-color: #f4f4f4;
	padding: 8px 10px;
	box-sizing: border-box;
	border-radius: 5px 5px 0 0;
	font-weight: bold;
}
.primary > .my_popup_title {
	color: #004085;
	background-color: #cce5ff;
}
.success > .my_popup_title {
	color: #1c6c2e;
	background-color: #d4edda;
}
.warning > .my_popup_title {
	color: #856404;
	background-color: #fff3cd;
}
.danger > .my_popup_title {
	color: #961c27;
	background-color: #f8d7da;
}
.my_popup_body {
	padding: 15px 10px;
}

/* datepicker */

.hasDatepicker {
	z-index: 20;
}

/* daterange picker */

.day.toMonth.reserved.invalid {
	color: red;
	background-color: #ffe0e4;
	text-decoration: line-through;
}
.day.toMonth.blocked.invalid {
	background-color: #eee;
	color: #999;
}

#daterange {
	opacity: 0;
}

span.btn.clear-range {
	margin: .25rem 0 .5rem 0;
}

select[readonly=readonly] {
	pointer-events: none;
	appearance: none;
}

input[readonly=readonly] {
	cursor: default;
	outline: none;
}

/* RTE */

.important {
	color: #001155;
	font-weight: bold;
}

.detail {
	color: #2d90ec;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-justify {
	text-align: justify;
}

/* COCKPIT */

div.cockpit {
	border-top: 1px solid black;
}

.cockpit .subInfo {
	margin-left: 0;
	line-height: 1.5em;
}

.cockpit .catTitleRow {
	margin-bottom: 0.75em;
}

.cockpit .catTitle {
	font-weight: bold;
}

.cockpit .slots {
	margin-bottom: 2em;
}

.cockpit .slots h3 {
	border-bottom: 1px solid;
	margin-bottom: 0.5em;
}

.cockpit .slots table {
	width: 100%;
}

.cockpit .slots td {
	vertical-align: middle;
	padding: 0;
}

.cockpit td.slot-label {
	padding-right: 0.5rem;
	white-space: nowrap;
}

.cockpit td.slot-chart {
	width: 100%;
}

.cockpit .bar-chart {
	height: 0.8rem;
	background-color: green;
	position: relative;
}

.cockpit .bar-chart .used {
	position: absolute;
	height: 100%;
	background-color: red;
}

.cockpit .bar-chart .amount {
	position: absolute;
	right: 0;
	color: white;
	padding-right: 4px;
	font-size: 0.8em;
	line-height: 0.8rem;
}

.chart svg > g > g.google-visualization-tooltip {
	pointer-events: none;
}

.chart.bar {
	margin: 10px 0;
}

.registrations {
	padding-bottom: 1.5em;
}

.registrations .regtable {
	background-color: rgba(225,225,225,0.25);
	margin: 1em 0 0.5em 0;
	overflow-x: auto;
}

.registrations table {
	width: 100%;
	border-collapse: collapse;
}

.cockpit .registrations table {
	font-size: 0.9em;
}

.registrations table tbody tr:nth-child(odd) {
	background-color: rgba(225,225,225,0.35);
}

.registrations tr:first-child th {
	padding-bottom: 0.2em;
}

.registrations th:first-child, .registrations td:first-child {
	padding-left: 0.3em;
	padding-right: 0.3em;
}

.registrations th:last-child, .registrations td:last-child {
	padding-right: 0.3em;
}

.registrations th {
	border-bottom: 1px solid #909090;
	text-transform: capitalize;
	font-weight: bold;
	padding: 0.25em;
}

.registrations tbody td {
	padding: 0.5em 0;
	text-align: left;
}

.catItem .registrations tbody td {
	padding: 0.3em inherit;
}

.registrations tbody tr:first-child td {
	padding-top: 0.5em;
}

.registrations td.right {
	text-align: right;
}

.registrations tr:hover td {
	background-color: rgba(200,200,200,0.35);
}

.pagination_block {
	margin-top: 0.75em;
}

.pagination-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pagination {
	display: flex;
	margin: 0.75em 0;
	flex-wrap: wrap;
	align-items: center;
}
.pagination:first-child {
	margin-top: 1.25em;
}
.pagination button.page {
	background: none;
	border: 0;
	color: #2082d5;
	cursor: pointer;
}
.pagination div.page {
	color: #c0c0c0;
	cursor: default;
}
.pagination div.page.ellipsis {
	color: dimgray;
	font-weight: bold;
}
.pagination .page {
	padding: 0 3px 0 0;
	display: inline-block;
	max-height: 1.75rem;
	margin-bottom: 6px;
}
.pagination .page:first-child {
	font-size: 1.25em;
}

.pagination .page a, .pagination .page > span, .pagination span.page {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--frm-clr-main);
	width: 1.75rem;
	height: 1.75rem;
}
.pagination .page a:hover, .pagination button.page span:hover {
	text-decoration: none;
	background-color: #dff0ff;
}
.pagination .page span:hover {
	text-decoration: none;
	background-color: #f0f0f0;
}

.pagination .page a.active, .pagination .page > span.active {
	background-color: var(--frm-clr-main);
	border: 1px solid var(--frm-clr-main);
	color: var(--frm-clr-text);
}

.pagination .page a.active:hover {
	color: var(--frm-clr-text) !important;
}

select.selectfield.pagesize {
	width: auto;
	text-align: right;
}

.datesel label {
	font-weight: bold;
	clear: both;
	flex: ;
	flex-grow: 1;
	padding-right: 0.75em;
}

.datesel {
	display: flex;
	margin: 0 0 5px 10px;
	justify-content: space-between;
	align-items: center;
}

.datesel select {
	text-align: right;
	flex-shrink: 1;
	max-width: 50%;
}

/* Media queries */

@media all and (max-width: 819px) {
	#main {
		margin: 0 auto 0 auto;
		box-shadow: none;
		min-height: 96%;
		height: auto;
	}
	.catTitle {
		width: 85%;
	}
}

@media all and (max-width: 767px) {
	.event_info .row .col_left {
		width: 40%;
	}

	.step_payselect .row .col_left, .step_review .row .col_left {
		width: 45%;
	}

	.sub_layout_2 .row.subevent > .col_right {
		width: 100%;
		margin: 0;
		padding-top: 6px;
	}
	.sub_layout_2 .row.subevent > .col_right .cat_toggle {
		text-align: left;
		margin-bottom: 10px;
	}

	.sub_layout_2 .row.subevent > .col_left {
		width: 100%;
		float: none;
		padding-right: 0;
	}

	.sub_layout_2 .catItem, .sub_layout_2 .cat_toggle {
		margin: 0 0 5px 30px;
	}

	.sub_layout_2 .softhide .catItem, .sub_layout_2 .softhide .cat_toggle {
		margin-left: 0;
	}

	.sub_layout_2 .catItem:first-child, .sub_layout_2 .cat_toggle {
		padding-top: 4px;
		border-top: 1px solid #001155;
	}

	.sub_layout_2 .catItem:last-child {
		border-bottom: none;
	}

	.sub_layout_2 .row.subevent .subDetail .row .col_left {
		width: 25%;
		margin: 0;
		padding: 0;
		border: none;
	}

	.icon-label {
		display: none;
	}
}

@media all and (max-width: 666px) {
	body {
		font-size: 14px;
		line-height: 17px;
	}

	div.langswitch span {
		padding: 0 10px;
		font-size: 1em;
	}

	h1, h4 {
		font-size: 17px;
		line-height: 22px;
	}

	h2 {
		font-size: 16px;
	}

	h3, h4, h5 {
		font-size: 15px;
	}

	h5, .block_right {
		line-height: 22px;
	}

	.row:not(.prices) {
		flex-direction: column;
	}

	.row label, .row .col_left, .row .col_right, .block_left, .block_right {
		width: 100%;
	}

	.row.infotext {
		padding: 20px 0 0 0;
	}

	.row.subevent .col_left {
		padding-right: 0;
	}

	.row.subevent .sub_data {
		flex-direction: column;
	}

	.sub_data .sub_cal {
		margin: 1em 0;
		display: flex;
		justify-content: flex-end;
	}

	.sub_layout_8 .catItem, .sub_layout_9 .catItem {
		flex-direction: column;
	}

	.catItem.calendar .catInput {
		margin: 1em 0 0 0;
		align-items: stretch;
	}

	span.field_info {
		padding: 2px 0 6px 10px;
		display: block;
	}

	.col_right span.field_info, .block_right span.field_info {
		padding: 5px 5px 3px 0;
	}

	input, select, textarea, button {
		font-size: 16px;
	}

	.inputfield input:not(#searchterm):not([type=radio]):not([type=checkbox]),
	.selectfield select,
	select.selectfield,
	input.user_checkin_pi1_voucher {
		width: 95%;
		height: 1.6em;
	}
	.input-group, .inputfield textarea {
		width: 95%;
	}
	.inputfield input[type="range"] {
		width: calc(95% - 3.5em);
	}

	#my_popup button,
	.user_checkin_pi1_add_voucher,
	.user_checkin_pi1_check_access,
	.user_checkin_pi1_delete_photo,
	.user-checkin-pi1 span.btn, .user-checkin-pi1 a.btn, .user-checkin-pi1 button.btn,
	.tx-felogin-pi1 input[type=submit],
	.frame-type-felogin_login input[type=submit] {
		font-size: 15px!important;
	}

	.sub_layout_0 .row.subevent:not(.none) > .col_right, .sub_layout_1 .row.subevent:not(.none) > .col_right {
		width: 100%;
		margin: 0;
		padding-top: 6px;
	}

	.sub_layout_0 .row.subevent:not(.none) > .col_left, .sub_layout_1 .row.subevent:not(.none) > .col_left {
		width: 100%;
		float: none;
	}
	.sub_layout_0 .row.subevent > .col_right .cat_toggle, .sub_layout_1 .row.subevent > .col_right .cat_toggle {
		text-align: left;
		margin-bottom: 10px;
	}

	.sub_layout_0 .catItem, .sub_layout_1 .catItem, .sub_layout_0 .cat_toggle, .sub_layout_1 .cat_toggle {
		margin: 0 0 5px 30px;
	}

	.sub_layout_0 .softhide .catItem, .sub_layout_1 .softhide .catItem, .sub_layout_0 .softhide .cat_toggle, .sub_layout_1 .softhide .cat_toggle {
		margin-left: 0;
	}

	.cockpit .sub_layout_0 .catItem, .cockpit .sub_layout_1 .catItem {
		margin: 0 0 5px 0;
	}

	.sub_layout_0 .catItem:first-child, .sub_layout_1 .catItem:first-child, .sub_layout_0 .cat_toggle, .sub_layout_1 .cat_toggle {
		padding-top: 4px;
		border-top: 1px solid #001155;
	}

	.sub_layout_0 .catItem:last-child, .sub_layout_1 .catItem:last-child {
		border-bottom: none;
	}

	.sub_layout_3 .cat-extra {
		margin-left: 0;
	}

	.step_review .participant {
		min-width: 250px;
	}

}

@media all and (max-width: 500px) {
	#main {
		padding: 0;
	}

	header, .body {
		padding: 0 20px;
	}

	div.langswitch {
		left: 20px;
	}

	.subDetail .row .col_left {
		width: 35% !important;
	}

	.flex {
		flex-direction: column;
	}
	#searchform.flex {
		flex-direction: row;
	}

	.pagination-info {
		align-items: stretch;
		flex-direction: column;
	}

	.user-checkin-pi1 .message a.btn {
		margin: 1em 0 0 0;
	}

	.nextprev_page.flex, .reply-form .flex, .top-buttons.flex {
		flex-direction: row;
	}

	.reply-form .flex {
		justify-content: space-between;
	}

	.reply-form .flex div {
		margin: 0;
	}

	.custom-footer {
		padding: 0 20px;
	}

	.custom-footer.flex div:last-child {
		padding-top: 3px;
	}

	.has-custom-footer div.user-checkin-pi1 {
		padding-bottom: 55px;
	}

	.cat-extra .inputfield {
		padding-left: 5px;
		text-align: left;
		margin-bottom: 4px;
	}

	.cat-extra label {
		padding: 2px 10px 4px 3px;
		font-weight: bold;
		width: auto;
	}

	.cat-extra span.required {
		right: -3px;
	}

	.flex.justified-items .btn {
		margin-top: 1em;
	}

	.step_access label {
		display: block;
		width: auto;
		line-height: 2em;
	}

	.step_access input.user_checkin_pi1_voucher {
		width: 100%;
		height: 1.6em;
		margin-right: 0;
	}

	.user_checkin_pi1_check_access {
		margin-top: .25em;
	}

	.step_payselect .row.prices, .step_review .row.prices {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

	.step_payselect .row.prices .col_left, .step_review .row.prices .col_left {
		width: auto;
		flex-grow: 1;
	}

	.step_payselect .row.prices .col_right, .step_review .row.prices .col_right {
		padding-right: 20px;
	}

	.step_profile .registrations .registration {
		flex-wrap: wrap;
	}

	.step_profile .registrations .registration.flex {
		flex-direction: row;
	}

	.step_profile .registrations .registration > div {
		padding-bottom: 0.5em;
	}

	.step_profile .registrations .registration .col1 {
		flex: 1 0 50%;
	}

	.step_profile .registrations .registration .col2 {
		flex: 1 0 50%;
		text-align: right;
	}

	.step_profile .registrations .registration .col3 {
		flex: 1 0 100%;
	}

	.step_profile .registrations .registration .col4 {
		flex: 1;
		padding-top: 0.25em;
	}

	.step_review .participant {
		min-width: 300px;
	}

	.status-date {
		padding: .5em 0 0 0;
	}
	.status-date:last-child {
		padding-top: 0;
	}

	#my_popup {
		width: 80%;
	}

	.loadingoverlay.upload::after {
		font-size: 1rem;
	}

	#my_seats .seat {
		display: block;
	}

}

@media all and (max-width: 413px) {
	.subDetail .row .col_left {
		width: 100% !important;
	}
	.catTitle {
		width: 80%;
	}

	.event_info .row .col_left, .step_payselect .row .col_left, .step_review .row .col_left {
		width: 100%;
	}

	.step_payselect .order_items .row .col_left, .step_review .order_items .row .col_left {
		min-width: 25%;
		width: auto;
		padding-right: 10px;
	}

	.event_info .row .col_right, .step_payselect .row .col_right, .step_review .row .col_right {
		margin: 2px 0 0 0;
	}

	.step_payselect .order_items .row .col_right, .step_review .order_items .row .col_right {
		margin: 0;
		width: auto;
	}

	.step_payselect .row .col_right, .step_review .row .col_right {
		width: 90%;
	}

	.step_payselect .row.prices .col_right, .step_review .row.prices .col_right {
		width: auto;
	}

	.payment_mode label {
		display: block;
		margin: 0 0 1em 0;
	}

	.field_name {
		/* font-weight: bold; */
	}

	.field_value {
		display: block;
		padding: 3px 4px;
		background-color: #f5f5f5;
		border-radius: 2px;
		margin-bottom: 3px;
	}

	.order_items .field_value {
		background-color: transparent;
		padding: 0;
	}

	/* .order_items .field_name::after {
		content: ":";
	} */

}

/* fix color problem on hover for calendar widget */
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	border: 1px solid var(--frm-clr-main);
	background: var(--frm-clr-main);
	color: var(--frm-clr-text) !important;
}

/* styleable inputs (radio + checkbox) */

input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	background-color: #fff;
	border-radius: 50%;
	border: 0.15em solid var(--frm-clr-border);
	width: 1.2em;
	height: 1.2em;
	vertical-align: text-bottom;
}

input[type=radio]:checked {
	background: radial-gradient(1.25rem circle at center, var(--frm-clr-light) 50%, transparent 51%);
	border: 0.3em solid var(--frm-clr-main);
}

input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	background-color: #fff;
	border: 0.15em solid var(--frm-clr-border);
	border-radius: 10%;
	width: 1.2em;
	height: 1.2em;
	vertical-align: middle;
}

input[type=checkbox]:checked {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3.6' d='M 5.3,10 8.75,13.7 15.7,6.3'/%3e%3c/svg%3e");
	background-color: var(--frm-clr-main);
	border-color: var(--frm-clr-main);
}

input[type=radio]:hover, input[type=checkbox]:hover {
	border-color: var(--frm-clr-hover);
}

input[type=radio]:disabled, input[type=checkbox]:disabled {
	background: #f2f2f2 !important;
	border-color: #c0c0c0 !important;
}

/* jQuery UI selectmenu */

.cat-slot .ui-selectmenu-button.ui-button {
	width: auto;
}

.cat-slot .ui-button {
	padding: .3em .25em .3em .75em;
}

.ui-selectmenu-menu .booked_out, .ui-selectmenu-button.booked_out {
	color: #e00000;
	text-decoration: line-through;
}
.ui-selectmenu-menu .booked_out.ui-state-disabled {
	opacity: 1;
}

.ui-selectmenu-button.missing {
	color: #555555;
}

.overflow {
	height: 10em;
}

/* icon API icons */

.icon {
	position: relative;
	display: inline-flex;
	overflow: hidden;
	white-space: nowrap;
	height: 1em;
	width: 1em;
	flex-shrink: 0;
}

.icon img, .icon svg {
	display: block;
	height: 100%;
	width: 100%;
	transform: translate3d(0,0,0);
}

.icon * {
	display: block;
	line-height: inherit;
}

.icon-markup {
	position: absolute;
	display: block;
	text-align: center;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.icon-overlay {
	position: absolute;
	bottom: 0;
	right: 0;
	height: 68.75%;
	width: 68.75%;
	text-align: center;
}

.icon-color {
	fill: currentColor;
}

.icon-state-disabled .icon-markup {
	opacity: .5;
}

.icon-size-small {
	height: 1.33em;
	width: 1.33em;
	line-height: 1.33em;
}

.icon-size-default {
	height: 2.66em;
	width: 2.66em;
	line-height: 2.66em;
}

.icon-size-large {
	height: 4em;
	width: 4em;
	line-height: 4em;
}

.icon-size-mega {
	height: 5.33em;
	width: 5.33em;
	line-height: 5.33em;
}

.icon-inline .icon-size-small {
	height: 1em;
	width: 1em;
	line-height: 1em;
	vertical-align: text-bottom;
}

/* profile search */

.step_profile .records .tabs div {
	display: inline-block;
	border: 1px solid #bbb;
	border-radius: 0.25rem 0.25rem 0 0;
	margin-bottom: -1px;
	padding: 0.5em 1em;
	background-color: rgba(100,100,100,0.1);
	color: #888;
	cursor: pointer;
}
.step_profile .records .tabs div.active {
	background-color: transparent;
	border-bottom: 1px solid var(--body-clr-bg);
	color: inherit;
}

.step_profile .records .tabs div::after {
	content: ' (' attr(data-rows) ') ';
}

.mappings table {
	width: 100%;
	border-spacing: 0;
}

.mappings th, .mappings td {
	border-top: 1px solid #ccc;
	padding: 0.5em 0.25em 0.5em 0;
}
.mappings th:last-child, .mappings td:last-child {
	padding-right: 0;
}

.mappings th {
	font-weight: bold;
	text-transform: none;
}

/* file icons */
.file::before {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

.file.pass::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f5ab";
	padding-right: 0.4em;
	color: rgb(40,58,110);
}

.file.pdf::before, .file.ticket::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f1c1";
	padding-right: 0.4em;
	color: rgb(227, 13, 13);
}

.file.zip::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f1c6";
	padding-right: 0.4em;
	color: rgb(255, 194, 10);
}

.file.mail::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0e0";
	padding-right: 0.4em;
	color: rgb(39, 148, 153);
}

/* css-only tooltip */
.tooltip .tooltiptext {
	visibility: hidden;
	width: fit-content;
	background-color: #555;
	color: #fff;
	border-radius: 3px;
	padding: 5px 10px;
	position: absolute;
	z-index: 1;
	top: calc(1em + 25px);
	left: 0;
	right: unset;
	opacity: 0;
	transition: opacity 0.5s;
	text-wrap: nowrap;
	font: 0.7rem monospace;
	overflow-y: scroll;
	display: inline-block;
	max-height: 20rem;
}
.tooltip.top-right .tooltiptext {
	left: unset;
	right: 0;
}

.tooltip:hover .tooltiptext {
	visibility: visible;
	opacity: 1;
}

.user_checkin_pi1_category_amount {
	box-shadow: none;
	transition: box-shadow ease-out 0.35s;
}

.highlight {
	box-shadow: 0px 0px 6px 3px rgba(148, 200, 255, 0.9);
	transition: 0s;
}
