/*
 * styles.css
 *
 * Style Sheet for my-devices.net web application.
 *
 * Copyright (c) 2010-2022, Applied Informatics Software Engineering GmbH.
 *
 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section
{
	display: block;
}

body
{
	line-height: 1;
}

ol, ul
{
	list-style: none;
}

blockquote, q
{
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after
{
	content: '';
	content: none;
}

table
{
	border-collapse: collapse;
	border-spacing: 0;
}

body
{
	background-color: #f3f3f4;
	min-width: 996px;
	width: 100%;
	color: #234;
}

p, h1, h2, h3, h4, h5, h6, ul, ol, li, td, th, form, address, blockquote, strong, b, div, emph, i, input
{
	font-family: 'Source Sans Pro', sans-serif;
}

div, p, ul, ol, li, address, blockquote, h6, form, td, th
{
	color: #234;
	font-size: 16px;
	line-height: 20px;
}

p, ul, ol, address, blockquote, h6
{
	margin-top: 8px;
	margin-bottom: 8px;
}

div.headercontainer
{
	width: 100%;
	height: 50px;
	border-bottom: 1px solid #bbb;
	background: #2f888e;
	background-image: url(../images/custom-logo.png);
	background-repeat: no-repeat;
	background-size: 200px 40px;
	background-position: 12px 5px;
}

@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5)
{
	div.headercontainer
	{
		width: 100%;
		height: 50px;
		border-bottom: 1px solid #bbb;
		background: #2f888e;
		background-image: url(../images/custom-logo.png);
		background-repeat: no-repeat;
		background-size: 200px 40px;
		background-position: 12px 5px;
	}
}

div.header
{
	height: 50px;
	margin-left: 220px;
	padding-top: 11px;
	padding-bottom: 2px;
	color: #222;
}

div.header h1
{
	font-size: 23px;
	line-height: 28px;
	margin: 0px;
	color: #222;
	font-weight: normal;
	margin-left: 0px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

div.footercontainer
{
	width: 100%;
	min-width: 996px;
	height: 40px;
	border-top: 1px #bbb solid;
	position: fixed;
	width: 100%;
	height: 40px;
	left: 0;
	bottom: 0;
	background-color: #edeeef;
}

@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5)
{
	div.footercontainer
	{
		width: 100%;
		min-width: 996px;
		height: 40px;
		border-top: 1px #bbb solid;
		position: fixed;
		width: 100%;
		height: 40px;
		left: 0;
		bottom: 0;
		background-color: #edeeef;
	}
}

div.footer
{
	height: 24px;
	text-align: left;
	white-space: nowrap;
	margin-top: 8px;
	margin-bottom: 8px;
	margin-left: 12px;
	margin-right: 12px;
	font-size: 13px;
	line-height: 24px;
	z-index: 100;
}

div.contentcontainer
{
	margin-bottom: 48px;
}

div.content
{
	margin-top: 16px;
	margin-left: 16px;
	margin-right: 16px;
}

div.information
{
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 8px;
	border: 1px solid #0e75b7;
	background-color: #eee;
}

div.warning
{
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 8px;
	border: 1px solid #ff0;
	background-color: #ffd;
}

div.error
{
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 8px;
	border: 1px solid #f00;
	background-color: #fdd;
}

div.groupbox
{
	margin-top: 8px;
	margin-bottom: 16px;
	margin-left: 0;
	margin-right: 0;
	padding-left: 6px;
	padding-right: 6px;
	padding-top: 6px;
	padding-bottom: 6px;
	border: 1px solid #ccc;
	background-color: #fafbfc;
	width: auto;
	font-size: 16px;
	line-height: 20px;
	box-shadow: 0px 0px 3px #eee;
}

div.groupbox a
{
	display: inline-block;
}

div.commands
{
	padding-bottom: 8px;
}

ul.commands
{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.commands li
{
	display: inline;
	padding-right: 1.5em;
	color: #888;
}

ul.commands li:last-child
{
	padding-right: 0;
}

.commands li i.fa
{
	margin-right: 0.3em;
}

.commands a:link
{
	text-decoration: none;
}

.commands a:hover
{
	text-decoration: underline;
}

.commands a:active
{
	text-decoration: underline;
}

.commands a:visited
{
	text-decoration: none;
}

pre
{
	color: #222;
	font-size: 14px;
	padding-top: 4px;
	padding-bottom: 4px;
}

h1
{
	color: #234;
	font-size: 24px;
	font-weight: normal;
	line-height: 32px;
	margin-top: 12px;
	margin-bottom: 12px;
}

h2
{
	color: #234;
	font-size: 20px;
	margin-top: 8px;
	margin-bottom: 8px;
	line-height: 24px;
}

div.groupbox h2
{
	color: #234;
	font-size: 18px;
	margin-top: 2px;
	margin-bottom: 8px;
	line-height: 24px;
}

h3
{
	color: #234;
	font-size: 18px;
	margin-top: 10px;
	margin-right: 0;
	margin-bottom: 0px;
	background-color: #ccc;
	border-bottom-width: 1px;
	border-bottom-color: #aaa;
	border-bottom-style: solid;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 2px;
	padding-bottom: 2px;
}

h4
{
	color: #234;
	font-size: 16px;
	margin-top: 10px;
	margin-bottom: 0;
}

li
{
	color: #234;
	margin-left: 0px;
	margin-bottom: 2px;
}

ul
{
	padding-left: 0px;
	margin-left: 2em;
	list-style-type: disc;
	list-style-position: outside;
}

div.usernav
{
	width: 100%;
	height: 28px;
	margin-top: 0px;
	margin-bottom: 18px;
	margin-left: 0;
	margin-right: 0;
}

div.usernav a
{
	display: inline-block;
}

ul.navigation
{
	margin: 0;
	padding: 0;
	list-style-type: none;
	margin: 0;
	float: left;
	text-align: left;
}

.navigation li
{
	display: inline;
	padding-right: 1.5em;
	color: #888;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none
}

.navigation li i.fa
{
	margin-right: 0.4em;
	font-size: 16px;
}

.navigation a:link
{
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
}

.navigation a:hover
{
	text-decoration: underline;
}

.navigation a:active
{
	text-decoration: underline;
}

.navigation a:visited
{
	text-decoration: none;
}

.navigation-help
{
	font-size: 20px;
	text-align: right;
	padding-right: 1.5em;
	float: left;
}

.navigation-help a
{
	display: inline-block;
}

div.navigation-right
{
	font-size: 13px;
	text-align: right;
	margin: 0;
	float: right;
}

div.navigation-right #username
{
	font-weight: bold;
}

div.navigation-right #tenant
{
}

div.navigation-right #logoutLink
{
	color: #444;
	font-weight: normal;
}

div.listcontainer
{
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 0;
	margin-right: 0;
	border: 0;
	padding: 0;
}

div.listheader
{
	margin-left: 0px;
	margin-right: 0px;
	margin-top: 0px;
	margin-bottom: 8px;
	padding-left: 0px;
	padding-right: 0px;
	padding-top: 2px;
	padding-bottom: 2px;
	border: 0;
	width: auto;
	font-size: 13px;
	line-height: 20px;
}

div.listheader form
{
	font-size: 14px;
	line-height: 20px;
}

div.listheader .commands
{
	float: right;
}

div.listfooter
{
	margin-left: 0px;
	margin-right: 0px;
	margin-top: 8px;
	margin-bottom: 0px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 4px;
	padding-bottom: 4px;
	border: 0;
	width: auto;
	font-size: 13px;
	line-height: 20px;
}

div.listfooter div
{
	margin: 0;
	padding: 0;
	border: 0;
}

table.list
{
	border-style: none;
	padding: 0px;
	font-size: 16px;
	margin-top: 0;
	margin-bottom: 0;
	border: 0;
	border-spacing: 0px;
	margin-left: 0;
	margin-right: 0;
}

table.userProfile, table.domainProperties, table.tenantProperties, table.systemProfile
{
}

table.list th
{
	color: #fff;
	font-weight: bold;
	text-align: left;
	background-color: #0e75b7;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 6px;
	padding-right: 6px;
	text-align: left;
	vertical-align: middle;
}

table.list td
{
	border-style: none;
	border-width: 0px;
	padding-top: 6px;
	padding-bottom: 6px;
	padding-left: 6px;
	padding-right: 6px;
	text-align: left;
	vertical-align: middle;
}

table.list form
{
	padding-top: 6px;
	padding-bottom: 6px;
	padding-left: 6px;
	padding-right: 6px;
}

table.list td.deviceListButton,
table.list td.userListButton,
table.list td.roleListButton,
table.list td.domainListButton,
table.list td.tenantListButton
{
	width: 20px;
}

table.list tr.even
{
	background-color: #e7e8e9;
	border-bottom: 1px solid #d7d8d9;
}

table.list tr.odd
{
	background-color: #f0f1f2;
	border-bottom: 1px solid #d7d8d9;
}

table.list tr.intermediateHeader
{
	background-color: #d0d1d2;
}

table.list tr.intermediateHeader th
{
	background-color: #d0d1d2;
	color: #0e75b7;
	font-size: 15px;
	line-height: 15px;
}

strong, b
{
	font-weight: bold;
}

emph, i
{
	font-style: italic;
}

.deviceName
{
	font-size: 19px;
	line-height: 22px;
	font-weight: bold;
}

.deviceDescription
{
	font-size: 15px;
	line-height: 20px;
	font-weight: normal;
}

.userListUsername, .roleListRolename, .domainListDomain, .tenantListTenant
{
	font-weight: bold;
}

.basicProperty
{
	font-weight: bold;
}

.systemProperty
{
}

.userProperty
{
}

.online
{
	color: #080;
	font-weight: bold;
}

.offline
{
	color: #444;
}

.address
{
	line-height: 14px;
	margin-bottom: 4px;
}

.small
{
	font-size: 14px;
	text-align: left;
	line-height: 16px;
	margin-top: 8px;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 8px;
}

.footer
{
	font-size: 13px;
	font-family: 'Source Sans Pro', sans-serif;
	text-align: left;
	line-height: 9pt;
	color: #444;
}

.sortable
{
	cursor: pointer;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.sort-none
{
	color: #bbf;
}

th.sortable:hover
{
	background-color: #1086c8;
}

span.clearableInput
{
	position: relative;
}

span.clearableInput span
{
	position: absolute;
	display: block;
	top: 1px;
	right: 8px;
	width: 16px;
	height: 16px;
	background: url('../images/clearbutton.png');
	cursor: pointer;
}

@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5)
{
	span.clearableInput span
	{
		position: absolute;
		display: block;
		top: 1px;
		right: 8px;
		width: 16px;
		height: 16px;
		background: url('../images/clearbutton-x2.png');
		background-size: 16px 16px;
		cursor: pointer;
	}
}

span.clearableInput input[type=text]
{
	padding: 0px 20px 0px 2px;
	font-size: 13px;
	line-height: 18px;
	margin: 0;
}

div.loginBox
{
	margin-top: 140px;
	text-align: center;
	font-size: 16px;
	margin-left: auto;
	margin-right: auto;
	padding: 20px;
	width: 480px;
}

div.loginBox table
{
	width: auto;
	margin-left: auto;
	margin-right: auto;
}

div.loginBox th
{
	padding: 10px 10px 10px 0px;
}

div.loginBox td
{
	padding: 10px 0px 10px 0px;
}

div.loginBox #notice
{
	font-size: 20px;
	text-align: center;
	padding-bottom: 40px;
}

div.loginBox #subnotice
{
	font-size: 18px;
	text-align: center;
	margin-top: 20px;
	color: #606060;
}

div.loginBox #firstNameLabelCell,
div.loginBox #lastNameLabelCell,
div.loginBox #usernameLabelCell,
div.loginBox #emailLabelCell,
div.loginBox #oldPasswordLabelCell,
div.loginBox #passwordLabelCell,
div.loginBox #verifyLabelCell,
div.loginBox #claimLabelCell,
div.loginBox #deviceNameLabelCell,
div.loginBox #deviceIdLabelCell,
div.loginBox #domainLabelCell
{
	font-size: 16px;
	text-align: right;
	color: #0e75b7;
}

div.loginBox #claimLabelCell
{
	color: #606060;
}

div.loginBox #firstNameInputCell,
div.loginBox #lastNameInputCell,
div.loginBox #usernameInputCell,
div.loginBox #emailInputCell,
div.loginBox #oldPasswordInputCell,
div.loginBox #passwordInputCell,
div.loginBox #verifyInputCell,
div.loginBox #claimInputCell,
div.loginBox #deviceNameInputCell,
div.loginBox #deviceIdInputCell,
div.loginBox #domainInputCell
{
	text-align: left;
}

div.loginBox #firstNameInput,
div.loginBox #lastNameInput,
div.loginBox #usernameInput,
div.loginBox #emailInput,
div.loginBox #oldPasswordInput,
div.loginBox #passwordInput,
div.loginBox #verifyInput,
div.loginBox #claimInput,
div.loginBox #deviceNameInput,
div.loginBox #deviceIdInput,
div.loginBox #domainInput
{
	font-size: 18px;
	width: 240px;
	height: 28px;
	background-color: white;
	color: #234;
	border: 1px solid #0e75b7;
	padding-left: 6px;
	padding-right: 6px;
}

div.loginBox #loginButtonCell
{
	text-align: left;
}

div.loginBox #loginButton,
div.loginBox #resetPasswordButton,
div.loginBox #deleteAccountButton,
div.loginBox #createDeviceButton
{
	height: 28px;
	text-align: center;
	font-size: 16px;
	line-height: 18px;
	background-color: #008bc5;
	border: 1px solid #008bc5;
	color: white;
	cursor: pointer;
	border-radius: 4px;
}

div.loginBox #loginButton:hover,
div.loginBox #resetPasswordButton:hover,
div.loginBox #createDeviceButton:hover
{
	background-color: #109bd5;
	border: 1px solid #109bd5;
}

div.loginBox #loginButton:active,
div.loginBox #resetPasswordButton:active,
div.loginBox #createDeviceButton:active
{
	background-color: #109bd5;
	border: 1px solid #109bd5;
}

div.loginBox #deleteAccountButton
{
	background-color: #d00000;
	border: 1px solid #d00000;
}

div.loginBox #deleteAccountButton:hover
{
	background-color: #e01010;
	border: 1px solid #e01010;
}

div.loginBox #deleteAccountButton:active
{
	background-color: #e01010;
	border: 1px solid #e01010;
}

div.loginBox #resetPassword,
div.loginBox #loginLink,
div.loginBox #cancelLink
{
	font-size: 16px;
}

div.createBox
{
	margin-top: 140px;
	text-align: center;
	font-size: 16px;
	margin-left: auto;
	margin-right: auto;
	padding: 20px;
	width: 640px;
}

div.createBox table
{
	width: auto;
	margin-left: auto;
	margin-right: auto;
}

div.createBox th
{
	padding: 10px 10px 10px 0px;
}

div.createBox td
{
	padding: 10px 0px 10px 0px;
}

div.createBox #notice
{
	font-size: 20px;
	text-align: center;
	padding-bottom: 40px;
}

div.createBox #subnotice
{
	font-size: 18px;
	text-align: center;
	margin-top: 20px;
	color: #606060;
}

div.createBox .labelCell
{
	font-size: 16px;
	text-align: right;
	color: #0e75b7;
}

div.createBox .inputCell
{
	text-align: left;
}

div.createBox .form-control
{
	font-size: 18px;
	width: 360px;
	height: 28px;
	background-color: white;
	color: #234;
	border: 1px solid #0e75b7;
	padding-left: 6px;
	padding-right: 6px;
}

div.createBox #createButtonCell
{
	text-align: left;
}

div.createBox #createButton
{
	height: 28px;
	text-align: center;
	font-size: 16px;
	line-height: 18px;
	background-color: #008bc5;
	border: 1px solid #008bc5;
	color: white;
	cursor: pointer;
	border-radius: 4px;
}

div.createBox #createButton:hover
{
	background-color: #109bd5;
	border: 1px solid #109bd5;
}

div.createBox #createButton:active
{
	background-color: #109bd5;
	border: 1px solid #109bd5;
}

div.createBox #cancelLink
{
	font-size: 16px;
}

#legal
{
	margin-top: 40px;
	text-align: center;
	font-size: 16px;
	color: #606060;
	line-height: 20px;
}

#noDevicesFound, #noUsersFound, #noDomainsFound, #noTenantsFound
{
	margin-top: 40px;
	margin-bottom: 40px;
	font-size: 18px;
	line-height: 24px;
	text-align: center;
}

img.button
{
	cursor: pointer;
	width: 20px;
	height: 20px;
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: bottom;
}

a:link
{
	color: #0e75b7;
	text-decoration: underline;
}

a:visited
{
	color: #0e75b7;
	text-decoration: underline;
}

a:active
{
	color: #0056b8;
	text-decoration: underline;
}

a:hover
{
	color: #0056b8;
	text-decoration: underline;
}

.deviceDescription, .emptyDeviceDescription
{
	line-height: 24px;
}

.deviceDescription a:link
{
	color: #222;
	text-decoration: none;
}

.deviceDescription a:visited
{
	color: #222;
	text-decoration: none;
}

.deviceDescription a:active
{
	color: #000;
	text-decoration: none;
}

.deviceDescription a:hover
{
	color: #000;
	text-decoration: none;
}

.emptyDeviceDescription a:link
{
	color: #888;
	text-decoration: none;
}

.emptyDeviceDescription a:visited
{
	color: #888;
	text-decoration: none;
}

.emptyDeviceDescription a:active
{
	color: #666;
	text-decoration: none;
}

.emptyDeviceDescription a:hover
{
	color: #666;
	text-decoration: none;
}

.footer a:link
{
	color: #444;
	text-decoration: underline;
}

.footer a:visited
{
	color: #444;
	text-decoration: underline;
}

footer a:active
{
	color: #000;
	text-decoration: underline;
}

footer a:hover
{
	color: #000;
	text-decoration: underline;
}


/*
 * Forms
 */
input[type=text].form-control,
input[type=password].form-control,
input[type=number].form-control
{
	font-size: 16px;
	color: #222;
	background-color: #f4f5f6;
	border: 1px solid #aaa;
	padding: 2px 4px 2px 4px;
	margin: 0;
}

input[type=checkbox].form-control
{
	vertical-align: middle;
}

select.form-control
{
	font-size: 14px;
	color: #222;
	background-color: #f4f5f6;
	border: 1px solid #aaa;
	margin: 0;
}

input[type=submit].form-control, input[type=button].form-control
{
	height: 24px;
	text-align: center;
	font-size: 15px;
	line-height: 16px;
	background-color: #008bc5;
	border: 1px solid #008bc5;
	padding: 2px 6px 2px 6px;
	color: white;
	cursor: pointer;
	margin: 0;
	border-radius: 4px;
}

input[type=submit].form-control:hover, input[type=button].form-control:hover
{
	background-color: #109bd5;
	border: 1px solid #109bd5;
}

input[type=submit].form-control:active, input[type=button].form-control:active
{
	background-color: #109bd5;
	border: 1px solid #109bd5;
}

div.totpForm
{
	margin-top: 20px;
}

div.totpPassword
{
	margin-top: 8px;
	margin-bottom: 8px;
}

div.totpQRCode
{
	margin-top: 20px;
	margin-bottom: 24px;
}

div.totpValidate
{
	margin-top: 20px;
	margin-bottom: 20px;
}

div.totpCode
{
	margin-top: 8px;
	margin-bottom: 8px;
}

.totpForm #password, .totpForm #code
{
	width: 240px;
}

.totpForm #disableTwoFactorButton
{
	background-color: #d00000;
	border: 1px solid #d00000;
}

.totpForm #disableTwoFactorButton:hover
{
	background-color: #e01010;
	border: 1px solid #e01010;
}

.totpForm #disableTwoFactorButton:active
{
	background-color: #e01010;
	border: 1px solid #e01010;
}

#helpContent
{
  max-width: 1200px;
  padding-left: 8px;
}

#helpContent img
{
  max-width: 1200px;
  max-height: 400px;
  width: auto;
  height: auto;
  margin-top: 16px;
  margin-bottom: 16px;
}

#helpContent h1
{
  margin-top: 4ex;
  margin-bottom: 1ex;
  font-weight: bold;
}

#table-of-contents
{
  margin-top: 1ex !important;
}

#helpContent h2
{
  margin-top: 4ex;
  margin-bottom: 1ex;
  font-weight: bold;
  font-size: 20px;
}

#helpContent p
{
  line-height: 3ex;
  margin-top: 3ex;
  margin-bottom: 3ex;
}

#helpContent blockquote
{
	background-color: #eee;
	border-left: 4px solid #888;
	padding-left: 8px;
}

#helpContent code
{
	background-color: #eee;
	font-family: "Lucida Console", "Monaco", Courier, "Courier New", monospace;
	font-size: 0.9em;
}

#toclink
{
	font-size: 26px;
	color: #0e75b7;
	position: fixed;
    bottom: 60px;
	right: 40px;
	z-index: 100;
	filter: drop-shadow(0px 0px 8px white);
}

/*
 * Open Layers
 */
div.ol-attribution
{
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 10px;
}

div.ol-viewport
{
	position: relative;
	z-index: 0;
}

#mapview
{
	width: 600px;
	height: 400px;
	border: 1px solid #0e75b7;
}

/*
 * Flatpickr
 */
.flatpickr-current-month .flatpickr-monthDropdown-months
{
	font-size: 15px !important;
}

.flatpickr-day .selected
{
	background-color: #008bc5 !important;
	border-color: #008bc5 !important;
}
