@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

textarea{
	outline:none !important;
}

p{margin:0;}

html{
    font-family: 'Montserrat', sans-serif;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
    min-height:100%;
}
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

*, *:before, *:after {
  box-sizing: inherit;
}


body{
	FONT-SIZE: 12pt;
	OVERFLOW: auto;
	ZOOM: 1;
	MARGIN: 0px;
	BACKGROUND-COLOR: transparent;
	width:100%;
	position:relative;
	user-select:none;
	font-family:'Arial',sans-serif;
	background-color:#07272e;
	/*background: linear-gradient(180deg, #03202a, #003647);*/
	color:rgb(55,55,55);
	min-height:100%;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{
    display:block
}
audio,canvas,progress,video{
    display:inline-block;
    vertical-align:baseline
}
audio:not([controls]){
    display:none;
    height:0
}
[hidden],template{
    display:none
}
a{
    background-color:transparent;
    text-decoration: none;
}
a:active,a:hover{
    outline:0
}

a{
    font-weight:700;
    color:rgb(38,56,100);
    text-decoration:underline;
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
}

a:hover{
    color:rgb(141,221,255);
}
abbr[title]{
    border-bottom:1px dotted
}
b,strong{
    font-weight:700
}
dfn{
    font-style:italic
}
h1{
    margin:.67em 0;
    font-size:2em
}
mark{
    color:#000;
    background:#ff0
}
small{
    font-size:80%
}
sub,sup{
    position:relative;
    font-size:75%;
    line-height:0;
    vertical-align:baseline
}
sup{
    top:-.5em
}
sub{
    bottom:-.25em
}
img{
    border:0;
    max-width: 100%;
}
svg:not(:root){
    overflow:hidden
}
figure{
    margin:1em 40px
}
hr{
    height:0;
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box
}
pre{
    overflow:auto
}
code,kbd,pre,samp{
    font-family:monospace,monospace;
    font-size:1em
}
button,input,optgroup,select,textarea{
    margin:0;
    font:inherit;
    color:inherit
}
button{
    overflow:visible
}
button,select{
    text-transform:none
}
button,html input[type=button],input[type=reset],input[type=submit]{
    -webkit-appearance:button;
    cursor:pointer
}
button[disabled],html input[disabled]{
    cursor:default
}
button::-moz-focus-inner,input::-moz-focus-inner{
    padding:0;
    border:0
}
input{
    line-height:normal;
}
input[type=checkbox],input[type=radio]{
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    padding:0
}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{
    height:auto
}
input[type=search]{
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    -webkit-appearance:textfield
}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{
    -webkit-appearance:none
}
fieldset{
    padding:.35em .625em .75em;
    margin:0 2px;
    border:1px solid silver
}
legend{
    padding:0;
    border:0
}
textarea{
    overflow:auto
}
optgroup{
    font-weight:700
}
table{
    border-spacing:0;
    border-collapse:collapse
}
td,th{
    padding:0
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.inputWrap{
    width:500px;
    margin:0 auto;
    max-width:90%;
    text-align:left;
    margin-bottom: 20px;
}

.inputWrapper{
    position:relative;
}

.inputWrap .title{
    font-weight:bold;
    font-size:14px;
    color:rgb(7,39,46);
    margin-bottom:5px;
}

.inputWrap input[type="text"], .inputWrap input[type="password"]{
    padding:10px 10px;
    font-size:14px;
    color:rgb(100,100,100);
    line-height:20px;
    outline:none;
    width:100%;
    box-shadow:1px 1px 4px rgba(7,39,46,0);
    border:1px solid rgb(0,0,0);
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
    box-sizing: border-box;
}

.inputWrap input[type="text"]:focus{
    box-shadow:1px 1px 4px rgba(7,39,46,0.5);
    color:rgb(37,78,118);
    border:1px solid rgb(37,78,118);

}

.inputWrap input[type="password"]:focus{
    box-shadow:1px 1px 4px rgba(7,39,46,0.5);
    color:rgb(7,39,46);
    border:1px solid rgb(7,39,46);
}

.inputWrap textarea{
    padding:5px;
    font-size:14px;
    color:rgb(7,39,46);
    width:100%;
    outline:none;
    box-shadow:1px 1px 4px rgba(37,78,118,0);
    border:1px solid rgb(37,78,118);
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
    height:150px;
    resize:none;
}

.inputWrap textarea:focus{
    box-shadow:1px 1px 4px rgba(7,39,46,0.5);
}

.inputWrapper .show{
    position:absolute;
    top:1px;
    right:1px;
    font-size:12px;
    padding:0 5px;
    line-height:40px;
    background-color:rgba(7,39,46,1);
    cursor:pointer;
    border-left:1px solid rgb(100,100,100);
    width:100px;
    text-align:center;
    color:rgb(255,255,255);
}

.loginWrap .loginBackground{
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	background-image:url("/images/background-login.png");
	background-position:center center;
	background-size:contain;
	background-repeat: no-repeat;
}

.loginWrap .inputWrap .button{
    margin:0 auto;
    font-size:22px;
    text-align:center;
    width:100%;
    padding:10px;
}

.loginWrap{
    position:relative;
    width:100%;
    height:100vh;
}

.loginWrap .absolute{
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    text-align:center;
    width:600px;
}

.messageWrap{
	position:relative;
	width:100vw;
	height:100vh;
	background-image:url("/images/background-login.png");
	background-position:center center;
	background-size:contain;
	background-repeat: no-repeat;
}

.messageWrap .message{
	    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(255, 255, 255);
    padding: 20px;
    border-radius: 5px;
}

.adminBackground{
	position:fixed;
	top:0;
	bottom:0;
	right:0;
	left:0;
	z-index:200;
	background-color:#003646;
	background: linear-gradient(180deg, #003646 0%, #14444f 100%);
}

.adminWrap{
	position:relative;
	z-index:300;
	color:rgb(255,255,255);
}

.adminWrap .logo{
	position:absolute;
	top:20px;
	left:20px;
	width:150px;
}

.adminWrap .logo img{
	display: block;
}

.adminWrap .title{
	position:absolute;
	top:20px;
	right:20px;
	width:100%;
	text-align:right;
	font-size:20px;
	font-weight:600;
}
 

.adminWrap #operatorPanel {
	border: 2px solid #ccc;
	padding: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
	background: #fff;
	position:fixed;
	top:80px;
	right:30px;
	width:400px;
}

.adminWrap .drop-box h2{
	text-align:center;
	padding:5px;
	color:#003646;
	font-size:22px;
	font-weight:600;
	margin:0;
	width:100%;
	text-align: center;
}

.adminWrap .operator {
	width: 70px;
	cursor: grab;
	position: relative;
	margin:5px;
	margin-bottom:10px;
}

.adminWrap .operator .imageWrap{
	padding:10px;
	border-radius:5px;
	background-color:#003646;
	background: linear-gradient(180deg, #003646 0%, #14444f 100%);
	border:2px solid rgba(128,209,11,0);
}

.adminWrap .operator img{
	display:block;
}

.adminWrap .operator.dragged {
	opacity: 0.5;
	border:2px solid rgba(128,209,11,1);
}

.adminWrap .tooltip {
	position: absolute;
	top: -20px;
	left: 50%;
	transform:translateX(-50%);
	background: rgb(128,209,11);
	color: white;
	padding: 3px 6px;
	font-size: 12px;
	border-radius: 4px;
	white-space: nowrap;
	z-index: 10;
}

.adminWrap .drop-box {
	border: 2px dashed #aaa;
	width: 250px;
	min-height: 80px;
	background: #fff;
	margin-bottom: 15px;
	padding: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	position:relative;
}

.adminWrap .snapped {
	outline: 2px solid green;
}

.adminWrap .simulator{
	padding:15px;
}

.adminWrap .simulator .simulatorControlsWrap{
	position:absolute;
	top:0;
	right:0;
	transform:translateX(100%);
	padding-left:10px;
	width:300px;
}

.adminWrap .simulator .simulatorControlsWrap .simulatorStateWrap .simulatorStateTitle{
	font-weight:600;
	display:inline-block;
	vertical-align: middle;
}

.adminWrap .simulator .simulatorControlsWrap .simulatorStateWrap .simulatorStateStatus{
	display:inline-block;
	vertical-align: middle;
	padding-left:7px;
}

.adminWrap .simulator .simulatorControlsWrap .simulatorStateWrap .simulatorStateStatus .off{
	color:rgb(200,0,0);
}

.adminWrap .simulator .simulatorControlsWrap .simulatorStateWrap .simulatorStateStatus .on{
	color:rgb(0,200,0);
}

.adminWrap .simulator .simulatorControlsWrap .simulatorButtonsWrap{
	margin-top:5px;
	color:rgb(100,100,100);
}

.win11-window{
	width: 0%;
	border-radius: 12px;
	backdrop-filter: blur(20px);
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.15);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
	overflow: hidden;
	color: white;
	margin:0 auto;
	position:fixed;
	top:0px;
	left:0px;
	display:block;
	transition:all ease 1s;
	z-index:20;
}

.win11-titlebar{
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: rgba(0, 0, 0, 0.25);
	padding: 8px 12px;
	backdrop-filter: blur(10px);
}

.win11-title{
	font-weight: 500;
	font-size: 14px;
}

.win11-controls{
	display: flex;
	gap: 6px;
}

.win11-btn{
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	opacity: 0.85;
}

.win11-btn.close{
	background: #dc3545; 
}

.win11-content {
	font-size: 14px;
}

.win11-content iframe{
	min-height:calc(100vh - 50px);
	width:100%;
	border:none;
	background-color:rgb(255,255,255);
}

.win11-content .fallback{
	min-height:calc(100vh - 50px);
	width:100%;
	background: linear-gradient(180deg, #003646 0%, #14444f 100%);	
}

.win11-content .fallback .relative{
	position:relative;
	width:100%;
	min-height:calc(100vh - 50px);
}

.win11-content .fallback .relative .content{
	position:absolute;
	max-width: 500px;
	text-align:center;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

.win11-content .fallback .relative .content .preMessage{
	font-size:20px;
	font-weight:600;
}

.win11-content .fallback .relative .content .message{
	font-size:24px;
	font-weight:300;
}

.windowVisible{
	width:100%;
}













