* {
	box-sizing: border-box !important;
	-moz-box-sizing: border-box !important;
	-webkit-box-sizing: border-box !important;
}

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	background: rgb(250, 250, 250);
	color: rgb(0, 0, 0);
	font-family: Roboto, Arial, sans-serif;
	font-size: 1em;
	font-style: normal;
	font-weight: 300;
	overflow-wrap: break-word;
	word-wrap: break-word;
	cursor: auto;
	overflow: hidden;
}

a {
	margin: 0;
	padding: 0;
	width: auto;
	max-width: 100%;
	background: none;
	border: none;
	color: rgb(50, 50, 50);
	text-decoration: none;
	font-family: Roboto, Arial, sans-serif;
}

a:visited {
	color: rgb(50, 50, 50);
}

a:hover {
	color: rgb(30, 100, 160);
	font-weight: bold;
}

span {
	margin: 0;
	padding: 0;
	font-family: Roboto, Arial, sans-serif;
}

div {
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: Roboto, Arial, sans-serif;
}

div:focus {
	outline: none;
}

input {
	min-height: 2rem;
	margin: 0;
	padding: 0em 0.5em;
	color: rgb(0, 0, 0);
	/*border-radius: 0.1em;*/
	font-family: Roboto, Arial, sans-serif;
}

input:focus {
	outline: none;
}

input:disabled, input[disabled] {
	color: rgb(0, 0, 0);
	background: rgb(200, 200, 200);
	border: 0.1em solid rgb(200, 200, 200);
	cursor: not-allowed;
}

select {
	height: 2rem;
	margin: 0.1em !important;
	padding-left: 0.25em;
	color: rgb(50, 50, 50);
	border: 0.1em solid rgb(50, 50, 50);
	font-family: Roboto, Arial, sans-serif;
}

select:focus {
	outline: none;
}

select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

select:disabled, input[disabled] {
	color: rgb(0, 0, 0);
	background: rgb(200, 200, 200);
	border: 0.1em solid rgb(200, 200, 200);
	cursor: not-allowed;
}

table, th, tr, td {
	border-collapse: collapse;
	white-space: wrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
	overflow: hidden;
	font-family: Roboto, Arial, sans-serif;
}

table {
	width: 100%;
	margin: auto;
	text-align: left;
	border: 0.2em solid rgb(30, 100, 160);
	table-layout: auto;
}

tr {
	width: 100%;
	background: rgb(250, 250, 250);
	border: 0.1em solid rgb(180, 180, 180);
	outline: none;
}

tr:nth-child(odd) {
	background: rgb(240, 240, 240);
	border: 0.1em solid rgb(180, 180, 180);
}

tr.selectable:hover:not([disabled]):not(.selected) {
	background: rgb(220, 220, 220);
	border: 0.1em solid rgb(180, 180, 180);
	cursor: pointer;
}

tr.selected:not([disabled]) {
	background: rgb(180, 180, 180);
	border: 0.1em solid rgb(180, 180, 180);
	cursor: pointer;
}

th {
	padding: 0.5em;
	background: rgb(30, 100, 160);
	border: 0.1em solid rgb(30, 100, 160);
	color: rgb(250, 250, 250);
	font-weight: normal;
	cursor: pointer;
}

td {
	padding: 0.5em;
}

textarea {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0.5em;
	font-family: Roboto, Arial, sans-serif;
	color: rgb(0, 0, 0);
	background: rgb(250, 250, 250);
	border: 0.1em solid rgb(150, 150, 150);
	border-radius: 0.1em;
	outline: none;
	resize: none;
	overflow: auto;
}

textarea:focus:not([disabled]) {
	border: 0.1em solid rgb(50, 50, 50);
}

.left {
	float: left;
}

.right {
	float: right;
}

.clear {
	clear: both;
}

.grecaptcha-badge { 
	top: 4em !important; 
}

.loader {
	display: inline-block;
	width: 1em;
	height: 1em;
	border: 0.25em solid rgb(200, 200, 200);
	border-top: 0.25em solid rgb(30, 100, 160);
	border-radius: 50%;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}

#site_loader {
	position: absolute;
	left: 0;
	right: 0;
	min-width: 100%;
	min-height: 100%;
	z-index: 999;
	background-color: rgba(0, 0, 0, 0.75);
}

#site_loader_icon {
	position: absolute;
	left: 50%;
	top: 25%;
	width: 80px;
	height: 80px;
	margin: -40px 0 0 -40px;
	border: 4px solid rgb(200, 200, 200);
	border-top: 4px solid rgb(60, 150, 250);
	border-radius: 50%;
	-webkit-animation: spin 1s linear infinite;
	animation: spin 1s linear infinite;
}

@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

#site_content {
	min-height: 100%;
}

.progressbar {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0.5em;
	background-color: rgb(200, 200, 200);
	text-align: center;
}

.progressbar > div {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: block;
	width: 0%;
	height: 100%;
	background-color: rgb(30, 100, 160);
}

.ipt_std {
	width: 100%;
	max-width: 100%;
	background: rgb(250, 250, 250);
	border: 0.1em solid rgb(50, 50, 50);
	color: rgb(50, 50, 50);
}

.ipt_std:focus:not([disabled]) {
}

.btn_std {
	width: 100%;
	max-width: 100%;
	color: rgb(250, 250, 250);
	background: rgb(30, 100, 160);
	border: 0.1em solid rgb(30, 100, 160);
	cursor: pointer;
}

.btn_std:hover:not([disabled]), .btn_std:focus:not([disabled]) {
	background: rgb(0, 70, 130);
	border: 0.1em solid rgb(0, 70, 130);
}

.div_menu {
	position: fixed;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	background: rgb(220, 220, 220);
	box-shadow: 0 0.25em 0.25em 0 rgba(0, 0, 0, 0.25);
	white-space: nowrap;
	overflow: hidden;
	z-index: 1;
}

.div_logo {
	display: inline-block;
	float: left;
	width: auto;
	height: 2.85em;
}

.logo {
	height: 100%;
}

@media only screen and (max-width: 800px) {
	.div_logo {
		display: block;
		width: auto;
	}
}

.menu_small_icon {
	display: none;
	outline: none;
}

@media only screen and (max-width: 800px) {
	.menu_small_icon {
		display: inline-block;
		float: right;
		width: 2.85em;
		height: 2.85em;
		margin: 0;
		padding: 0;
		cursor: pointer;
	}

	.menu_small_icon:hover {
		background: rgb(180, 180, 180);
	}
}

.btn_menu {
	display: inline-block;
	width: auto;
	max-width: 100%;
	padding: 0.75em;
	font-weight: bold;
	color: rgb(0, 0, 0);
	background: rgb(220, 220, 220);
	border: 0.1em solid rgb(220, 220, 220);
	cursor: pointer;
}

.btn_menu:hover:not([disabled]), .btn_menu:focus:not([disabled]) {
	color: rgb(30, 100, 160);
}

.btn_menu_active {
	color: rgb(30, 100, 160) !important;
}

@media only screen and (max-width: 800px) {
	.btn_menu {
		display: none;
		width: 100%;
	}
}

.div_content {
	display: inline-block;
	position: absolute;
	top: 4em;
	bottom: 3.5em;
	left: 0em;
	right: 0em;
	/*margin: 4em 0em 3em 0em;*/
	padding: 0.25em;
	font-size: 0.9em;
	overflow: auto;
}

.div_footer {
	position: fixed;
	width: 100%;
	bottom: 0;
	height: auto;
	font-size: 0.75em;
	padding: 0.25em;
	color: rgb(0, 0, 0);
	background: rgb(220, 220, 220);
	box-shadow: 0 -0.25em 0.25em 0 rgba(0, 0, 0, 0.25);
}

.div_footer_left {
	display: inline-block;
	width: 50%;
	text-align: left;
}

.div_footer_right {
	display: inline-block;
	width: 50%;
	text-align: right;
}

#btn_language {
	margin: 0;
	padding: 0;
	width: auto;
	max-width: 100%;
	background: none;
	border: none;
	color: rgb(50, 50, 50);
}

#btn_language:hover {
	color: rgb(30, 100, 160);
	font-weight: bold;
}

.div_language {
	display: inline-block;
	width: auto;
	padding: 0.5em;
	text-align: left;
	cursor: pointer;
}

.span_language {
	margin-left: 0.5em;
	padding: 0.5em;
	line-height: 1.5em;
}

.modal {
	display: none;
	position: fixed;
	z-index: 999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	text-align: center;
	background: rgba(0, 0, 0, 0.75);
}

.modal_content {
	display: inline-block;
	width: auto;
	min-width: 30%;
	max-width: 100%;
	margin: 6em auto;
	background: rgb(100, 100, 100);
}

.div_title {
	max-width: 100%;
	margin: 0;
	padding: 0.5em;
	border: 0.1em solid transparent;
	color: rgb(0, 0, 0);
	font-weight: bold;
	font-size: 1.5em;
	text-align: center;
	word-break: break-word;
}

.div_label {
	max-width: 100%;
	display: inline-block;
	min-height: 2rem;
	margin: 0;
	padding: 0em 0.5em;
	border: 0.1em solid transparent;
	color: rgb(0, 0, 0);
	line-height: 2rem;
	word-break: break-word;
}

.div_info {
	max-width: 100%;
	width: auto;
	margin: 0;
	background: rgb(250, 250, 250);
	text-align: center;
	word-break: break-word;
}

.div_info_title {
	max-width: 100%;
	width: auto;
	padding: 0.5em;
	background: rgb(30, 100, 160);
	color: rgb(250, 250, 250);
}

.div_info_text {
	max-width: 100%;
	width: auto;
	padding: 1em;
}

.btn_info {
	width: auto;
	min-width: 80px;
	max-width: 100%;
	margin: 1em;
	padding: 0.5em;
	color: rgb(250, 250, 250);
	background: rgb(30, 100, 160);
	border: 0.1em solid rgb(30, 100, 160);
	font-weight: bold;
	cursor: pointer;
}

.btn_info:hover:not([disabled]), .btn_info:focus:not([disabled]) {
	background: rgb(0, 70, 130);
	border: 0.1em solid rgb(0, 70, 130);
}

.div_error {
	max-width: 100%;
	margin: 0;
	background: rgb(250, 250, 250);
	text-align: center;
	word-break: break-word;
}

.div_error_title {
	padding: 0.5em;
	background: rgb(200, 20, 20);
	color: rgb(250, 250, 250);
	font-weight: bold;
}

.div_error_text {
	padding: 1em;
}

.btn_error {
	width: auto;
	min-width: 80px;
	max-width: 100%;
	margin: 1em;
	padding: 0.5em;
	color: rgb(250, 250, 250);
	background: rgb(200, 20, 20);
	border: 0.1em solid rgb(200, 20, 20);
	font-weight: bold;
	cursor: pointer;
}

.btn_error:hover:not([disabled]), .btn_error:hover:not([disabled]) {
	background: rgb(180, 0, 0);
	border: 0.1em solid rgb(180, 0, 0);
}

.span_chktrue {
	display: inline-block;
	vertical-align: middle;
	margin: auto;
	width: 1em;
	max-width: 100%;
	height: 1em;
	max-height: 100%;
	background: rgb(30, 100, 160);
	border: 0.1em solid rgb(150, 150, 150);
}

.span_chkfalse {
	display: inline-block;
	vertical-align: middle;
	margin: auto;
	width: 1em;
	max-width: 100%;
	height: 1em;
	max-height: 100%;
	background: rgb(250, 250, 250);
	border: 0.1em solid rgb(150, 150, 150);
}

.div_cookie {
	display: none;
	position: fixed;
	z-index: 999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	text-align: center;
	background: rgba(0, 0, 0, 0.5);
}

.div_cookie_bar {
	display: inline-block;
	width: auto;
	min-width: 30%;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	margin: 6em auto;
	background: rgb(50, 50, 50);
}

.div_cookie_text {
	padding: 1em;
	color: rgb(250, 250, 250);
}

.btn_cookie {
	width: auto;
	max-width: 100%;
	margin: 1em;
	padding: 0.5em;
}

.sort_asc:after,
.sort_dsc:after {
	content: ' ';
	position: relative;
	left: 0.5em;
	border: 0.5em solid transparent;
}

.sort_asc:after {
	bottom: 0.9em;
	border-bottom-color: rgb(250, 250, 250);
}

.sort_dsc:after {
	top: 0.9em;
	border-top-color: rgb(250, 250, 250);
}

.align_left {
	text-align: left;
}

.align_center {
	text-align: center;
}

.align_right {
	text-align: right;
}