::-webkit-input-placeholder { color: #666; opacity: 1; }
::-moz-placeholder { color: #666; opacity: 1; }
::placeholder { color: #666; opacity: 1; }

body.progress *
{
	cursor: progress !important;
}

input.text,
select.select, 
textarea.textarea, 
input.button,
input.submit,
button.button,
button.submit,
input.file,
form.form input,
form.form select,
form.form textarea,
span.editable[contenteditable="true"]
{
	border:1px solid #ccc;
	box-shadow: none;
	border-radius:3px;
	color:#111;
	padding: 10px;	
	background-color:#fefefe;
	font-size: 16px;
	font-family: Helvetica, Arial, sans-serif;
	text-decoration: none;
	display: inline-block;
	/*vertical-align: middle;*/
	line-height: 18px;
	/*max-height: 40px;*/
}

input.text:enabled:hover,
select.select:enabled:hover, 
textarea.textarea:enabled:hover, 
input.button:enabled:hover,
input.submit:enabled:hover,
button.button:enabled:hover,
button.submit:enabled:hover,
input.file:enabled:hover,
form.form input:enabled:hover,
form.form select:enabled:hover,
form.form textarea:enabled:hover,
span.editable[contenteditable="true"]:hover
{
	border-color: #999;
	color:#111;
}

input.text:disabled 
textarea.textarea:disabled, 
input.file:disabled,
form.form input:disabled,
form.form textarea:disabled
{
	background-color: #ccc;
}

input.number,
form.form input[type="number"]
{
	padding: 10px 6px;
	text-align: center;
}

input.file,
input[type="file"]
{
	/*padding: 7px 10px;*/
	/*max-height: 42px;*/
}

input.date,
form.form input[type="date"]
{
	max-height: 40px;
}

select.select,
form.form select
{
	min-width:70px;	
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance: none;
	background-repeat: no-repeat;
	background-position: calc(100% - 4px) 50%, calc(100% - 20px) 50%;
	background-size: auto, 1px 25px;
	cursor: pointer;
	background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAARUlEQVQokd2LsQ3AIBDEGIPB7D1+DwZkHbpIQR+gSIXLO7uUSwAaEIs/gPYMalV7FgGhdrW+jiz6lLNoK8/RkTxFZ/LvDOSOKAX7MiCcAAAAAElFTkSuQmCC'), linear-gradient(to right, rgba(0,0,0,.2), rgba(0,0,0,.2));
	padding: 10px 25px 10px 10px;
	align-self: normal;
	min-height: 40px;
	line-height: normal;
}

select.select[multiple],
form.form select[multiple]
{ background-image: unset;  }

input.text[disabled],
select.select[disabled],
form.form select[disabled]
{
	color: #444;
	cursor: default;
	background-image: unset;
}

/*input.text[disabled]:hover,
select.select[disabled]:hover,
form.form select[disabled]:hover
{
	border-color: #999 !important;
}*/

/*select.select[multiple] option.default,
form.form select[multiple] option.default
{
	color:#777;
}

select:invalid { color:#777; }
select:focus { color:inherit; }*/

select.select.blue
{
	background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTlGQ0U3MDcyRjBDMTFFQThCQUJEMkQ4MDQ1NkYyMzUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTlGQ0U3MDgyRjBDMTFFQThCQUJEMkQ4MDQ1NkYyMzUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFOUZDRTcwNTJGMEMxMUVBOEJBQkQyRDgwNDU2RjIzNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFOUZDRTcwNjJGMEMxMUVBOEJBQkQyRDgwNDU2RjIzNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvFg63cAAABkSURBVHjaYvz//z8DKYCJgURAPw3dQFyAR10BVA0DA8jTQCwBxNeBuADKR8YFUDkJcAAhSWDThKIYhFmQrH0BxI5AvB9JLB0q9gIugsUJMJtQTIZhRhwRJ4FkKwpgpHlMAwQYABz+gmXGhXIXAAAAAElFTkSuQmCC'), linear-gradient(to right, rgba(255,255,255,.4), rgba(255,255,255,.4));
}

select.select option 
{ 
	min-height: 20px;
	margin-top: 2px;
	margin-bottom: 2px;
	padding-top: 2px;
	padding-bottom: 2px;
}

textarea.textarea,
form.form textarea,
span.editable[contenteditable="true"]
{
	resize: both;
	min-height: 42px;
	max-height: 100%;
	max-width: 700px;
	width: auto;
	line-height: 1.3;
	overflow: auto;
}

fieldset textarea.textarea { width: 100%; }

/*span.editable[contenteditable="true"]:empty:before 
{
	content: attr(aria-placeholder);
	color: #777;
}*/


input.checkbox,
form.form input.checkbox,
input.radio,
form.form input.radio
{
    vertical-align: text-bottom;
    display: inline-block;
	width: 20px !important;
	height: 20px !important;
	min-width: auto !important;
	margin: 0 3px 0 0 !important;
}

input.checkbox:disabled,
input.radio:disabled { cursor: default; }

input.file,
input.button, 
input.submit,
button.button,
button.submit,
input.checkbox,
input.radio,
label.checkbox,
label.radio
form.form input
{
	cursor: pointer;
}

input.text:invalid:hover,
select.select:invalid:hover, 
textarea.textarea:invalid:hover,
input.file:invalid:hover,
input.text:required:hover,
select.select:required:hover, 
textarea.textarea:required:hover,
input.file:required:hover,
input.text.required:hover,
select.select.required:hover, 
textarea.textarea.required:hover,
input.text.required:placeholder-shown,
textarea.textarea.required:placeholder-shown,
input.file.required:placeholder-shown,
select.select.required:not(:checked),
input.file.required:hover,
span.editable.required[contenteditable="true"]:empty,
span.editable.required[contenteditable="true"]:empty:hover
{
	border-color: #990000;
}
/*textarea.textarea:not(:placeholder-shown) { outline:1px solid green; }*/
input.text:focus,
textarea.textarea:focus,
input.file:focus,
span.editable[contenteditable="true"]:focus
{
	border:1px solid #aaa;
	outline: none;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

input.text:read-only:hover,
textarea.textarea:read-only:hover 
{ 
	border-color: #ccc; 
	cursor: default;
}

select.select:focus,
form.form select:focus
{
	box-shadow: none;
	outline: none;
	border:1px solid #aaa;
}

input.button,
button.button
{
	max-height: 40px;
	letter-spacing: .5px;
	text-align: center;
	background-color:#efefef;
	white-space: nowrap;
	color: #02324f;
}

input.button:focus,
button.button
{
	outline: none;
}

input.button:disabled,
input.submit:disabled,
button.button:disabled,
button.submit:disabled,
select.select:disabled,
form.form input[type="button"]:disabled,
form.form input[type="submit"]:disabled,
input.button:disabled:hover,
input.submit:disabled:hover,
button.button:disabled:hover,
button.submit:disabled:hover,
select.select:disabled:hover,
form.form input[type="button"]:disabled:hover,
form.form input[type="submit"]:disabled:hover
{
    color: #aaa;
    cursor: default;
	border: 1px solid transparent;
}

input.button[type="submit"]:active,
input.submit:active,
button.submit:active,
input.button:active,
form.form input[type="submit"]:active
{
	box-shadow: none;
	outline: none;
	border:1px solid #fff;
}

input.button[type="submit"]:focus,
input.submit:focus,
button.submit:focus,
input.button:focus,
form.form input[type="submit"]:focus
{
	outline:1px dotted #aaa;
}

input.button.blue,
input.submit.blue,
button.button.blue,
button.submit.blue,
select.select.blue,
form.form input[type="button"].blue,
form.form input[type="submit"].blue
{
	background-color: #0B486D;
	color: #fff;
	font-weight: bold;
	border:1px solid #0b486d;
}

input.button.blue:hover,
input.submit.blue:hover,
button.button.blue:hover,
button.submit.blue:hover,
select.select.blue:hover,
form.form input[type="button"].blue:hover,
form.form input[type="submit"].blue:hover,
input.button.blue:focus,
input.submit.blue:focus,
button.button.blue:focus,
button.submit.blue:focus,
select.select.blue:focus,
form.form input[type="button"].blue:focus,
form.form input[type="submit"].blue:focus
{
	border: 1px solid #000;	
	color: #fff;	
	background-color:#02324f;
}

input.button.blue:disabled,
input.submit.blue:disabled,
button.button.blue:disabled,
button.submit.blue:disabled,
select.select.blue:disabled,
form.form input[type="button"].blue:disabled,
form.form input[type="submit"].blue:disabled,
input.button.blue:disabled:hover,
input.submit.blue:disabled:hover,
button.button.blue:disabled:hover,
button.submit.blue:disabled:hover,
select.select.blue:disabled:hover,
form.form input[type="button"].blue:disabled:hover,
form.form input[type="submit"].blue:disabled:hover
{
    color: #aaa;
	font-weight: normal;
    cursor: default;
	background-color: #0B486D;
	border: 1px solid transparent;
}

input.button.red,
input.submit.red,
button.button.red,
button.submit.red,
form.form input[type="button"].red,
form.form input[type="submit"].red
{
	background-color: #990000;
	color: #fff;
	font-weight: bold;
	border:1px solid #990000;
}

input.button.red:hover,
input.submit.red:hover,
button.button.red:hover,
button.submit.red:hover,
form.form input[type="button"].red:hover,
form.form input[type="submit"].red:hover
{
	border-color:#000;
	color:#fff;
	background-color:#B70000;
}

input.button.red:disabled,
input.submit.red:disabled,
button.button.red:disabled,
button.button.red:disabled,
form.form input[type="button"].red:disabled,
form.form input[type="submit"].red:disabled
{
    color: #ccc;
    cursor: default;
	font-weight: normal;
	border: 1px solid transparent;
	background-color: #990000;
}
 
input.button.green,
input.submit.green,
button.button.green,
button.submit.green,
form.form input[type="button"].green,
form.form input[type="submit"].green
{
	background-color: #0F7100;
	color: #fff;
	font-weight: bold;
	border:1px solid #0F7100;
}
 
input.button.green:hover,
input.submit.green:hover,
button.button.green:hover,
button.submit.green:hover,
form.form input[type="button"].green:hover,
form.form input[type="submit"].green:hover
{
	border-color:#000;
	color:#fff;
	background-color:#107E00;
}

input.button.green:disabled,
input.submit.green:disabled,
button.button.green:disabled,
form.form input[type="button"].green:disabled,
form.form input[type="submit"].green:disabled
{
    color: #ccc;
	font-weight: normal;
    cursor: default;
	border: 1px solid transparent;
	background-color: #0F7100;
}

input.ghost,
select.ghost, 
textarea.ghost, 
button.ghost,
input.ghost:hover,
select.ghost:hover, 
textarea.ghost:hover, 
button.ghost:hover,
input.ghost:focus,
select.ghost:focus, 
textarea.ghost:focus, 
button.ghost:focus
{
	border: none !important;
	cursor: default !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	color:inherit !important;
	font-size: inherit !important;
	/*padding: 0 !important;*/
	resize: none !important;
	caret-color: transparent !important;
}

label.checkmark 
{
	flex: 0 0 auto;
	position: relative;
	display: flex;	
	align-items: center;	
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	width: min-content;
	margin: 0 auto;
}

label.checkmark input[type="checkbox"] 
{
	position: absolute;
	opacity: 0;
	cursor: none;
	height: 0;
	width: 0;
	z-index: -1;
}

span.checkmark 
{
	position: relative;
	display: block;
	min-height: 24px;
	min-width: 24px;
	border-radius: 2px;
	background-color: #fff;	
	border: 1px solid #aaa;
	cursor: pointer;
	/*vertical-align: middle;
	overflow: hidden;*/
}

span.checkmark + span
{
	margin-left: 5px;
	white-space: nowrap;
}

label.checkmark:hover input ~ span.checkmark 
{
	border:1px solid #0b486d;
}

label.checkmark input:checked ~ span.checkmark 
{
	/*background-color: #fafafa;*/
}

label.checkmark.blue input:checked ~ span.checkmark 
{
	background-color: #0b486d;
}

span.checkmark:after 
{
	content: "";
	position: absolute;
	z-index: 1;
	display: none;
}

label.checkmark input:checked ~ span.checkmark::after 
{
	display: block;
}

label.checkmark span.checkmark::after 
{
	left: 8px;
	top: 4px;
	width: 7px;
	height: 13px;
	border: solid #0b486d;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

label.checkmark.blue span.checkmark::after 
{
	border: solid white;
	border-width: 0 3px 3px 0;
}

label.checkmark input[disabled] ~ span.checkmark,
label.checkmark:hover input[disabled] ~ span.checkmark
{
	border: 1px solid #ccc;
	cursor: default;
}

label.checkmark input[disabled] ~ span.checkmark::after 
{
	border: solid #999;
	border-width: 0 3px 3px 0;
}

p > label.checkmark { width: auto; }

fieldset:disabled span.checkmark
{
	border: 1px solid #ccc;
	cursor: default;
}
fieldset:disabled label.checkmark:hover input ~ span.checkmark 
{	
	border: 1px solid #ccc;
	cursor: default;
}



/*label.checkmark.display_only input[disabled] 
{
	cursor: default;
}

label.checkmark.display_only span.checkmark
{
	outline:none !important;	
	background-color: inherit !important;
}

label.checkmark.display_only span.checkmark::after
{
	border: solid #0b486d !important;
	border-width: 0 3px 3px 0  !important;
}*/

fieldset.fieldset
{
	outline: 1px solid #ccc;	
	margin: 10px 0;
	position: relative;
	display: block;
}

fieldset.fieldset > header 
{
	background-color: #eee;
	/*outline: 1px solid #ccc;*/
	border-bottom: 1px solid #ccc;
	padding: 10px 15px;
	position: relative;
	color: #111;
	font-size: 1.2rem;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: space-between;
}

	fieldset.fieldset header button,
	fieldset.fieldset header select,
	fieldset.fieldset header input { background-color: #fff; }

/*fieldset.fieldset:hover,
fieldset.fieldset:hover> header
{
	outline: 1px solid #999;
}*/

/*fieldset.fieldset div.row
{
	padding: 20px;
	align-items: center;
}

fieldset.fieldset > section
{
	padding: 20px;
}*/

fieldset.fieldset > p
{
	margin: 20px;
}

fieldset.fieldset fieldset.fieldset
{
	width: auto;
}

/*fieldset.fieldset input.button,
fieldset.fieldset button.button
{
	margin-left: 10px;
	margin-right: 10px;
}

fieldset.fieldset header input.button,
fieldset.fieldset header button.button
{
	margin-left: 0;
	margin-right: 0;
}*/