:root {
	--frm-clr-check: 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");
}

input[type=checkbox]:checked {
	background-image: var(--frm-clr-check);
}

#main {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
	color: var(--body-clr-font);
	background-color: var(--body-clr-bg);
}

#main a {
	color: var(--body-clr-link);
}

#main a:hover {
	color: var(--body-clr-link-hover);
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5 {
	color: inherit;
}

#main.site-sm {
	width: 780px;
}

#main.site-md {
	width: 980px;
}

#main.site-lg {
	width: 1160px;
}

#main.site-xl {
	width: 1360px;
}

#main.site-theme-flat {
	box-shadow: none;
}

#main.site-banner-fullwidth .banner {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

#main.site-footer-fullwidth .custom-footer {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	padding-left: 1em;
	padding-right: 1em;
}

#main header {
	margin-left: -20px;
	margin-right: -20px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
}

#main.site-header-seamless,
#main.site-header-seamless .banner {
	margin-top: 0;
}

#main.site-header-seamless header {
	padding-bottom: 20px;
}

#main.site-header-fullwidth header {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	padding-left: 1em;
	padding-right: 1em;
}

#main.site-header-fullwidth .langswitch {
	left: 50%;
	right: 50%;
	margin-left: calc(-50vw + 1em);
	margin-right: calc(-50vw + 1em);
}

#main.site-header-reverse .langswitch {
	text-align: right;
}

#main.site-header-reverse header .logo {
	text-align: left;
}

#main header.header + div {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
}

#main.site-footer-seamless {
	margin-bottom: 0 !important;
}

.has-custom-footer {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
}

.has-custom-footer > .user-checkin-pi1 {
	flex: 1 0 auto;
}

.custom-footer {
	position: unset;
	bottom: unset;
	width: unset;
	padding: 20px 20px;
	margin: 0 -20px;
}

#felogin {
	position: absolute;
	top: 50px;
	padding-left: 10px;
	display: flex;
	align-items: center;
}

#felogin .fa-user-circle {
	font-size: 1.125rem;
}

#felogin .fa-sign-out-alt {
	font-size: 0.75rem;
}

#felogin > * {
	padding-right: 0.5em;
}

.banner img {
	width: 100%;
	height: auto;
}

.custom-footer .social a:not(:first-child) {
	margin-left: .5em;
}

.custom-footer .social a:not(:last-child) {
	margin-right: .5em;
}

.flex-row-reverse {
	flex-direction: row-reverse;
}

.custom-footer.flex.flex-row-reverse > div:last-child {
	padding-right: 1em;
}

.custom-footer.flex.flex-row-reverse > div:first-child {
	padding-right: 0;
}

.flexmulticolumn {
	display: flex;
	flex-wrap: wrap;
}

#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 {
	color: var(--frm-clr-hover-text, var(--frm-clr-text, #fff)) !important;
}

@media (max-width: 500px) {
	#main header {
		margin: 0;
	}
	.custom-footer {
		margin: 0;
	}
	.social {
		padding: 1em 0;
	}
}