
select:focus, textarea:focus, input:focus {
	outline:none;
	border: 1px solid #4195fc;
	box-shadow: 0px 0px 14px #4195fc;
}
.blinking {
  animation-name: blinking;
  animation-duration: 2s;
  animation-iteration-count: 100000;
}
@keyframes blinking {
  50% {
    text-shadow: 1px 1px 1px black;
  }
}
input, select, textarea {
	border-radius: 3px;
	padding:1px;
}

select:required option {
	color: black ! important;
}
input:required:invalid, select:required:has(option[value="0"]:checked), select:required:has(option[value=""]:checked)  {
	color: red;
	border-color: red  ! important;
	box-shadow: 0px 0px 2px red ! important;
}

select:focus:not(
  :where(
    option[value="0"]:checked,
    option[value=""]:checked
  )
) {
	border-color: green;
	box-shadow: 0 0 8px green;
}

input:focus:required:valid{
	border-color: green ! important;
	box-shadow: 0 0 8px green ! important;
}
.scroller {
	overflow:auto;
	padding:2px;
}
form {
	padding:5px;
}
.sheetdata TD {
	padding:2px ! important;
	border:1px solid #333333;
	color: black;
}

.gridboundary {
	padding:4px ! important;
}


.portlet {
	box-shadow: 4px 4px 15px -1px rgba(0,0,0,0.75);
	margin:0px 10px 10px 0px;
	background: white;
	border-radius: 0px;
}
.portletheader {
	width: calc(100% - 20px);
	padding:2px 10px 2px 10px;
	height:20px;
	font-style: normal;
	font-size: 14px;
	font-family: sans-serif;
	background: radial-gradient(circle, rgba(238, 238, 238, 1) 0%, rgba(148, 148, 148, 1) 100%) ! important;
	color: white ! important;
	text-shadow: 2px 2px #111111;
}
.portalheading {
	padding:10px;
}

.gridboundary {
	padding:0px 5px 5px 0px;
	height:calc(100% - 70px);
	overflow: auto;
	margin-bottom: 5px;
}
.totalrow td {
	vertical-align: top;
	line-height: 40px;
}


body {
	margin: 0 ! important;
	padding:0px ! important;
	overflow: hidden ! important;
}


.reportform {
	margin-bottom:0px;
	height:100%;
}

html {
	padding:0;
	margin: 0;
}

#main2 {
   	position: absolute;
    width: 100%;
    margin:0px;
    top: 0;
    padding:0px;
	bottom: 0;
}

#subheader3 {
	padding:2px;
}

#header3 {
	background: #F3F3F3;
	position: absolute;
    height: 123px;
    top: 0;
	font-size: 0.814em;
    left: 0;
    right: 0;
    padding:0px;
    display:block;
}

#content2 {
	border:1px solid #CCCCCC;
    position: absolute;
	font-size: 0.814em;
    top: 123px;
    padding:0px;
    bottom: 33px;
    left: 0;
    right: 0;
    overflow-y:auto;
    overflow-x:hidden;
}

#footer2 a {
    text-decoration: none;
	color: black;
}

#footer2 {
	position: absolute;
	opacity:0.9;
	height: 21px;
	font-size: 1em;
    bottom: 0;
    border:1px solid black;
	background:  #CCCCCC;	
	text-align: center;
	vertical-align: center;
	padding: 5px;
	text-shadow: 2px 2px #AAAAAA;
    left: 0;
    right: 0;
    text-align:center;
    display:block;
}