:root {
	--theme_color: 50,150,150;
	--theme_header_color: 50,150,150;
	--bg_color: 255,255,255;
	--warning_color: 255,136,0;
	--alarm_color: 255,0,0;
	--shadow_color: 0,0,0;
}

* {
  box-sizing: border-box;
  overflow-wrap: break-word;
  margin: 0;
  padding: 0;
  font-family: Lato, sans-serif;
}

html {
	scroll-behavior: smooth;
}

body {
  /*background-color: rgb(var(--theme_color),0.2);*/
  font-size: 16px;
  background-color: rgb(var(--bg_color));
}
body.overflow_hidden {
	overflow: hidden;
}

svg {
	fill: currentColor;
}

a {
	color: rgb(var(--text_color));
}

.color-warning {
	color: rgb(var(--warning_color));
}

.color-alarm {
	color: rgb(var(--alarm_color));
}


.box-alarm {
    padding: 5px;
	background-color: rgb(var(--alarm_color));
	color: white;
	border-radius: 5px;
}


main {
	width: 100%;
	text-align: center;
	color: rgb(var(--text_color));
}

.sideNav {
	display: none;
	position: fixed;
	width: 100%;
	top: 0;
	bottom: 0;
	text-align: center;
	z-index: 899;
	background-color: rgb(var(--theme_header_color),1);
}

.sideNav > *{
	display:grid;
	grid-template-rows: 1fr;
	height: 100%;
}

.sideNavHead {
	display: none;
	cursor: pointer;
	background-color: rgb(var(--theme_header_color),1);
}
.sideNavHead > a {
	color: black;
	text-decoration: none;
}

.sideNavBody {
	display: grid;
	grid-template-rows: 1fr auto;
	overflow: auto;
}

.sideNavMain {
	overflow: auto;
}

.sideNavBody > div {
	font-size: 2em;
	padding: 5px 15px;
}

.sideNavBody a {
	display: block;
	color: white;
	text-decoration: none;
	margin: 10px 0;
	cursor: pointer;
}
.sideNavBody a:hover {
	background-color: rgb(0, 0, 0, 0.2);
	border-radius: 5px;
}





.dropup {
	bottom: 100%;
}



.loading {
	display: none;
	position: fixed;
	top:0;
	left:0;
	height: 100%;
	width: 100%;
	z-index: 999;
    background-color: rgb(0,0,0,0.6);
}
#loading-companys {
	background-color: rgb(255, 255, 255, 0.1);
}
#loading-companys.loading-companys-spinner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
    z-index: 999 !important;
}
#loading-companys.loading-companys-spinner .loading-companys-spinner-icon {
    width: 50px;
    height: 50px;
    border:  solid 7px transparent;
    border-top-color:  #00C8B1 !important;
    border-left-color: #00C8B1 !important;
    border-radius: 50%;
    animation: loading-companys-spinner 400ms linear infinite;
}
@keyframes loading-companys-spinner {
  0%   { transform: rotate(0deg);   transform: rotate(0deg); }
  100% { transform: rotate(360deg); transform: rotate(360deg); }
}

@keyframes loading-basket {
  0% {
		margin-left: -100%;
		transform: rotate(0deg);
	}
	20%{
		transform: rotate(-20deg);
	}
	80%{
		transform: rotate(20deg)
	}
	100% {
		margin-left: 50%;
		transform: rotate(20deg);
	}
}

#loading-spinner.spinner {
    left: 50%;
    margin-left: -50px;
    top: 50%;
    margin-top: -50px;
    position: absolute;
    z-index: 999 !important;
    animation: loading-basket 3s ease infinite;
}
#loading-spinner.spinner .spinner-icon {
    width: 200px;
    height: 200px;
    background-size: 100%;
    background-image: url(/staticImage/LOGO_transparent.png);
}

.header {
  font-size: 1.5em;
  /*grid-area: header;*/
  display: grid;
  grid-template-columns: auto 1fr auto;
  background-color: rgb(var(--theme_header_color),1);
  align-items: center;
  text-align: center;
  
  position: sticky;
  width: 100%;
  top: 0%;
  
  z-index: 101;
}
#index .header_return,
#index .header_name,
#info .header_return,
#info .header_name {
	font-size: 1.8em;
}
.header > * {
	padding: 5px;
}
.header_return {
	cursor: pointer;
}
.header_name {
	font-size: 1em;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: black;
  text-decoration: none;
}
.header_logo {
	height: 1em;
}
.header_nav {
	font-size: 0.8em;
	cursor: pointer;
	padding: 0;
}
.header_nav > div {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.header_nav > div > div {
  padding: 10px 20px;
}
.header_nav > div:hover > div {
  color: white;
}








.footer {
  background-image: linear-gradient(transparent, 30%, rgb(var(--theme_color), 1));
  background-color: rgb(var(--theme_color), 1);
  width: 100%;
  padding-top: 20px;
  margin-top: auto;
}
.footer > div:first-child {
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}
.footer > div:last-child {
	text-align: center;
}
.footer > div > div{
	padding: 5px 10px;
}
.footer > div > div > div{
	padding: 3px 0;
}
.footer a {
	color: rgb(var(--text_color));
}




/*Extra small devices (portrait phones, less than 576px)
No media query since this is the default in Bootstrap*/

/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {
	body {
    	font-size: 18px;
  	}
}

/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
	body {
	    font-size: 18px;
	}
	
}

/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
	body.overflow_hidden {
	  	overflow: auto;
	}
	.sideNav {
		display: block;
		position: fixed;
		width: 250px;
		height: auto;
		text-align: left;
	}
	.sideNav > * {
		display:grid;
		grid-template-rows: auto 1fr;
	}
	.sideNavHead {
		font-size: 2em;
		display: block;
		padding: 5px;
	}
	
	.sideNavBody > div {
		font-size: 1.2em;
	}
	main {
		margin-left: 250px;
		width: calc(100% - 250px);
	}
  	.header{
  		position: fixed;
  		margin-left: 250px;
  		width: calc(100% - 250px);
  		font-size: 1.5em;
  	}
  	.header_return {
  		padding: 5px 50px;
  	}
  	.header_nav {
  		display: none;
  	}
  	#index .header,
  	#info .header {
  		display: none;
  	}
  	#index main,
  	#info main {
  		margin-top: 0 !important;
  	}
  	#loading-spinner.spinner {
    	animation: loading-basket 5s ease infinite;
  	}
}

/*Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {

}

/*XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 
	
}

/* CSS Code wenn Dark Mode aktiv */ 
@media (prefers-color-scheme: dark) {
	
	:root {
		--text_color: 200,200,200;
		--bg_color: 30,35,35;
		--warning_color: 180,90,0;
		--alarm_color: 200,0,0;
		--shadow_color: 255,255,255;
	}
	
	img {
		filter: brightness(0.8);
	}
	
	.company-orders > svg {
		filter: brightness(2);
	}
	
	.main{
		color: rgb(var(--text_color));
		
	}
	
}





