html {
	scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Calibri, Arial, Helvetica, sans-serif;
    background-color: #fafafa;
    color: #333;
    font-size: 1.0em;
    line-height: 1.5;
    text-align: ;
}

main {
	margin-top: 1em;
	margin-left: 3em;
	margin-right: 3em;
	margin-bottom: 2em;
}

footer {
  position: relative;
  padding: 0.2em;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #252525;
  color: #bfbfa7;
  text-align: center;
}

footer .column {
  float: left;
  width: 33.3%;
  margin-bottom: 16px;
  padding: 0 8px;
}

/* Display the columns below each other instead of side by side on small screens */
@media screen and (max-width: 650px) {
  footer .column {
    width: 100%;
    display: block;
  }
}

.link {
    color: #044a7e;
    text-decoration: none;
}

.btn {
	background: #044a7e;
    color: #ffffff;
    text-decoration: none;
    padding: 0.5em 1em;
    border: 0px solid #eaeaea;
	border-radius: 5px;
    display: inline-block;
    margin: 0;
	font-size: 0.9em;
	cursor: pointer;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

.btn:disabled {
	background-color: #aaaaaa;
	cursor: not-allowed;
}

#header {
	background-color: #044a7e;
	color: #eaeaea;
	height: 3.3em;
	padding-left: 0.4em;
	padding-top: 0;
	vertical-align: center;
	position: block;
	width: 100%;
}

#header .int {
	display: -ms-flexbox;
    display: -webkit-flex;
    /*display: flex;*/

    -ms-flex-align: center;
    -webkit-align-items: center;
    -webkit-box-align: center;

    align-items: center;
	height: 100%;
	}

#header .logo {
	height: 90%;
	margin-right: 1.5em;
	margin-left: 0.5em;
	float:left;
	vertical-align: middle;
}

#header h1 {
	display: inline;
	font-size: 2em;
	margin-left: 1em;
	margin: auto;
	padding: 0;
}

/* Formatiert die Menüleiste */
#header .main-menu ul {
    list-style-type: none;
    margin: 0 3em 0 0;
    padding: 0;
    /*overflow: hidden;*/
	display: block;
	/*float: left;*/
}

/* Formatiert die einzelnen Menüeinträge */
#header .main-menu li {
    float: left;
	font-weight: bold;
	display: inline;
	height: 100%;
	padding: auto;
	font-size: 16px;
}

/* Formatiert wie Links im Menü standardmäßig aussehen */
#header .main-menu li a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
	opacity: 0.8;
}

#header .main-menu li .current {
	opacity: 1;
	border-bottom: 3px solid #fff;
}

/* Hintergrundfarbe des Menüeintrags, auf den gerade mit der Maus gezeigt wird */
#header .main-menu li a:hover {
    opacity: 1.0;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

/* ENDE Menüformatierung */

#header .menu-right {
	margin-left: auto;
	margin-right: 2em;
	display: inline-block;
}

#header .menu-right img, .users img {
	height: 2.5em;
	right: 0;
}

#header .menu-right .dropdown {
    position: relative;
    display: inline-block;
	width: 100%;
}

#header .menu-right .dropdown:hover {
	opacity: 1.0;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

#header .menu-right .dropdown:hover img {
	border: 3px solid #eaeaea;
}

#header .menu-right .dropdown .profilecard, .users .profilecard {
	padding-left: 1em;
	padding-right: 1em;
	height: 3.3em;
	padding-top: 0.4em;
	padding-bottom: auto;
	cursor: pointer;
	display: inline-block;
}

#header .menu-right .dropdown .profilecard img, .users .profilecard img {
	vertical-align: middle;
	margin-right: 0.3em;
	object-fit: cover;
	object-position: 50% 30%;
}

#header .avatar, .users .avatar {
  vertical-align: middle;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

#header .menu-right .dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
	color: #333;
    /*min-width: 160px;*/
    box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.2);
    z-index: 1;
	padding-top: 0.5em;
	width: 13em;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

#header .dropdown-content p {
	padding-left: 1em;
	padding-top: 0;
	padding-bottom: 0;
}

/*
#header .menu-right .dropdown:hover .dropdown-content {
    display: block;
}
*/

#header .menu-right .dropdown-content li {
	vertical-align: center-left;
}

#header .menu-right .dropdown-content li a {
	text-decoration: none;
	color: #555;
	display: block;
	padding-top: 0.8em;
	padding-bottom: 0.8em;
	padding-left: 1em;
	padding-right: 3em;
}

#header .menu-right .dropdown-content li a:hover, #header .menu-right .dropdown-content li .current {
	border-left: 3px solid #044a7e;
	color: #000;
	padding-left: 0.8em;
}

#header .menu-right .dropdown-content ul {
	list-style-type: none;
    margin: 0 0 0 0;
    padding: 0;
    /*overflow: hidden;*/
	display: block;
	float: left;
}



#header .int .btn {
	right: 0;
	margin-right: 1em;
}


/* Repository Table */

.repotable {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

.repotable td, .repotable th {
    border: 0px solid #ddd;
    padding: 8px;
}

.repotable tr:nth-child(even){background-color: #f2f2f2;}

.repotable tr:hover, .checked {background-color: #ddd;}

.repotable th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #044a7e;
    color: white;
}
	
.repotable input[type:checkbox]:checked tr {
		background-color: blue;
	}
	
.repotable .repolink {
	text-decoration: none;
	color: #044a7e;
}

.repotable input[type=text], .repotable select, .repotable input[type=url] {
	padding: 0em 0.5em;
	line-height: 25px;
	height: 25px;
	margin: 0;
}

 /* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: #555;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;

    /* Position the tooltip text */
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;

    /* Fade in tooltip */
    opacity: 0;
    transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
} 

/* Admin Bereich Tabs */

* {box-sizing: border-box}

/* Style the tab */
.tab {
    float: left;
    border: 1px solid #ccc;
    background-color: #f1f1f1;
    width: 15%;
    height: 94%;
	margin-bottom: -3.3em;
}

/* Style the buttons that are used to open the tab content */
.tab button {
    display: block;
	font-size: 1em;
    background-color: inherit;
    color: black;
    padding: 22px 16px;
    width: 100%;
    border: none;
    outline: none;
    text-align: left;
    cursor: pointer;
    transition: 0.3s;
}

/* Change background color of buttons on hover */
.tab button:hover {
    background-color: #ddd;
}

/* Create an active/current "tab button" class */
.tab button.active {
    background-color: #ccc;
}

/* Style the tab content */
.tabcontent {
	display: none;
    float: left;
    padding: 0px 12px;
    border: 1px solid #ccc;
    width: 85%;
    border-left: none;
    height: 94%;
	margin-bottom: -3.3em;
	overflow: auto;
}

.tabcontent:first-child {
	display: block;
}

 /* The alert message box */
.alert {
  padding: 20px;
  background-color: #bcdf94;
  color: #333;
  font-size: 1em;
  margin-bottom: 15px;
  top: 1em;
  position: fixed;
  width: inherit;
  margin: auto;	
  left: 50%;
  transform: translateX(-50%);
  	-webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
}

@-webkit-keyframes animatetop {
    from {top:-300px; opacity:0} 
    to {top:0; opacity:1}
}

@keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

@-webkit-keyframes fadein {
    from {opacity:0}
    to {opacity:1}
}

@keyframes fadein {
    from {opacity:0}
    to {opacity:1}
}

/* The close button */
.closebtn {
  margin-left: 15px;
  color: #333;
  font-weight: bold;
  float: right;
  font-size: 22px;
  line-height: 20px;
  cursor: pointer;
  transition: 0.3s;
}

/* When moving the mouse over the close button */
.closebtn:hover {
  color: white;
} 


/* Formularfelder formatieren */

input[type=text], input[type=password], input[type=mail], input[type=color], input[type=url], select {
	background: #eaeaea;
    color: #333;
    text-decoration: none;
    padding: 0.2em 0.5em;
    border: 0;
	border-radius: 5px;
    /*display: block;*/
    margin: .5em 0;
	font-size: 1em;
	  -webkit-appearance: none; -moz-appearance: none;
	/*width: 10em; */
	height: 40px; 
	box-sizing: border-box;
	line-height: 40px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.19);
}

input[type=url]:invalid {
	border: 1px solid red;
}

input[type=color] {
	transform: translateY(24%);
	width: 50px;
}

select {
	/*border-right: 1em solid #044a7e;*/
	/*background-image: url('data:../img/caret-down-solid.svg+xml;utf8,<svg ...><g stroke="red" ... /></g></svg>');*/
	background-image: url('../img/angle-down-solid.svg');
	background-repeat: no-repeat;
	padding-right: 1.3em;
	background-position: 95% 50%;
	background-size: 0.8em;
	cursor: pointer;
}

#searchInput {
	background-image: url('../img/search-solid.svg');
	background-repeat: no-repeat;
	padding-left: 2em;
	background-position: 3% 50%;
	background-size: 1em;
	display: inline;
	width: 15em;
}

#searchInput:focus {
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

/* Admin -> Seitenlogo Vorschau */
.site_logo_preview1 {
	width: 10em;
	border: 1px solid #333;
	padding: 0.2em 0.5em;
	background: #044a7e;
}

.site_logo_preview1 img {
	width: 100%;
}

/* Admin -> Favicon Vorschau */
.site_favicon_preview1 {
	width: 3em;
	border: 1px solid #333;
	padding: 0.2em 0.5em;
	background: #f1f1f1;
}

.site_favicon_preview1 img {
	width: 100%;
}

/* Font Awesome Icons */


.repotable .action {
	color: #888;
	cursor: pointer;
	outline:none;
}

.repotable .action:hover {
	color: #333;
}

#profile {
	background-color: white;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
	width: 90%;
	height: 87%;
	border-radius: 10px;
	margin: auto;
}

#profile .profilecard {
	height: 30em;
	float: left;
	width: 22%;
	padding: 2em;
	margin: 1em;
}

#profile .profilecard:first-child {
	text-align: center;
}

#profile .profilecard img {
	width: 100%;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: 50%;
	width: 12em;
	height: 12em;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

#profile .container {
  position: relative;
  width: 50%;
}

#profile .image {
  opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

#profile .middle {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}

#profile .container:hover .image {
  opacity: 0.3;
}

#profile .container:hover .middle {
  opacity: 1;
}

#profile .text {
  background-color: #4CAF50;
  color: white;
  font-size: 16px;
  padding: 16px 32px;
}

#profile .profilecard h1 {
	margin: 0;
}

#profile .profilecard:first-child h1 {
	margin-top: 0.5em;
}


/* Rolle hinzufügen */
@media(min-width:700px) {
    .grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.permissionscheme {
	float: left;
}

#newrole .modal-content {
	top: -3em;
}

#newrole .modal-content h2 {
	margin: 0.5em;
}

#newrole .modal-content h3 {
	margin: 0.5em;
}

#newrole .groups {
	margin-bottom: 1.5em;
}

#newapp {
	-webkit-animation-name: fadein;
    -webkit-animation-duration: 1s;
    animation-name: fadein;
    animation-duration: 1s
}

/* Dashboard Cards */
 /* Three columns side by side */
.column {
  float: left;
  width: 33.3%;
  margin-bottom: 16px;
  padding: 0 8px;
}

/* Display the columns below each other instead of side by side on small screens */
@media screen and (max-width: 650px) {
  .column {
    width: 100%;
    display: block;
  }
}

/* Add some shadows to create a card effect */
.card {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

.cardheading {
	background-color: #044a7e;
	width: 100%;
	/*height: 8%;*/
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	/*margin-top: 50%;
	margin-bottom: 50%;*/
}

.cardheading h1 {
	text-align: center;
	color: #efefef;
	margin: auto;
	padding: 10px;
	font-size: 1.5em;
}

/* Some left and right padding inside the container */
.container {
  padding: 0 16px;
}

/* Clear floats */
.container::after, .row::after {
  content: "";
  clear: both;
  display: table;
}

.title {
  color: grey;
}

.button:hover {
  background-color: #555;
} 

.vm-card {
	position: relative;
	float: left;
	width: 20em;
	height: 20em;
	background: #eaeaea;
	margin: 1em;
	padding: 1em;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
	border-radius: 8px;
}

.vm-heading {
	width: 100%;
	text-align: center;
	padding-top: 1em;
}

.vm-heading h1 {
	font-size: 1.3em;
	margin: 0em;
	padding: 0;
}

.vm-heading h2 {
	font-size: 1em;
	margin-top: 0;
	margin-bottom: 0.5em;
	padding: 0;
}

.vm-icon {
	font-size: 3em;
	margin: 0;
}

.vm-config {
	position: relative;
	display: block;
	font-size: 0.9em;
}

.vm-config .power-on {
	color: green;
}

.vm-config .power-off {
	color: red;
}

.vm-config .paused {
	color: orange;
}

.vm-control {
	position: absolute;
    bottom: 1em;
	width: 100%;
}

.vm-control .loading {
	display: none;
}

.vm-control .vm-details {
	position: absolute;
	right: 2.2em;
}

.vm-control .btn {
	font-size: 0.9em;
}

#announcements {
	position: fixed;
	background: #eeeeee;
	display: inline-block;
	right: 0;
	/*transform: translateX(-50%);*/
	font-family: "Calibri";
	width: 25em;
	border-left: 1px solid #044a7e;
	height: 100%;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

#announcements h1 {
	display: inline;
	margin-left: 1em;
	font-size: 1.5em;
}
#announcements .scroll-container {
	overflow: auto;
	height: 82%;
}

#announcements .announcement {
	width: 90%;
	padding: 1em;
	margin: 1.5em;
	background: #eaeaea;
	border-radius: 0.3em;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

#announcements .announcement .heading {
	border-bottom: 4px solid #044a7e;
}

#announcements .announcement h2 {
	font-size: 1.3em;
	display: inline;
	margin: 0;
	margin-bottom: 0.2em;
}

#announcements .announcement .date {
	font-size: 0.8em;
	margin-bottom: 0.5em;
}

#announcements .footer {
	position: fixed;
	/*text-align: center;*/
	display: block;
	bottom: 0;
	height: 5%;
	width: 25em;
	padding: auto;
	background: #044a7e;
	color: white;
}

#announcements .footer p {
	text-align: center;
}

.close-announcement {
	cursor: pointer;
	position: fixed;
	/*top: 1em;*/
	right: 0em;
	color: #044a7e;
	margin: 0.5em;
	font-size: 2em;
	padding: 3px;
}

.close-announcement:hover {
	color: black;
}

.close-announcement-hover {
	display: none;
}
.close-announcement:hover .close-announcement-hover {
	display: block;
}

.priority {
	display: inline;
	position: fixed;
	right: 1em;
	/*top: 0;*/
	transform: translateY(-0.3em);
	font-size: 2em;
}

.priority-1 {
	color: #044a7e;
}

.priority-2 {
	color: #044a7e;
}

.priority-3 {
	color: #FFBF00;
}

.priority-4 {
	color: #B40404;
}

a {
    color: #044a7e;
    text-decoration: none;
}

.infobox-success {
	width: 80%;
	margin: 0 auto;
	padding: 1em 2em;
	vertical-align: middle;
	background-color: #ccffcc;
	border: 2px solid #6abc6e;
}

#loader {
  border: 8px solid #f3f3f3; /* Light grey */
  border-top: 8px solid #044a7e; /* Blue */
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 1s linear infinite;
  margin: auto;
  display: none;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/***** Sidebar *****/

.sidebar {
	width: 250px; height: 100vh; position: fixed; top: 0;  z-index: 999; 
	background: #333; color: #fff; transition: all .3s; box-shadow: 3px 3px 3px rgba(51, 51, 51, 0.5);
	text-align: left;
}

.sidebar.active { left: 0; }

.dismiss {
	width: 35px; height: 35px; position: absolute; top: 10px; right: 10px; transition: all .3s; 
	background: #444; border-radius: 4px; text-align: center; line-height: 35px; cursor: pointer;
}

.dismiss:hover, .dismiss:focus { background: #555; color: #fff; }

.sidebar .logo { padding: 40px 20px; border-bottom: 1px solid #444; transition: all .3s; }

.sidebar .logo a {
	display: inline-block;
	width: 172px;
	height: 45px;
	background: url(/img/hfaudio-logo-light.png) left top no-repeat;
	background-size: contain;
	border: 0;
	text-indent: -999999px;
}

.sidebar ul.menu-elements { padding: 10px 0; border-bottom: 1px solid #444; transition: all .3s; }

.sidebar ul li a {
	display: block; padding: 10px 20px;
	border: 0; color: #fff;
}
.sidebar ul li a:hover,
.sidebar ul li a:focus,
.sidebar ul li.active > a:hover,
.sidebar ul li.active > a:focus { outline: 0; background: #555; color: #fff; }

.sidebar ul li a i { margin-right: 5px; }

.sidebar ul li.active > a, a[aria-expanded="true"] {
	background: #444;
	color: #fff;
}

.sidebar ul ul a { background: #444; padding-left: 30px; font-size: 14px; }

.sidebar ul ul li.active > a { background: #555; }

.sidebar a[data-toggle="collapse"] {
    position: relative;
}

.sidebar .dropdown-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.sidebar .to-top { padding: 20px; text-align: center; }

.sidebar .dark-light-buttons { padding: 10px 20px 30px 20px; text-align: center; }

/* sidebar light */

.sidebar.light { background: #fff; color: #888; }

.sidebar.light .dismiss { background: #ddd; color: #888; }

.sidebar.light .dismiss:hover, 
.sidebar.light .dismiss:focus { background: #ccc; color: #888; }

.sidebar.light .logo { border-color: #eee; }
.sidebar.light .logo a { background-image: url(/img/hfaudio-logo-dark.png); }

.sidebar.light ul.menu-elements { border-color: #eee; }

.sidebar.light ul li a { color: #888; }

.sidebar.light ul li a:hover,
.sidebar.light ul li a:focus,
.sidebar.light ul li.active > a:hover,
.sidebar.light ul li.active > a:focus { background: #ccc; color: #888; }

.sidebar.light ul li.active > a, .sidebar.light a[aria-expanded="true"] {
	background: #ddd;
	color: #888;
}

.sidebar.light ul ul a { background: #ddd; }

.sidebar.light ul ul li.active > a { background: #ccc; }

.sidebar.light a.btn-customized-3 { background: #ddd; color: #888; }

.sidebar.light a.btn-customized-3:hover, 
.sidebar.light a.btn-customized-3:active, 
.sidebar.light a.btn-customized-3:focus, 
.sidebar.light a.btn-customized-3:active:focus, 
.sidebar.light a.btn-customized-3.active:focus,
.sidebar.light a.btn-customized-3.btn.btn-primary:not(:disabled):not(.disabled):active,
.sidebar.light a.btn-customized-3.btn.btn-primary:not(:disabled):not(.disabled):active:focus {
	background: #ccc; color: #888;
}

.sidebar.light a.btn-customized-4.btn-customized-dark { background: #555; }
.sidebar.light a.btn-customized-4.btn-customized-light { background: #eee; }

.sidebar.light a.btn-customized-4.btn-customized-dark:hover, 
.sidebar.light a.btn-customized-4.btn-customized-dark:active, 
.sidebar.light a.btn-customized-4.btn-customized-dark:focus, 
.sidebar.light a.btn-customized-4.btn-customized-dark:active:focus, 
.sidebar.light a.btn-customized-4.btn-customized-dark.active:focus,
.sidebar.light a.btn-customized-4.btn-customized-dark.btn.btn-primary:not(:disabled):not(.disabled):active,
.sidebar.light a.btn-customized-4.btn-customized-dark.btn.btn-primary:not(:disabled):not(.disabled):active:focus {
	background: #ccc; color: #fff;
}

.sidebar.light a.btn-customized-4.btn-customized-light:hover, 
.sidebar.light a.btn-customized-4.btn-customized-light:active, 
.sidebar.light a.btn-customized-4.btn-customized-light:focus, 
.sidebar.light a.btn-customized-4.btn-customized-light:active:focus, 
.sidebar.light a.btn-customized-4.btn-customized-light.active:focus,
.sidebar.light a.btn-customized-4.btn-customized-light.btn.btn-primary:not(:disabled):not(.disabled):active,
.sidebar.light a.btn-customized-4.btn-customized-light.btn.btn-primary:not(:disabled):not(.disabled):active:focus {
	background: #ccc; color: #fff;
}