[contentEditable] { border:1px solid #cccccc; padding:5px 10px; min-height:50px; border-radius:4px; }

textarea { border:1px solid #ccc; border-radius:4px; }
select:focus, button:focus, .btn:focus, input:focus, textarea:focus, [contenteditable]:focus { 
	outline: 0;
	border:1px solid #66afe9;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	display: none;
}

input[type=time]::-webkit-inner-spin-button,
input[type=date]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	display: none;
}

input[type=time][required]::-webkit-clear-button,
input[type=date][required]::-webkit-clear-button {
	-webkit-appearance: none;
	display: none;
}

input[type=date], input[type=time], input[type=number], input[type=text], input[type=password], textarea { -moz-appearance: textfield; background-clip:padding-box; }

[overflow] { -webkit-overflow-scrolling:touch; overflow:auto; }
[overflow]::-webkit-scrollbar { display: none; }

.btn-circle { display:inline-block; padding:0px; border:1px solid transparent; background:transparent; color:#3a5a7a; font-weight:300; transition:none; box-shadow:none; -webkit-box-shadow:none; position:relative; border-radius:50%; overflow:hidden; }
.btn-circle:active, .btn-circle:focus, .btn-circle:hover { background:transparent; outline:none; border:1px solid transparent; color:#3a5a7a; box-shadow:none; -webkit-box-shadow:none;
}
.btn-circle > * { width: 50px; height:50px; padding-top:calc(50% - .5em); font-size:18px;  margin:0; line-height:normal; transition:all .3s ease-in-out 0s; color:white;
}

.btn-circle.btn-default > * { background:#e5e9ed; color:#a5b6c7; }
.btn-circle.btn-primary > * { background:#337ab7; }
.btn-circle.btn-success > * { background:#5cb85c; }
.btn-circle.btn-info    > * { background:#5bc0de; }
.btn-circle.btn-warning > * { background:#f4c414; }
.btn-circle.btn-danger  > * { background:#d9534f; }
.btn-circle.btn-inverse > * { background:#555555; }

.mobile .alert .modal-dialog { top:calc(50vh - 160px); }
.mobile .confirm .modal-dialog { top:calc(50vh - 160px); }

.textbox { position:relative; } 
.textbox label { position:absolute; top:3px; left:10px; font-weight:normal; color:#337ab7; }
.textbox label + input { padding:35px 10px 15px 10px; }

button { touch-action: manipulation; }

::placeholder { color:silver; }

.ios input[type=date], 
.ios input[type=time], 
.ios input[type='datetime-local'], 
.ios input[type=number], 
.ios input[type=text], 
.ios input[type=password], 
.ios textarea,
.ios [contentEditable]
{ font-size:16px; }

.table.table-list thead tr > * { border:0; background:#e9ebee; }
.table.table-list tbody td { vertical-align:middle; border:0; border-bottom:1px solid #ddd; }
.table.sticky thead tr > * { position:sticky; top:0; z-index:1; }

label.toggle { display:inline-flex; gap:.3em; align-items:center; line-height:1; margin:0; font-weight:normal; 
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
label.toggle + label.toggle { margin-left:1em; }
label.toggle [type=checkbox] { display:none; }
label.toggle [type=checkbox] + span { position:relative; height:1.2em; width:2em; border:2px solid gray; border-radius:.6em; background:gray; font-size:1.2em; }
label.toggle [type=checkbox] + span:before { transition:all .2s; content:''; display:block; position:absolute; height:calc(1.2em - 4px); width:calc(1.2em - 4px); border-radius:50%; background:white; left:0; }
label.toggle [type=checkbox]:checked + span { border:2px solid #78cd78; background:#78cd78; }
label.toggle [type=checkbox]:checked + span:before { left:.8em; }

body > .bb { display:none; }