html {
    font-family: Verdana, sans-serif, Arial, Tahoma;
    font-size: 1.2em;
}

body {
	background-color: #DDDDDD;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	position: absolute;
}

@media only screen and (max-width: 768px) {
	.desktoponly {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	body {
		display: flex;
	}
	
	.mobileonly {
		display: none;
	}
}

main {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	margin: 0px;
}

main article {
	overflow: auto;
	background-color: white;
}

.padding {
	padding: 10px 15px 10px 15px;
}

.margin {
	margin: 20px;
}

.italic {
	font-style: italic;
}

.white {
	background-color: #FFFFFF;
}

.grey {
	background-color: #999999;
}

.shadow {
	box-shadow: 0 3px 5px #999999;
}

#notification {
	position: fixed;
	left: 0;
	top: 0;
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100%;
}


#notification a {
	width: 100%;
	height: 100%;
	color: #990000;
	text-decoration: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255);
	background: rgb(220, 220, 220, 0.7);
}

#notification a div {
	display: inline-block;
	color: #990000;
	padding: 30px;
	border: 1px solid #999999;
	background-color: #FFFFFF;
	border-radius: 6px;
}

/**
 * Navigation
 */
 
input#navigationtoggle ~ label  {
	display: block;
	padding: 10px;
	cursor: pointer;
}

input#navigationtoggle ~ label .icon {
	display: inline;
}

input#navigationtoggle ~ label .toggleicon {
	display: none;
}

input#navigationtoggle:checked ~ label .icon {
	display: none;
}

input#navigationtoggle:checked ~ label .toggleicon {
	display: inline;
}

input#navigationtoggle {
	display: none;
}

input#navigationtoggle ~ ul {
	display: none;
} 

input#navigationtoggle:checked ~ ul {
	display: block;
} 

@media only screen and (min-width: 768px) {
	input#navigationtoggle ~ label {
		display: none;
	}
	
	input#navigationtoggle ~ ul {
		display: block;
	} 
}


 nav {
	width: 100%;
	border-right: #dddddd 1px solid;
	overflow: auto;
	background-color: #f0f0f0;
}
 
 @media only screen and (min-width: 768px) {
	nav {
		width: 250px;
		min-width: 250px;
	}
}

nav header {
	background-color: #DDDDDD;
}

nav ul.nav {
	padding: 0px;
	margin: 0;
}

nav ul.nav li  {
	list-style-type: none;
	margin: 0px;
}

nav ul.nav li.active  {
	background-color: #cccccc;
}

nav ul.nav li ul li.active  {
	background-color: #ffffff;
}

nav ul.nav li ul li.active a {
	color: #ffffff;
}

nav ul.nav li a  {
	padding: 10px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

nav ul.nav li a:hover  {
	background-color: #cccccc;
}

nav ul.nav li ul {
	padding-left: 0px;
	background-color: #f0f0f0;
}

nav ul.nav li ul li {
	font-size: 0.8em;
}

nav ul.nav li ul li a {
	padding-left: 25px;
}

nav ul.nav li.active ul li a {
	color: #660000;
}

nav ul.nav li.active ul li a:hover {
	color: #BB0000;
}

nav ul.nav a {
	text-decoration:none;
	color: #660000;
	display: block;
}

nav ul.nav a:hover {
	color: #BB0000;
}

/**
 * Usermenu
 */

li.mobileonly {
	display: block;
	width: 100%;
} 

div#usermenu {
	display: none;
}

@media only screen and (min-width: 768px) {

	li.mobileonly {
		display: none;
	} 

	div#usermenu {
		display: block;
		padding-right: 10px;
	}
	
	div#usermenu a {
		display: block;
		padding: 10px;
	}
	
	div#usermenu a.line {
		border-bottom: 1px dotted #CCCCCC;
	}
	
	div#usermenu ul {
		display: none;
		position: absolute;
		top: 24px;
		right: 0px;
		list-style: none;
		padding-left: 0;
	}
	
	div#usermenu:hover {
		background-color: #888888;
	}
	
	div#usermenu:hover ul {
		display: block;
	}
	
	div#usermenu ul li a {
		text-align: center;
		color: #FFFFFF;
		text-decoration: none;
		padding: 15px;
		font-size: 0.8em;
	}
	
	div#usermenu:hover ul li a:hover {
		background-color: #888888;
	}
}
/**
 * Page header
 */
header {
	color: #FFFFFF;
	display: flex;
	justify-content: center;
	min-height: 45px;
	max-height: 45px;
}

header div.title {
	flex-grow: 2;
	padding: 9px;
}

header div.title a {
	color: #FFFFFF;
}

header form.filter {
	flex-grow: 1;
	margin: 0;
	padding: 9px;
}

header form.filter input {
    font-size: 0.9em;
	margin: 0;
	padding: 0 0 0 3px;
	border: 1px solid #dddddd;
	background-color: transparent;
	color: #FFFFFF;
	width: 100%;
}

.content {
	display: block;
}

img.title {
	padding: 8px 15px 1px 10px;
	height: 30px;
}

/**
 * Memberlist
 */

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

ul.list li a {
	border-bottom: 1px solid #dddddd;
	cursor: pointer;
	display: block;
}

ul.list li a {
	color: black;
	text-decoration: none;
}

ul.list li a:hover {
	background-color: #eeeeee;
}

ul.list li a .description {
	padding-top: 10px;
	font-size: 0.8em;
	font-style: italic;
}

@media only screen and (max-width: 768px) {
	ul.list li a div:nth-child(2) {
		font-size: 0.8em;
	}
}

@media only screen and (min-width: 768px) {
	ul.list li a .full {
		display: block;
	}
	
	ul.list li a .twothird {
		display: inline-block;
		width: 65%;
	}
	
	ul.list li a .half {
		display: inline-block;
		width: 49%;
	}
	ul.list li a .third {
		display: inline-block;
		width: 32%;
	}
	
	ul.list li a .quarter {
		display: inline-block;
		width: 24%;
	}
}


/**
 * Protocol
 */

textarea {
	width: 100%;
	height: 500px;
}

/**
 * Buttons and forms
 */
.link {
	border: 0;
	background: 0;
	font-size: 1em;
}

button {
	margin: 15px 0px 15px 15px;
	padding: 7px 15px 7px 15px;
	font-size: 1em;
	color: #FFFFFF;
	background-color: #999999;
	border: 0;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}

button:hover {
	background-color: #777777;
}

button:active {
	background-color: #aaaaaa;
}

button.delete {
	color: #FFFFFF;
	background-color: #cc0000;
	float: right;
	margin-right: 20px;
}

button.delete:hover {
	background-color: #ff0000;
}

button.delete:active {
	background-color: #ff5555;
}


fieldset.radio {
	border: 0;
	margin: 20px;
}

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

input.radio {
	cursor: pointer;
}

label.radio {
	cursor: pointer;
}

input.text {
	border-width: 0 0 1px 0;
	border-color: #999999;
	border-style: dotted;
	width: 300px;	
	font-size: 1em;
	padding-left: 10px;
	margin-top: 20px;
	background: #FFFFFF;
}

select {
	font-size: 1em;
	width: 300px;	
}
/*
 * Edit member form
 */
table {
	width: 90%;
}

table tr {
	display: block;
	margin-bottom: 10px;
}

table th {
	text-align: left;
	width: 100%;
	display: block;
}

table td {
	text-align: left;
	width: 100%;
	display: block;
}

@media only screen and (min-width: 768px) {
	table tr {
		height: 2em;
		display: table-row;
	}

	table th {
		text-align: left;
		width: 25%;
		min-width: 300px;
		display: table-cell;
	}

	table td {
		display: table-cell;
	}
}

table tr td input {
	border-width: 0 0 1px 0;
	border-color: #999999;
	border-style: dotted;
	width: 100%;	
	font-size: 1em;
	background: #FFFFFF;
	padding: 0 0 0 3px;
}

/*
 * Log
 */
table.log {
	border-spacing: 0;
}

table.log tr th {
	width: 0;
	min-width: 0;
}

table.log tbody tr:nth-of-type(2n-1) {
	background-color: #dddddd;
}

table.log tbody tr:hover {
	background-color: #cccccc;
}

table.log tbody tr td {
	padding: 5px;
}

table.log tbody tr td:first-child {
	width: 20%;
}

table.log tbody tr td:nth-child(2) {
	width: 15%;
}
 
p#paging a {
	padding: 5px 10px 5px 10px;
 	margin-left: 10px;
 	background-color: #ffffff;
 	border: 1px dotted #cccccc;
 	text-decoration: none;
 	color: #000000;
 	}
 
 p#paging a.active {
 	background-color: #dddddd;
 	color: #000000;
 }
 
 p#paging a:hover {
 	background-color: #cccccc;
 }
 
 /*
 * Login
*/

.logincontainer {
	padding: 10px;
	margin: auto;
}

.logincontainer img {
	width: 70%;
	margin: auto;
	display: block;
}

.login {
	display: flex;
	flex-direction: column;
	padding: 20px;
}

.login input, .login button {
	display: block;
	flex-grow: 1;
	text-align: center;
	margin: 0;
	width: 100%;
	margin-top: 30px;
}

.login input:first-child {
	margin-top: 10px;	
}

.login input.text {
	padding: 0;
}

.logincontainer p.license {
	text-align: center;
	font-size: 0.7em;
	color: #444444;
	font-style: italic;
}

.logincontainer p.license a {
	color: #444444;
	text-decoration: none;
}

.logincontainer p.license a:hover {
	text-decoration: underline;
}