body {
   border-width: 0px;
   padding: 0;
   margin: 0;
   font-size: 10px;
   background-color: #a3d2f0;
   line-height: 25px;
   width: 1110px;
   font-family: sans-serif;
   
}

div{
	/*height: 12px;*/	
}

input{
	height: 1.2em;
	margin: 0;
	padding: 0;
}

/* Styles for an input that is invalid */
input:invalid {
  border-color: red;
}

/* Styles for an input that is invalid, only after the user has interacted with it */
input:user-invalid {
  border-color: red;
  /* You can also add a background color, icon, or other effects */
  background-color: #ffdddd;
}

/* Common accessibility best practice: use an indicator other than just color */
input:user-invalid:focus {
  outline: 2px solid red;
  outline-offset: 2px;
}

/* Styles for the corresponding label (requires specific HTML structure, see notes) */
/* This example assumes the input and a sibling span for messages */
input:user-invalid + span::before {
  content: "❌ Invalid input!";
  color: red;
  margin-left: 10px;
}


form{
margin: 0;
padding: 0;
}

label{
	font-weight: bold;
	display: inline-block;		
}

.lbl-100px{
	width: 100px;
	vertical-align: top;
}

.lbl-100pst{
	width: 100%;
	vertical-align: top;
}

.lbl-70px{
	width: 90px;
}

.wrapper{
   position: relative;
   float: left;
   left: 0px;
   /*width: 1280px;*/
   /*width: 973px;*/
   width: 1104px !important;
   margin: 5px 0 0 0;
   background-color: #eee;
   clear:both;
   padding-left: 3px;
}
.wrapper .left1{
   position: relative;
   float: left;
   left: 0px;
   width: 312px;
   height: 768px;
   background-color: #eee;
}
.wrapper .left2{
   position: relative;
   float: left;
   left: 10px;
   width: 312px;
   height: 768px;
   background-color: #eee;
   margin: 0 0 0 10px;
}
.wrapper .left3{
   position: relative;
   float: left;
   left: 20px;
   width: 312px;
   height: 312px;
   background-color: #eee;
   /*
   padding-right:3px;
   border-right: 1px solid black;
   */
   
}
.wrapper .right{
   position: relative;
   float: right;
   right: 0px;
   width: 312px;
   height: 312px;
   background-color: #eee
}

.sw_tablenav{
	list-style-type: none;
	clear: both;
	display: block;
	margin: 0;
	padding: 0;
}

.sw_tablenav li{
	float: left;
	margin: 0 0 5px 5px;
	padding: 0;
	
}

.sw_tablenav .sw_page_selected{
	background-color: #ccc;	
}


.sw_inline li{
	float: left;
	zoom: 1;
	display:inline;	
}

.inline{
	display: inline-block;
	zoom: 1;
	display:inline;
}
.sw_float_right{
	display: inline-block;
	zoom: 1;
	display:inline;
	display:inline-flex;
	}

	
.sw_float_left{
	display: inline-block;
	zoom: 1;
	display:inline;
	display:inline-flex;
	
	}
.sw_clear_both{
	clear: both;
}


#menu {
	float:left;
	width:1104px;
	background-color:#a3d2f0;
	font-size:93%;
	line-height:normal;
	border-bottom:1px solid #666;
	height: auto;
	margin-left: 5px;
	}
#menu ul {
	margin:0;
	padding:3px 10px 0 10px;
	list-style:none;
	}
#menu li {
	display:inline;
	margin:0;
	padding:0;
	}
#menu a {
	float:left;
	background:url("../img/tableftF.gif") no-repeat left top;
	margin:0;
	padding:0 0 0 4px;
	text-decoration:none;
	}
#menu a span {
	float:left;
	display:block;
	background:url("../img/tabrightF.gif") no-repeat right top;
	padding:5px 10px 4px 6px;
	color:#666;
	}
	
/* Commented Backslash Hack hides rule from IE5-Mac \*/
#menu a span {float:none;}
/* End IE5-Mac hack */
#menu a:hover span {color:#FFFFFF;}
#menu a:hover {background-position:0% -42px;}
#menu a:hover span {background-position:100% -42px;}

.m10px{
margin-bottom: 10px;
}

.rbl_50px{
	display: inline-block;
	width: 102px;
	/*border:1px solid red;*/
}

.soek{
	margin: 3px 0 0 5px;
	width: 312px;
	height: 36px;
	background: transparent url("../img/search.png") no-repeat;
}

.w200px{
	width: 200px;
	}

.w190px{
	width: 190px;	
}

.w134px{
	width: 134px;
}

.w120px{
	width: 120px;
}

.w100px{
	width: 100px;
}

.w75px{
	width: 75px;
}

.w50px{
	width: 50px;
}

.w130px{
	width: 130px;
}
.w25px{
	width: 25px;
}

.w200px{
	width: 200px;
}


.bold{
	font-weight: bold;
}

#copy_gm_result{
-moz-box-shadow: 5px 5px 15px #000;
-webkit-box-shadow: 5px 5px 15px #000;
border: 1px solid black;
padding: 5px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-webkit-transition: background 1s;
-webkit-transition-timing-function:linear;
-moz-transition: background 1s;
-moz-transition-timing-function:linear;
transition: background 1s;
transition-timing-function: linear
}
#copy_gm_result:hover{
	background: red;
	cursor: pointer;
	-moz-box-shadow: 5px 5px 15px #50f;
-webkit-box-shadow: 5px 5px 15px #50f;
}

#sw_admin_login_form p{
	clear: both;
	margin: 10px;
	padding: 10px;
	
}

#sw_admin_login_form .login_submit{
	height: 25px;
}

#sw_admin_login_form label{
	width: 150px;
	display: inline-block;
}

#sw_admin_login_form input{
	height: 1.2em;
}

.chargepointtable{
	margin: 0;
	padding: 0;
	border:1px solid black; 
	border-collapse: collapse;
	width: 100%;	
}

.chargepointtable td, .chargepointtable th{
	border: 1px solid black;
	vertical-align: top;
	padding: 3px;
	line-height: 1.8em;
}

.chargepointtable th{
	text-align: left;
	background-color: #ccc;
	
}

input.error {
border:2px solid red;
}

input[type="checkbox"].error{
	/*
	width: 30px !important;
    height: 30px !important;
    margin: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance:none;
  */
  outline: 2px solid red;
  box-shadow: none;
  font-size: 2em;
}

label.error, div.error {
color: red;
}

div.error {
	clear: both;
	margin-top: 5px;
	border: 1px solid red;
	width: 400px;
	padding: 10px 0 0 10px;
}

#sw-admin-inner{
padding: 5px;
}

#sw-admin-outer{
padding: 5px;
}

.lightbox{
	display: none;
	position: absolute;
	top: 2%;
	left: 15%;
	width: 70%;
	height: 94%;
	padding: 5px;
	background-color: white;
	z-index:1002;
	overflow: auto;
	
}

.lightbox-userreg{
	display: none;
	position: absolute;
	top: 2%;
	left: 15%;
	width: 70%;
	height: 94%;
	padding: 5px;
	background-color: white;
	z-index:1002;
	overflow: auto;
	
}

.help{
	line-height: 1.2em;
	display: none;
	position: absolute;
	top: 32px;
	right: 0px;
	width: 420px;
	height: 755px;
	padding: 5px;
	background-color: white;
	z-index:1003;
	overflow: auto;
	border: 10px solid #cdcdcd;
	font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
	font-size: 10pt;
}

#helptextToggler{
	position: fixed;
	top: 2.5rem;
	right: 0px;
	z-index:1004;
}

#helptextToggler a img{
	text-decoration:none;
	border: 0;
	
}
.help h2{
	font-size: 14pt;
	font-weight: bolder;
	text-decoration: underline;
	cursor: pointer;
}
.help h3, .help h4{
	-webkit-margin-after: 0;
	margin: 10px 0 5px 0;	
	padding: 0;
	font-weight: bold;
	text-decoration: underline;
	cursor: pointer;
}

.help h3{
	font-size: 11pt;
}
.help h4{
	font-size: 10pt;
	font-style: italic;
}

.green{border: 10px solid green; padding: 2px 0 0 0;}

.green .ui-widget-header{
	background: green !important;
	border: 1px solid green;
	text-align: left;
    padding-left: 0.5em;
}

.selected-cart{
	margin-right: 0.5em;
    vertical-align: sub;
}

.selected-cart-all{
	margin-right: 0.5em;
    vertical-align: sub;
}

.orange{border: 10px solid orange; padding: 2px 0 0 0;}

.black_overlay{
			display: none;
			position: absolute;
			top: 0%;
			left: 0%;
			width: 100%;
			height: 100%;
			background-color: black;
			z-index:1001;
			-moz-opacity: 0.8;
			opacity:.80;
			filter: alpha(opacity=80);
		}


.attr-list{
	margin: 0;
	padding: 0;
	height: auto;
	width: 100%;
	list-style-type: none;
}
.attr-list li{
	margin: 0;
	cursor: move;
	padding: 0.2rem 0.5rem;
}
h4 { padding: .2em; margin: 0; }
.attributes-wrapper {
	/*float:left; width: 100%;*/
	 display: flex;
	flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0.2rem;    
	 
}
.width25pst{
	width: 25%;
	float:left;
}

.fixed{
	display: block;
	top: 29px;
	left: 15%;
	width: 17%;
	position: fixed;
	-webkit-transform: translateZ(0);
	overflow-y: scroll;
    height: 85%;
    margin-right: 1em;
}



.cart { overflow-y: scroll; flex: auto;}

#cart-chargerpoint-connector{
	flex: auto;
}

#cart-chargerpoint{
	flex: auto;
	margin-left: 1rem;
}

/* style the list to maximize the droppable hitarea */
.cart ol { margin: 0; padding: 0; }

.cart ol li{
	padding: 0;
	list-style: none;
	height:auto;
	display: block;
	clear: both;
	border-bottom: 1px solid #ccc; 
	
}

.cart ol li:nth-child(odd) {
    background: #f5f5f5;
}

.cart ol li:nth-child(even) {
    background: #e6e6e6;
}

.attr-list li:nth-child(odd) {
	background: #f5f5f5;
}

.attr-list li:nth-child(even) {
	background: #e6e6e6;
}


.cart ol li input{
	margin-left: 22px;
	width: 7.9rem;
}

.cart ol li .txtfieldwrapper{
	padding: 0 0 5px 22px;	
}

#connector-carts{
	margin: 0 0 0 1rem;
	flex: auto;
}

.shadow {
  -moz-box-shadow: 3px 3px 3px #ccc;
  -webkit-box-shadow: 3px 3px 3px #ccc;
  box-shadow: 3px 3px 3px #ccc;
}


.rounded-buttons{
	cursor: pointer; 
	text-align: center; 
	border-radius:25px;
	-moz-border-radius:25px;
	box-shadow: 3px 3px 1px #888888;
	-webkit-box-shadow: 3px 3px 1px #888888; 
	margin-right: 30px; 
	float: left; 
	padding: 0 10px; 
	text-decoration:none; 
	font-size: 12px;
	color: white;
	height: 2em;
}

.rounded-buttons:hover{
	text-decoration: underline;
	text-shadow: 2px 2px 2px #ccc;		
}

.buttons-bottom{
	display: flex;
    align-items: flex-end;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.orange-background{
	background: #F6A828 url(ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x;
	border: 1px solid #E78F08;
}


.green-background{
	background-color: green;
	border: 1px solid #060;
}

input.hide{
  position:absolute;
  left:0px;
  width: 105px;
  height: 2em;
  max-width: 105px;
  -moz-opacity:0;
  filter:alpha(opacity: 0);
  opacity: 0;
  z-index: 2;
}
 
input.spacer{
  z-index:1;
  color: black;
  margin-bottom: 10px;
  font-weight: bold;
}

.left3 #img-container img{
	-moz-box-shadow: 5px 5px 5px #888;
	-webkit-box-shadow: 5px 5px 5px #888;
	box-shadow: 5px 5px 5px #888;
}

.chargepointcontainer {
	margin: 0 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.chargepointrow {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.chargepointrow div {
	display: flex;
    justify-content: space-between;
    align-items: center;
    width: 15%; 
	border: 1px solid #ccc;
}
.chargepointrow label {
	min-width: 3rem;
	margin-left: 0.5rem;
	flex-grow: 1;	
}
.chargepointrow input {
	margin-left: auto;
	margin-right: 0.5rem;
}

/* For Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; /* Important for accessibility in some browsers */
}

/* For Firefox */
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield; /* Standard property for other browsers */
}