input,
select,
textarea,
abutton,
.abutton,
.asubmit,
button,
tabs,
label.filelbl {
	font-family: 'Fira Sans', sans-serif;
	border-style: solid;
	border-color: #d9d9d6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	outline: none;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	color: black;
	font-size: 10pt;
}

input:disabled,
select:disabled,
textarea:disabled,
abutton:disabled,
.abutton:disabled,
.asubmit:disabled {
	color: gray;
	opacity: 0.6;
	box-shadow: none !important;
}

input:not([type=button]):not([type=submit]),
select,
textarea,
tabs {
	border-width: 1px 1px 1px 1px;
}

input[type=button],
input[type=submit],
button,
abutton,
.abutton,
.asubmit,
label.filelbl {
	border-width: 1px 1px 3px 1px;
}

input[type=file] {
	border-width: 0px;
}

select[multiple], textarea {
	background-color: white;
}

select,
textarea,
input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
	border-radius: 0px;
}

select:-ms-expand {
	display: none;
}

input:not([type=checkbox]):not([type=radio]),
select:not([multiple]),
button,
abutton,
.abutton,
.asubmit,
tabs {
	height: 32px;
}

input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=file]) {
	padding: 0px 6px 0px 6px;
}

input[type=text],
input[type=email],
input[type=number],
input[type=date],
input[type=time],
input[type=password],
input[type=checkbox],
input[type=radio],
textarea {
	background-color: white;
}

input[type=text]:not(:disabled):hover,
input[type=email]:not(:disabled):hover,
input[type=number]:not(:disabled):hover,
input[type=date]:not(:disabled):hover,
input[type=time]:not(:disabled):hover,
input[type=password]:not(:disabled):hover,
input[type=checkbox]:not(:disabled):hover,
input[type=radio]:not(:disabled):hover,
select[multiple]:not(:disabled):hover,
textarea:not(:disabled):hover {
	border-color: #3F8668;
}

input[type=text]:not(:disabled):focus,
input[type=text]:not(:disabled):active,
input[type=email]:not(:disabled):focus,
input[type=email]:not(:disabled):active,
input[type=number]:not(:disabled):focus,
input[type=number]:not(:disabled):active,
input[type=date]:not(:disabled):focus,
input[type=date]:not(:disabled):active,
input[type=time]:not(:disabled):focus,
input[type=time]:not(:disabled):active,
input[type=password]:not(:disabled):focus,
input[type=password]:not(:disabled):active,
input[type=checkbox]:not(:disabled):focus,
input[type=checkbox]:not(:disabled):active,
input[type=radio]:not(:disabled):focus,
input[type=radio]:not(:disabled):active,
textarea:not(:disabled):focus,
textarea:not(:disabled):active {
	border-color: #3F8668;
	box-shadow: inset 0px 1px 2px gray;
}

input[type=checkbox],
input[type=radio] {
	position: relative;
	height: 24px;
	width: 24px;
}

input[type=checkbox]::before, input[type=checkbox]::after {
	position: absolute;
	content: '';
	height:4px;
	width: 20px;
	top: 9px;
	left: 1px;
	background-color: #004851;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

input[type=checkbox]::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

input[type=checkbox]::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

input[type=checkbox]:checked::before, input[type=checkbox]:checked::after {
	opacity: 1;
}

input[type=checkbox]:not(:checked)::before, input[type=checkbox]:not(:checked)::after {
	opacity: 0;
}

input[type=radio] {
	border-radius: 50%;
}

input[type=radio]::before {
	position: absolute;
	content: '';
	height: 16px;
	width: 16px;
	border-radius: 50%;
	top: 3px;
	left: 3px;
	background-color: #004851;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

input[type=radio]:checked::before {
	opacity: 1;
}

input[type=radio]:not(:checked)::before {
	opacity: 0;
}

input[type=button],
select:not([multiple]),
abutton
.abutton,
button,
tabs,
label.filelbl {
	background-color: whitesmoke;
	border-color: darkgray;
	display: inline-block;
	cursor: pointer;
	color: black;
	text-decoration: none;
}

input[type=button],
input[type=submit],
abutton,
.abutton,
.asubmit,
button {
	padding: 0px 8px 0px 8px;
}

input[type=button],
input[type=submit],
abutton,
.abutton,
.asubmit,
button,
label.filelbl {
	display: inline-block;
	line-height: 28px;
	border-radius: 4px;
}

label.filelbl {
	padding: 0px 8px 0px 32px;
}

select:not([multiple]) {
	padding: 0px 32px 0px 8px;
	background-image: url('../images/arrowdown.svg');
	line-height: 30px;
	border-radius: 4px;
	background-size: 32px 32px;
	background-position: center right;
	background-repeat: no-repeat;
}

input[type=button]:not(:disabled):hover,
input[type=button]:not(:disabled):focus,
button:not(:disabled):hover,
button:not(:disabled):focus,
abutton:not(:disabled):hover,
abutton:not(:disabled):focus,
.abutton:not(:disabled):hover,
.abutton:not(:disabled):focus,
label.filelbl:not(:disabled):hover,
label.filelbl:not(:disabled):focus {
	border-color: #9A9A9A #9A9A9A #3F8668 #9A9A9A;
}

select:not([multiple]):not(:disabled):hover,
select:not([multiple]):not(:disabled):focus,
tabs:hover,
tabs:focus {
	border-color: #3F8668;
}

input[type=button]:not(:disabled):active,
select:not([multiple]):not(:disabled):active,
button:not(:disabled):active,
abutton:not(:disabled):active,
.abutton:not(:disabled):active {
	background-color: whitesmoke;
}

input[type=button],
input[type=submit],
button,
abutton,
.abutton,
.asubmit,
label.filelbl {
	font-weight: bold;
}

input[type=submit], .asubmit {
	background-color: #FFB72E;
	border-color: #ED9C01;
	display: inline-block;
	cursor: pointer;
	color: black;
	font-weight: bold;
	text-decoration: none;
}

input[type=submit]:not(:disabled):focus,
input[type=submit]:not(:disabled):hover,
.asubmit:not(:disabled):focus,
.asubmit:not(:disabled):hover {
	border-color: #ED9C01 #ED9C01 #700009 #ED9C01;
}

input[type=submit]:not(:disabled):active,
.asubmit:not(:disabled):active {
	background-color: #FFD37F;
}

abutton {
	display: inline-block;
}

abutton, tabs {
	color: black;
	text-decoration: none;
}

label.chkwlbl {
	display: block;
	width: 100%;
	height: 24px;
	position: relative;
	margin: 0px 0px 10px 0px;
}

label.chkwlbl input[type=checkbox], label.chkwlbl input[type=radio] {
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0px;
}

label.chkwlbl span {
	position: absolute;
	display: block;
	top: 0px;
	left: 34px;
	right: 0px;
	height: 24px;
	line-height: 24px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

label.filelbl {
	display: block;
	height: 32px;
	line-height: 30px;
	padding: 0px 8px 0px 28px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background-image: url('../images/file.svg');
	background-size: 28px 28px;
	background-repeat: no-repeat;
	background-position: center left;
}

label.filelbl input[type=file] {
	opacity: 0;
	width: 0.1px;
	height: 0.1px;
	position: absolute;
	top: 0px;
	left: 0px;
}

tabs {
	position: relative;
	overflow: hidden;
	display: flex;
	border-radius: 4px;
}

tabs input[type=radio] {
	height: 0px;
	width: 0px;
	top: -100px;
	left: -100px;
	display: none;
}

tabs label.tab {
	display: block;
	flex: auto;
	padding: 0px 6px 0px 6px;
	height: 30px;
	font-weight: bold;
	line-height: 29px;
	text-align: center;
	border-style: solid;
	border-width: 0px 0px 3px 0px;
	border-color: #9A9A9A;
}

tabs label.tab:hover,
tabs label.tab:focus {
	border-color: #78A793;
}

tabs label.tab:active {
	background-color: whitesmoke !important;
}

tabs input[type=radio]:checked+label.tab, label.tab:active {
	border-color: #3F8668;
}

div.selectable {
	position: relative;
	float: left;
	height: 28px;
	padding: 0px;
	line-height: 24px;
	margin: 0px 4px 4px 0px;
}

div.selectable label {
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: 0px 5px 0px 16px;
	border: 1px solid gray;
	background-color: whitesmoke;
	cursor: pointer;
	font-size: 10pt;
	line-height: 28px;
	transition: background-color 0.2s, color 0.2s;
	-webkit-transition: background-color 0.2s, color 0.2s;
	-moz-transition: background-color 0.2s, color 0.2s;
	-ms-transition: background-color 0.2s, color 0.2s;
	-o-transition: background-color 0.2s, color 0.2s;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
}

div.selectable label::before {
	content: '';
	display: block;
	height: 6px;
	width: 6px;
	background-color: gray;
	border-radius: 50%;
	position: absolute;
	left: 5px;
	top: 11px;
	transition: background-color 0.2s, color 0.2s;
}

div.selectable label:hover {
	background-color: whitesmoke;
}

div.selectable input[type=checkbox] {
	display: none;
	visibility: hidden;
}

div.selectable input[type=checkbox]:checked ~ label {
	background-color: #0F5436;
	color: white;
}

div.selectable input[type=checkbox]:checked ~ label::before {
	background-color: #C6D5CF;
}

.sr-only {
	position: fixed;
	top: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
