:root {
  color-scheme: standard light dark pink margenta black red green multicolor;
  --menu-top-height: 55px;
  --menu-left-width: min(16%,calc(110px/0.8));
  --color-active: #FFA23A;
  --color-active-hover: #FFAE15;
  --color-foldable-section-active: #777;
  --color-foldable-section-active-hover: #999;
  --color-placeholder: rgb(122, 122, 122);
}
:root.standard {
  --background: #172030;
  --color-background: #172030;
  --color-primary: #222f45;
  /* --color-primary: var(--background); flat design*/
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: white;
}
:root.light {
  --background: white;
  --color-background: white;
  --color-primary: #2E88AF;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: black;
  --color-placeholder: rgb(177, 177, 177);
}
:root.pink {
  --background: #EB6A9E;
  --color-background: #EB6A9E;
  --color-primary: #E03379;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: white;
  --color-placeholder: rgb(177, 177, 177);
}
:root.margenta {
  --background: #772064;
  --color-background: #772064;
  --color-primary: #af2e93;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: white;
  --color-placeholder: rgb(63, 63, 63);
}
:root.dark {
  --background: #1e1e1e;
  --color-background: #1e1e1e;
  --color-primary: #323233;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: lightgray;
}
:root.black {
  --background: #000000;
  --color-background: #000000;
  --color-primary: #111111;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: lightgray;
}
:root.red {
  --background: #000000;
  --color-background: #000000;
  --color-primary: #a00000;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: lightgray;
  --color-placeholder: rgb(151, 151, 151);
}
:root.green {
  --background: #9AEB35;
  --color-background: #9AEB35;
  --color-primary: #457D00;
  --panel-menu-left: var(--background);
  --textfield-background: var(--background);
  --textfield-textcolor: black;
  --color-placeholder: rgb(177, 177, 177);
}
:root.multicolor {
  --background: linear-gradient(217deg, rgba(255,0,0,.8), rgba(255,0,0,0) 70.71%),
  linear-gradient(336deg, rgba(0,0,255,.8), rgba(0,0,255,0) 70.71%);
  --color-background: rgb(51 0 68);
  --color-primary: #000000ea;
  --panel-menu-left: linear-gradient(217deg, rgba(200,0,0,.8), rgba(127,0,0,0) 70.71%),
  linear-gradient(336deg, rgba(0,0,200,.8), rgba(0,0,255,0) 70.71%);
  --panel-headline: linear-gradient(37deg, rgba(127,0,0,.8), rgba(127,0,0,0) 70.71%), linear-gradient(156deg, rgba(0,0,255,.8), rgba(0,0,255,0) 70.71%);
  --textfield-background: var(--background);
  --textfield-textcolor: lightgray;
}

html, body {
  height: 100%;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

body {
  margin: 0px;
  color: darkgray;
  background-color: var(--color-primary);
  /* font-family: monospace; */
  font-size: large;
  font-family: 'Montserrat';
}

body.flex {
  display: flex;
}

.text-center {
  text-align: center!important;
}

a {
  color: #DF7601;
}

.main-h1 {
  margin: 10px;
  /* background-color: var(--color-primary); */
  color: #2E88AF;
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: 400!important;
}

.logo {
  font-family: 'Lato';
  margin: 0 0 0 10px;
  line-height: var(--menu-top-height);
}

.main-h2 {
  margin: 10px;
  color: white;
  font-size: 1.5rem;
  margin-bottom: .5rem;
  font-weight: 400!important;
}

.center {
  border: 5px solid;
  /*position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);*/
  margin: auto;
  padding: 10px;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}

.item-centered {
  justify-content: center;
  display: flex;
}

/* Inserting this collapsed row between two flex items will make 
 * the flex item that comes after it break to a new row */
 .flexbreak {
  flex-basis: 100%;
  height: 0;
}

.form-control {
  border: 1px solid;
  border-radius: 8px;
  border-color: #07648C;
  outline-color: rgba(15, 109, 196, 0);
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.form-signin, .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 15px;
  font-size: 16px;
  width: 100%;
  max-width: 330px;
  margin: auto;
}

.form-control:hover {
  border-color: #ad743a;
}

.form-control:focus-within {
  outline-style: solid;
  outline-width: thick;
  outline-color: rgba(15, 109, 196, 0.24);
  transition: outline-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.button {
  background-color: #2E88AF;
  border: none;
  border-radius: 4px;
  color: white!important;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

.button-abort {
  background-color: #632824;
}

.button:hover:enabled {
  background-color: --color-active-hover;
  color: #FFF;
}

.button-abort:hover:enabled {
  background-color: rgb(252, 89, 68);
  color: #FFF;
}

.button-grant:hover:enabled {
  background-color: #4caf2e;
}

.button-wide {
  width: 100%;
}

/* --- tooltips --- */
/* https://www.w3schools.com/howto/howto_css_tooltip.asp */
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
  visibility: hidden;
  min-width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
}

/* .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;
} */

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  rotate: 90deg;
  top: calc(50% - 15px);
  left: 0%;
  margin-left: -35px;
  border-width: 15px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

/* Text Editor */
st0rm-texteditor {
  display: block;
  width: 100%;
  height: calc(100% - (var(--menu-top-height) + min(calc(0.1 * 20vi),13.75px) - 5px));
}

st0rm-texteditor > .hide-scrollbars::-webkit-scrollbar {
  display: both;
}

st0rm-texteditor > textarea {
  border: none;
  outline: none;
  background: var(--textfield-background);
  color: var(--textfield-textcolor);
  font-family: 'Lato';
  font-size: 1em;
  box-sizing: border-box;
  width: calc(100% - 20px);
  height: calc(100% - (1.5rem)); /* 100% editor - headline*/
  padding: 10px;
  margin: 10px;
}

/* Scrollbar styles */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  /*border: 2px solid yellowgreen;*/
  /*border: 2px solid #07648C;*/
  /*background: #808080;*/
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  /*background: yellowgreen;  */
  background: #DF7601;
  /*background: -webkit-gradient(linear,left top,left bottom,from(#FFCD6E),to(#DF7601));*/
  border-radius: 10px;
  -webkit-transition-duration: 0.4s; /* Safari */
  transition-duration: 0.4s;
}

::-webkit-scrollbar-thumb:hover {
  /*background: #88ba1c;  */
  /*border: 2px solid #DF7601;*/
  background: #FFCD6E;
}