:root {
	--bb: #ddddff40;
	--ob: #cceeccff;
	--lCw: 2.5em;
	--maxOption: 10;
	--headerHc: #182;
	--menuHc: #1824;
	
	--maxHeight: 600px;

	--customDark: #5d0f68;
	--customMid: #7e518a;
	--customLight: #e2dae8;
	--headerHc: #5d0f68;
	
	--userDark: #5d0f68;
	--userMid: #7e518a;
	--userLight: #e2dae8;
	--userEditArea: #e2dae8;

	--playBackGround: #bcbcff;

	--checker-color-1: #999;
	--checker-color-2: #666;
	--checker-size: 7px;
	--checker-gradient: linear-gradient(45deg, var(--checker-color-1) 25%, transparent 25%, transparent 75%, var(--checker-color-1) 75%);
  
  /*
change of variables:
document.documentElement.style.setProperty('--lCw', '2.5em');
  */
}

html, body {
	background-color: var(--bb) !important;
	z-index:0;
	margin: 0px;
	overflow: hidden; 
	height: 100%;
}

/*div#title_bar::-webkit-scrollbar {
width: 0px;
background: transparent;
}
*/

header {
	position: sticky;
	top: 0px;
	z-index: 1;
	user-select: none;
}
main {
	height: calc(100vh - 70px);
	overflow: wrap;
}
@keyframes background-color {
  from {
    background-color: 1;
  }
  to {
    background-color: 0;
  }
}
div#title_ {
	position: relative;
}
div#title_ > img {
	position: absolute;
	max-height: 45px;
}
div#cover {
    position: absolute;
	width: 100%;
	height: 100%;
    top: 0;
	background-color: #0005;
	z-index: 1;
}

img#waiting {
	position: absolute;
	z-index: 9999;
	top: 50%;
	left: 50%;
	width:100px;
	margin: -50px;
}

div#title_bar {
	//max-height: calc(100% - 50px);
	overflow-y: hidden;
	--lh: 30px;
	top: 0px;
	display: flex;
	width: 100%;
	height: var(--lh);
	background-color: var(--headerHc);
	color:white;
	font:11px Calibri, sans-serif;
    z-index: 1;
	line-height: var(--lh);
}

div#title_bar > *{
	padding: 0 10px;

}
div#title_ {
	padding: 0 20px 0 10px;
	font-size: 14px;
	font-weight: bolder;
}
div#title_current_file {
	padding: 0 20px ;
	font-size: 13px;
	font-weight: bolder;
}

div#menu_bar {
	--lh: 20px;
	top: 30px;
	display: flex;
	width: 100%;
	height: var(--lh);
	background-color: white;
	color: var(--headerHc);;
	font:10px Calibri, sans-serif;
    z-index: 1;
	line-height: var(--lh);
	border-bottom: 1px solid #88f4;
}

div#title_state  {
	margin-top: -3px;
	}
	
div#title_state  td:nth-child(2n+1) {
	font-weight: 600;
	text-align: right;
}
div#title_state  td:nth-child(2n+2) {
    font-style: italic;
    min-width: 25px;
    text-align: left;
}	
div#title_state  td:nth-child(2) {
	font-style: italic;
	min-width: 75px;
}
div#title_state  td:first-child {
	font-weight: 600;
}
div#title_id {
    right: 10px;
    position: absolute;
    border: 2px solid white;
    border-radius: 13px;
    height: 22px;
    line-height: 2.2;
    padding-right: 3px;
    padding-left: 3px;
    margin-top: 2px;
}
div#title_id:hover {
	background-color: blue;
	background-color: color-mix(in srgb, var(--customDark) 10%, white);
}
div#menu_bar > *{
	padding: 0 10px;
}
div#menu_bar > span {
	padding: 2px 3px;user-select: none;
}
div#menu_bar span {
	cursor: pointer;
	user-select: none;
}
div#menu_bar > span:hover {
	background-color: var(--menuHc);
	//padding: 2px 3px;
}/*
div#menu_bar > div > span + span { *//* div#menu_bar > div > span:nth-child(2)*//*
	position: absolute;
    top: 49px;
    margin-left: -18px;
    background-color: white;
    padding: 10px;
	border: 1px solid #3335;
	line-height: 1.8em;
    cursor: default;
	display: none;
}
div#menu_bar > div >  span + span.show-menu { /*div#menu_bar > div > span.show-menu:nth-child(2)*//*
	display: block;
}*/

div#menu_bar > div > span.show-window {
	position: absolute;
    top: 49px;
    margin-left: -18px;
    background-color: white;
    padding: 0 10px;
	border: 1px solid #3335;
	line-height: 1.8em;
    cursor: default;
	display: none;
}

div#menu_bar > div > span.show-window.show-menu {
	display: block;
	display:inline-block;
}

div#files_bar {
	--lh: 20px;
	top: 50px;
	display: flex;
	width: 100%;
	height: var(--lh);
    height: fit-content;
	background-color: #8f82;
	color: black;
	font:10px Calibri, sans-serif;
	line-height: var(--lh);
	z-index: 1;
	border-bottom: 1px solid #88f4;
}
div#files_bar.off {
	display: none;
}
div#files_bar > div {
	position: relative;
	background-color: white;
	background-image: linear-gradient(to right, var(--customDark), var(--customMid));
	color: white;
	background-color: var(--customLight);
	color: #aaa;
    padding: 0 18px 0 4px;
	padding-right: 25px;
    margin: 1px 2px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	padding-left: 15px;
}


div#files_bar > div > div {
	--lh: 11px;
	color: white;
	background-color:red;
	border: 1px solid black;
    position: absolute;
    top: 3px;
    right: 3px;
    width: 9px;
    height: var(--lh);
    line-height: var(--lh);
    padding-left: 3px;

	opacity: 0.4;
}
div#files_bar > div.nonsaved {
    font-style: italic;
	padding-left: 0px!important;
}
div#files_bar > div > div:hover {
	opacity: 1;
}


div#files_bar > div.active {

	background-color: white;
	background-image: linear-gradient(to right, white, var(--customLight));
	/*background-image: linear-gradient(to right, var(--customDark), var(--customMid));*/
	color: var(--customDark);
	background-image: linear-gradient(to right, var(--customDark), var(--customMid));
	color: white;
}

h2 {
	//background-color: var(--ob);
	background-color: #77ee77ff;
	color: white;
	text-shadow: 2px 0 0 #000, -2px 0 0 #000, 0 2px 0 #000, 0 -2px 0 #000, 1px 1px #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
	padding: 5px 10px;
	margin: 5px 0 0 7px;
	width: -moz-fit-content;
	width: fit-content;
	border: 1px solid #0007;
	box-shadow: 0px 0px 5px #4747;
	/*box-shadow: 0px 0px 15px #447744,
		0px 0px 10px -3px #225522;	*/
	display:none;
}
/*slettes*/
div#selectedInterface {
	border: black 1px solid;
	background-color: var(--ob);
	white-space: nowrap;
  	justify-content: space-between;
  	margin-left:10px;
	width: -moz-fit-content;
  	width: fit-content;
	vertical-align:top;
}

/* div => span START */
div#menu_bar > div > span#explorer {
	background-color: var(--ob);
	background-color: white;
	line-height: 1.3em;
	box-shadow: 0px 0px 5px #4747;
	position: absolute;
	z-index: 1;
    max-height: var(--maxHeight);
    overflow-y: auto;
}
span#explorer.show_menu, span#explorer.show_menu.on  {
	display: block;
}
span#explorer ul li {
	vertical-align:top;
	}
span#explorer ul li.active {
	//outline: 1px black dotted;
	//width: fit-content;
	background-color: #8888ff88;
	}
span#explorer ul {
	padding-inline-start: 30px;
	}

span#explorer li.folder {
	list-style-image: url(images/folderImageMS3.png);
	margin-left:15px;
	/*font-weight: 900;
	text-decoration: underline solid black;
	font-size: 16px;*/
}
span#explorer  ul {
 	list-style-type: "";
	display = "none";
}

span#explorer  ul, ul ul {
 	margin-left:-15px;
 	font-size: 12px;
}

/* div => span SLUT */


textarea {
	background-color:bisque;
	padding-left: calc(var(--lCw) + 10px);
	padding-top: 10px;
    border-color:#ccc;
    font-size: 13.333333333px;
	line-height: 1.1524;
	/* important */
    -moz-tab-size : 4;
      -o-tab-size : 4;
         tab-size : 4;
	border-radius: 0;
	resize: none;
    margin-right: 5px;
	height: calc(100vh - 86px);
	width: calc(100% - var(--lCw) - 10px);
}
textarea:focus-visible {outline:none;}

#lineCounter, .lineCounter {
	resize: none;
	display: flex;
	border-color: transparent;
	overflow-y: hidden;
	text-align: right;
	box-shadow: none;
	color: #303030;
	background-color: #d8d8d8;
	position: absolute;
	margin: 2px 0 0 2px;
	padding-left: 1px;
	border-right-color: #7777ff77;
	width: var(--lCw);
	padding-top: 8px;
	outline: none;
}

p#question, p#gquestion, p#gquestionpreView {
    position: absolute;
	right: 0;
    margin: 3px;
    display: inline-block;
    border-radius: 50%;
    width: 16.2px;
    height: 16.2px;
    margin-top: 0px;
    border: solid 2px white;

    background-color: blue;
    color: white;
    text-align: center;
    vertical-align: middle;
    font: normal normal 900 0.8em arial;
	box-shadow: 0px 0px 5px 3px #ccffcc;
    opacity: 0.5;
	transition: opacity 0.25s linear;
}

p#question:hover {
	cursor: help;
    opacity: 1;
}

div#hEl {
	position: absolute;
	width: auto;
	height: auto;
	font-size: 13.333333333px;
	line-height: 1.1524;
	background-color: #c4c4c4;
	color: blue;
	font-family: monospace;
	font-weight: 400;
	z-index: 0;
	border: 0;
}
div#hEl select {
//	font-size: 13.333333333px;line-height: 1.1524;color: blue;border: 0;
	overflow:auto;
	font-family: monospace;
	background-color: #88ff8800;
	outline: none;
	padding: 0;
	margin: 0 0 0 -3px;
	overflow-y: auto;
	max-height: calc( 17px * var(--maxOption));
	z-index: 2;
}

select option {
    line-height: 20px;
}

@media print {
  h1.divFooter {
    position: fixed;
    top: -20px;
	right:0;
	color:#00000080;
  }
  body {
	-webkit-print-color-adjust: exact;
	-moz-print-color-adjust: exact;
	-ms-print-color-adjust: exact;
	print-color-adjust: exact;
  }
}

div#education /*, span#explorer*/ {
	opacity:1;
	position: absolute;
	height: auto;
	width: auto;
	background-color: bisque;
	display: inline;
	display: none;
	box-shadow: 0px 0px 5px #4747;
	z-index: 1;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
	
	top:0;
	left:0;
}
span#explorer ul > li> stroke {
	position: absolute;
	width: 2px;
	left: 0;
	top:0;
	background-color: black;
}
span#explorer ul > li.active.playing > stroke {
	background-color: white;
}
span#explorer ul > li > time {
	position: absolute;
	width: fit-content;
	right: 4px;
	top:0;
	color: black;
}
span#explorer ul > li.active.playing > time {
	color: white;
}
span#explorer ul > li.playing:not(.active) {
	/*background-color: red;*/
	margin: -2px;
	border: 2px solid green;
}
/*span#explorer ul > li.active.playing {
	background-color: transparent;
}*/
div#education header, span#explorer header {
	background-color: white;
	font-size: 12px;
	margin-top: 0;
	padding: 0 10px;

	position:relative;
	display:block;
	z-index:2;
}

div#education h1, span#explorer h1{
	font-size: 12px;
}
div#education.active h1, span#explorer.active h1 {
	font-size: revert;
}
span#explorer.active {
	position: fixed;
}
div#education.active {
	position: absolute;
}

div#education.active h1:nth-child(2), span#explorer.active h1:nth-child(2) {
	opacity: 1;
}
div#education div#content{
	display: none;
}
div#education.active div#content{
	overflow-y: auto;
	display: block;
	max-height: 200px;
	padding: 5px;
}

div#abel {
	background-color: red;
}

iframe#preView {
	position: relative;
	display:none;
	width: auto;
	max-width: 100%;
    height: auto;
	background-color: bisque;
	right:10px;
	top:10px;
	border: 1px black double;
	transform-origin: 100% 0%;
	z-index: 1;
	opacity: 0;
	min-width: 200px;
	min-height: 200px;
	font-weight: 400;
	top: 0;
    /*width: 100%;
    height: 100%;*/
	/*width: fit-content;
	height: fit-content;*/
    max-height: 2000px;
	//overflow:hidden;
}
div#confEx {
	/*-position: relative;*/
	width: fit-content;
    height: auto;
	background-color: var(--bb);
	border: 2px var(--customDark) double;
	min-width: 100px;
	min-height: 100px;
}

div#confEx > table {
	background-color: bisque;
}

div#confEx > table td {
	border: 1px black solid;
	border-width: 1px 0;
	padding: 0 3px;
	text-align: center;
}
div#confEx > table td:nth-child(1) {
	text-align: left;
}
div#confEx > table td > input {

}
div#confEx > table td:nth-child(4),
div#confEx > table tr:last-child > td:nth-child(2) {
	background-color: red;
	border-radius: 50%;
	padding: 0;
	font-weight: 900;
	color:white;
	font-size: 1.2em;
	width: 20px;
}

div#confEx > table td:nth-child(4):hover,
div#confEx > table tr:last-child > td:nth-child(2):hover {
	cursor: pointer;
}

div#confEx.move {
	cursor: all-scroll;
}
div#confEx.order {
	cursor: grab;
}
div#confEx tr.rowSelect,  div#confEx table.rowSelect {
	background-color: CornflowerBlue;
	font-weight: 700;
}

div#confEx tr:first-child td{
	background-color: white;
	border-top: 1px solid white;
}

div#confEx.on, div#colour.on , iframe#preView.on {
	opacity: 1;
	display:block;
}
* {
  touch-action: manipulation;
}
div#confEx table.cloneRow {
	position: absolute;
	cursor: grab;
	z-index: 2;
}

div#color {
	position: absolute;
	border-radius: 50%;
	width : 50px;
	height: 50px;
	font-size: 10px;
	border: 3px double black;
	overflow-wrap: break-word;
	text-align: center;
}/* slettes
div#explaination {
	position: absolute;
	width : auto;
	height: auto;
	font-size: 12px;
	border: 3px double black;
	overflow-wrap: break-word;
	text-align: left;
	background-color: var(--ob) !important;
	color: black;
	padding: 1px 5px;
}
*/
@keyframes opacity {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

iframe#preView > img#phppreView {
	position: absolute;
	height: auto;
	width: 30px;
    opacity: 0.7;
    top: -10px;
    left: -15px;
}

div#colorListLine {
	position: absolute;
	line-height: 18px;
	height: 18px;
	font-size: 16px;
	font-weight: bold;
	z-index: 1;
	pointer-events: none;
	padding-left: 1px;
	padding-right: 6px;
	border: 1px solid black;
	background-color: blue;
	min-width: fit-content;
}
img#guestArrow {
	position: absolute;
	top: 252px;
	left: 408px;
	width: 100px;
	height: auto;
	transform: rotate(11deg);
	z-index:2;
	opacity: 1;
	display: block;
	filter: invert(51%) sepia(83%) saturate(622%) hue-rotate(192deg) brightness(96%) contrast(93%);
	transition: filter 5s linear, opacity 2s ease-in-out 5s;
}

@keyframes filter {
	0%	{filter: invert(51%) sepia(83%) saturate(622%) hue-rotate(192deg) brightness(96%) contrast(93%);}// CornFlowerBlue
	19%	{filter: brightness(0) saturate(100%);}
	20% {filter: invert(76%) sepia(8%) saturate(7286%) hue-rotate(189deg) brightness(64%) contrast(102%);} // CadetBlue
	100%{filter: invert(15%) sepia(95%) saturate(3874%) hue-rotate(339deg) brightness(91%) contrast(97%);} // Crimson
}
/* https://codepen.io/sosuke/pen/Pjoqqp */

div#colour {
    border: 10px double purple;
    border-radius: 3px;
    position: fixed;
    left: 1071px;
    top: 339px;
	opacity: 0;
	display: none;
	z-index: 2;
}

div#re_print {
	display: inline-block;
    font: normal normal 400 0.7em arial blue;
	vertical-align: top;
}

div#editTextMenu {
	display: inline-block;
    font: normal normal 400 0.7em arial blue;
	vertical-align: top;
	padding: 2px;
	user-select: none;
}

div#editTextMenu > table {
    border-collapse: collapse;
}
div#editTextMenu  > table:hover {
	cursor: pointer;
}
div#editTextMenu > table td {
	border: 1px solid black;
	text-align: center;
	padding: 0 3px;
}
div#editTextMenu > table td:empty {
	border-top: none;
	border-bottom: none;
	width: 1px;
	cursor: default;
}
div#editTextMenu > table td:last-child, table td:first-child {
	cursor: default;
}

div#editTextMenu > table tr:rirst-child  td:last-child {
	border: none;
	vertical-align:top;
}
div#editTextMenu > table td.on {
    box-shadow: 1px 1px 2px 2px inset #fff9;
    font-weight: 200;
    border-radius: 2px;
    background-color: #0b0f;
	color: white;
}
div#editTextMenu td.button {
    vertical-align: middle;
    color: black;
    font-style: normal;
    font-weight: 600;
    height: 16px;
    font-size: 12px;
	background-color: #d8d8d8;
	min-width: 40px;
}
div#editTextMenu > table td.show.on {
    box-shadow: 1px 1px 2px 2px inset #fff9;
    font-weight: 200;
    border-radius: 2px;
    background-color: #00bf;
	color: white;
}
div#editTextMenu > table td.button.on {
    color: red;
    font-style: italic;
    font-weight: bold;
	background-color: #d8d8d8d8;
}
div#editTextMenu > table td#save.button.nonsaved {
    //color: red;
    font-style: italic;
    //font-weight: 900;
}
div#tabs {
	height: 19px;
	margin-left: 40px; /* = width of lineCounter */
	top:0;
	width:fit-content;
	background-color: lightGreen;
	font-size: 15px;
	position: relative;
    display: flex;
}
div.tab {
	//background-image:  linear-gradient(to right, lightGrey, grey);
	padding: 2px 5px 2px;
}

div#tabs div.oneside {
	background-image: linear-gradient(to right, #777, #bbb);
	position: relative;
	min-width: fit-content;
	padding: 0px 6px 0px;
	z-index: 0;
}
div#tabs div.oneside:after {
    content: " ";
    position: absolute;
    top: 0px;
	left: 15px;
    display: block;
    width: 100%;
    height: 100%;
    background-image:  linear-gradient(to right, #777, #bbb);
    transform-origin: left bottom;
    -ms-transform: skew(35deg, 0deg);
    -webkit-transform: skew(35deg, 0deg);
    transform: skew(35deg, 0deg);
    z-index: -1;
}

/* CONTEXT-MENU */
.menu {
  position: absolute;
  min-width: 140px;
  width: fit-content;
  padding: 2px;
  margin: 0;
  border: 1px solid #bbb;
  background: #eee;
  background: -webkit-linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%);
  background: linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%);
  z-index: 100;
  border-radius: 3px;
  box-shadow: 1px 1px 4px rgba(0,0,0,.2);
  opacity: 0;
  -webkit-transform: translate(0, 15px) scale(.95);
  transform: translate(0, 15px) scale(.95);
  transition: transform 0.1s ease-out, opacity 0.1s ease-out;
  pointer-events: none;
}
.menu-item {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
.menu-btn {
  background: none;
  line-height: normal;
  overflow: visible;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  width: 100%;
  color: #444;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 2px 4px;
  border-radius: 3px;
}
.menu-btn.small {
  font-family: sans-serif;
  font-size: 11px;
	top: 30px;  
}
.menu-item:hover > .menu-btn.small {
  color: #fff;
  outline: none;
  background-color: #2E3940;
  background: -webkit-linear-gradient(to bottom, #5D6D79, #2E3940);
  background: linear-gradient(to bottom, #5D6D79, #2E3940);
  border: 1px solid #2E3940;
}

 .menu-btn::-moz-focus-inner, .menu-btn::-moz-focus-inner {
 border: 0;
 padding: 0;
}
.menu-text { margin-left: 25px; }
.menu-btn .fa {
  position: absolute;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.menu-item:hover > .menu-btn {
  color: #fff;
  outline: none;
  background-color: #2E3940;
  background: -webkit-linear-gradient(to bottom, #5D6D79, #2E3940);
  background: linear-gradient(to bottom, #5D6D79, #2E3940);
  border: 1px solid #2E3940;
}

.menu-item.disabled {
  opacity: .5;
  pointer-events: none;
}
.menu-item.disabled .menu-btn { cursor: default; }
.menu-separator {
  display: block;
  margin: 7px 5px;
  height: 1px;
  border-bottom: 1px solid #fff;
  background-color: #aaa;
}
.menu-item.submenu::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: #808080;
}
.menu-item.submenu:hover::after { border-left-color: #fff; }
.menu .menu {
  top: 4px;
  left: 99%;
}
.show-menu, .menu-item:hover > .menu {
  opacity: 1;
  -webkit-transform: translate(0, 0) scale(1);
  transform: translate(0, 0) scale(1);
  pointer-events: auto;
}
.menu-item:hover > .menu {
  -webkit-transition-delay: 100ms;
  transition-delay: 300ms;
}

/* CONTEXT-MENU END*/
div#files_bar > div.nonsaved::before {
	font-family: FontAwesome;
	content: "\a0\f040\a0\a0";
	padding-left: 0px;
    color: #aaa;
}
div#files_bar > div.nonsaved.active::before {
	color: white;
}

.playing::before {
	font-family: FontAwesome;
	content: "\a0\f001\a0";
	animation: playing 1s ease-in-out 0s infinite alternate;
	color: white;
}

li.playing::before {
	background-color: white;
	color: black;
}
li.playing.active::before {
	background-color: #bcbcff; /*var(--playBackGround);*/
	color: white;
}
span.playing::before {
margin-left: -13.6px;
}
@keyframes playing {
	0% {color: Black;}
	80% {color: #bcbcff;}
	100% {color: #bcbcff;}
}

.moveToElement {
	border: 1px dotted black;
	font-weight:900;
}
.moveToElement::before {
	content: '\2192 ';
}
menu#contextMenu > li:last-child > button > i + span > div {
	position: absolute;
	padding: 2px;
	background-color: var(--customLight);
    color: var(--headerHc);
    font: 12px Calibri, sans-serif;
	box-shadow: 0px 0px 5px #4747;
}
menu#contextMenu > li:last-child > button > i + span > div > input {
	background-color: white;
    color: var(--headerHc);
    font: 12px Calibri, sans-serif;
}