* {
	/* touch-action: none; Disables general Pinch and zoom on the window */
	font-family: Montserrat;
}

.ace_editor, .ace_editor *{
    font-family: "Monaco", "Menlo", "Ubuntu Mono", "Droid Sans Mono", "Consolas", monospace !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    }

.xterm .xterm-viewport::-webkit-scrollbar {
    -webkit-appearance: none;
}

.xterm .xterm-viewport::-webkit-scrollbar:vertical {
    width: 8px;
}

.xterm .xterm-viewport::-webkit-scrollbar:horizontal {
    height: 8px;
}

.xterm .xterm-viewport::-webkit-scrollbar-thumb {
	border-radius: 6px;
	border: 1px solid var(--tone_2);
	/* should match background, can't be transparent */
	background-color: var(--body_light);
}

.GaugeMeter {
    position: Relative;
    text-align: Center;
    overflow: Hidden;
    cursor: Default;
  }

  .GaugeMeter SPAN,
  .GaugeMeter B {
    margin: 0 23%;
    width: 54%;
    position: Absolute;
    text-align: Center;
    display: Inline-Block;
    color: RGBa(0, 0, 0, 0.8);
    font-weight: 100;
    font-family: 'Open Sans', Arial;
    overflow: Hidden;
    white-space: NoWrap;
    /* text-overflow: Ellipsis; */
  }
  .GaugeMeter[data-style='Semi'] B {
    margin: 0 10%;
    width: 80%;
  }

  .GaugeMeter S,
  .GaugeMeter U {
    text-decoration: None;
    font-size: 0.6em;
    font-weight: 200;
    opacity: 0.6;
  }

  .GaugeMeter B {
    color: Black;
    font-weight: 200;
    font-size: 0.85em;
    opacity: 0.8;
  }
  
.textEllipsis{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.textEllipsis_wrap{
    text-overflow: ellipsis;
    white-space: wrap;
    overflow: hidden;
}



.flexCenter{
    display:flex;
    align-items: center;
    justify-content: center;
}

.textWhite{
	color:var(--tone_0);
    /* corol:#090a0e; */
}

.glow{
	-moz-box-shadow: 0px 0px 14px var(--main) ;
	-webkit-box-shadow: 0px 0px 14px var(--main) ;
	box-shadow: 0px 0px 14px var(--main) ;

}

.glowBlue{
	-moz-box-shadow: 0px 0px 14px var(--blue) ;
	-webkit-box-shadow: 0px 0px 14px var(--blue) ;
	box-shadow: 0px 0px 14px var(--blue) ;

}

.textRed{
	color: #f00;
}

.textGreen{
	color: #0f0;
}

.textArea{
	border:thin solid var(--hilite_2);
	background: var(--body_dark);
    /* background-color:#727c8d; */
	color:var(--tone_0);

    box-sizing: border-box;

	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	padding:5px;
	padding-left:10px;
	font-family: Montserrat, Verdana, Arial, Helvetica, sans-serif;
    letter-spacing: 0.03rem;
	font-size: 11px;
	line-height:11px;

    overflow: auto;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;

    resize: none;
   
}

.textArea::placeholder{
    font-family: Montserrat, Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: var(--tone_6);

}

.inputArea{
	border:none;
	background: linear-gradient(135deg, var(--body_light) 0%, var(--body_dark) 100%);
    /* background-color:#727c8d; */
	color:var(--tone_0);
    background-color:var(--tone_2);
    box-sizing: border-box;

	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	padding:5px;
	padding-left:10px;
	font-family: NunitoSans-Black, Verdana, Arial, Helvetica, sans-serif;
    letter-spacing: 0.03rem;
	font-size: 13px;
	line-height:13px;

    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;

    resize: none;
   
}

.inputArea::placeholder{
    font-family: Montserrat, Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: var(--tone_6);

}


.styled-select{
	border-collapse: separate;
    box-sizing: border-box;

	padding: 5px;
	padding-left:10px;
    height:28px;

    background: var(--select_box_icon_mini);
    background-color:#222232;
	/*  doesn't work in chrome on windows 
    background-color: linear-gradient(135deg, var(--body_light) 0%, var(--body_dark) 100%); */

	border: none;
	color:var(--tone_0);
	background-repeat: no-repeat;

	background-position: calc(100%) 10px !important;
	-moz-appearance:none !important;
	-webkit-appearance: none !important; 
	appearance: none !important;
	padding-right: 2rem !important;

	font-family: NunitoSans-Black, Verdana, Arial, Helvetica, sans-serif;
    letter-spacing: 0.03rem;
	font-size: 13px;
	line-height:13px;

    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
	cursor:pointer;
}

.styled-select-small{
	border-collapse: separate;
    box-sizing: border-box;

	padding: 5px;
	padding-left:10px;
    height:20px;

    background: var(--select_box_icon_mini);
    background-color:#222232;
	/*  doesn't work in chrome on windows 
    background-color: linear-gradient(135deg, var(--body_light) 0%, var(--body_dark) 100%); */

	border: none;
	color:var(--tone_0);
	background-repeat: no-repeat;

	background-position: calc(100%) 5px !important;
	-moz-appearance:none !important;
	-webkit-appearance: none !important; 
	appearance: none !important;
	padding-right: 2rem !important;

	font-family: Montserrat, Verdana, Arial, Helvetica, sans-serif;
    letter-spacing: 0.03rem;
	font-size: 11px;
	line-height:11px;

    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
	cursor:pointer;
}

.styled-select-blank {
	
	border-collapse: separate;
    box-sizing: border-box;

	padding: 5px;
	padding-left:10px;
    height:28px;
	
	background:none;
	border: none;
	color:var(--tone_0);
	
	-moz-appearance:none !important;
	-webkit-appearance: none !important; 
	appearance: none !important;
	padding-right: 2rem !important;

	font-family: NunitoSans-Black, Verdana, Arial, Helvetica, sans-serif;
    letter-spacing: 0.03rem;
	font-size: 13px;
	line-height:13px;

    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
	cursor:pointer;


}


.not-styled-select {
	border:none;
	background: transparent;
	border-radius: 0px;

	border:thin solid var(--tone_9);
	padding:4px;

	width:30px;
    -moz-appearance:none !important;
    -webkit-appearance: none !important; 
    appearance: none !important;
	
}


.slider_simple {
    /* -webkit-appearance: none; 
    appearance: none; */
    width: 100%; 
    height: 26px;

    outline: none; 
   
    opacity: 0; 
    /* -webkit-transition: .2s; 
    transition: opacity .2s; */
    border-radius:13px;
  }

  .slider_normal {
    /* -webkit-appearance: none; 
    appearance: none; */
    width: 100%; 
    height: 26px;

    outline: none; 
   
    opacity: 1; 
    /* -webkit-transition: .2s; 
    transition: opacity .2s; */
    border-radius:13px;
  }

  
  /* Mouse-over effects */
  .slider_simple:hover {
    opacity: 0; /* Fully shown on mouse-over */
  }
  
  /* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */ 
  .slider_simple::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    width: 26px; /* Set a specific slider handle width */
    height: 26px; /* Slider handle height */
    background: var(--tone_0); /* Green background */
    border-radius:50%;
    cursor: pointer; /* Cursor on hover */
  }
  
  .slider_simple::-moz-range-thumb {
    width: 26px; /* Set a specific slider handle width */
    height: 26px; /* Slider handle height */
    background: var(--tone_0); /* Green background */
    border-radius:50%;
    cursor: pointer; /* Cursor on hover */
  }


  .checkbox_label {
    display: grid;
    grid-template-columns: 1em auto;
    gap: 0.5em;
  }
  
  input[type="checkbox"] {
    /* Add if not using autoprefixer */
    -webkit-appearance: none;
    /* Remove most all native input styles */
    appearance: none;
    /* For iOS < 15 */
    background-color: var(--hilite_1);
    /* Not removed via appearance */
    margin: 0;
  
    font: inherit;
    color: var(--main);
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);
  
    display: grid;
    place-content: center;
  }
  
  input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transform: scale(0);
    transform-origin: bottom left;
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--form-control-color);
    /* Windows High Contrast Mode */
    background-color: CanvasText;
  }
  
  input[type="checkbox"]:checked::before {
    transform: scale(1);
  }
  
  input[type="checkbox"]:focus {
    outline: max(2px, 0.15em) solid currentColor;
    outline-offset: max(2px, 0.15em);
  }
  
  input[type="checkbox"]:disabled {
    --form-control-color: var(--form-control-disabled);
  
    color: var(--form-control-disabled);
    cursor: not-allowed;
  }

  .rainbow {
    background: linear-gradient(
        90deg,
        rgba(255, 0, 0, 1) 0%,
        rgba(255, 154, 0, 1) 10%,
        rgba(208, 222, 33, 1) 20%,
        rgba(79, 220, 74, 1) 30%,
        rgba(63, 218, 216, 1) 40%,
        rgba(47, 201, 226, 1) 50%,
        rgba(28, 127, 238, 1) 60%,
        rgba(95, 21, 242, 1) 70%,
        rgba(186, 12, 248, 1) 80%,
        rgba(251, 7, 217, 1) 90%,
        rgba(255, 0, 0, 1) 100%
    );
}


.widget_grow{
    cursor:pointer;
    
    z-index:1000;
}

.widget_grow:hover{
    border:thin solid var(--hilite_1);
    box-shadow: -1px -1px 8px var(--hilite_2), 1px -1px 8px var(--hilite_2), -1px 1px 8px var(--hilite_2), 1px 1px 8px var(--hilite_2);

    /* background-color:var(--glassHilite); */
    animation: scaleWidget 0.5s forwards;
    z-index:2000;
}



@keyframes scaleWidget {
	0% { transform: scale(1); }
	100% { transform: scale(1.05); }
}

.loaderThick {
	border: 6px solid var(--tone_8);
	border-radius: 50%;
	border-top: 6px solid var(--main);

	-webkit-animation: loaderSpin 1s linear infinite; /* Safari */
	animation: loaderSpin 1s linear infinite;
  }

.loader {
	border: 3px solid var(--tone_3);
	border-radius: 50%;
	border-top: 3px solid var(--hilite_2);

	-webkit-animation: loaderSpin 1s linear infinite; /* Safari */
	animation: loaderSpin 1s linear infinite;
  }

  .loader_white {
	border: 3px solid var(--hilite_2);
	border-radius: 50%;
	border-top: 3px solid var(--tone_0);

	-webkit-animation: loaderSpin 1s linear infinite; /* Safari */
	animation: loaderSpin 1s linear infinite;
  }

  @-webkit-keyframes loaderSpin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
  }
  
  @keyframes loaderSpin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
  }

  .loaderSlow {
	border: 3px solid var(--tone_8);
	border-radius: 50%;
	border-top: 3px solid var(--main);

	-webkit-animation: loaderSpin 4s linear infinite; /* Safari */
	animation: loaderSpin 4s linear infinite;
  }

  @-webkit-keyframes loaderSpin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
  }
  
  @keyframes loaderSpin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
  }


.code_eye {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    box-sizing: border-box;
    background: var(--hilite_1);
    /* border: 4px solid #131a1d; */
    overflow: hidden;
    box-sizing: border-box;
}
.code_eye::after {
    content: '';
    position: absolute;
    left: 0;
    top: -15px;
    width: 100%;
    height: 100%;
    background: var(--body_light);
    z-index: 5;
    border-bottom: 4px solid var(--body_dark);
    box-sizing: border-box;
    animation: eyeShade 5s infinite;
}
.code_eye::before {
    content: '';
    position: absolute;
    left: 12px;
    bottom: 12px;
    width: 14px;
    z-index: 2;
    height: 14px;
    background: var(--body_dark);
    border-radius: 50%;
    animation: eyeMove 5s infinite;
}

@keyframes eyeShade {
    0%   { transform: translateY(0)}
    20%   { transform: translateY(4px)}
    40%   { transform: translateY(4px)}
    60%   { transform: translateY(4px)}
    80%   { transform: translateY(8px)}
    100%   { transform: translateY(0)}
}


/* @keyframes eyeShade {
    0%   { transform: translateY(0)}
    20%   { transform: translateY(6px)}
    30%   { transform: translateY(-6px)}
    40%   { transform: translateY(6px)}
    50%   { transform: translateY(6px)}
    100%   { transform: translateY(-12px)}
} */
@keyframes eyeMove {
    0%   { transform: translate(0 , 0)}
    20%   { transform: translate(-12px , 8px)}
    40%   { transform: translate(-8px , 8px)}
    60%   { transform: translate(0 , 8px)}
    80%   { transform: translate(2px , 16px)}
    100%   { transform: translate(0 , 0)}
}