/*Abacus admin level - make visible using a custom stylesheet or browser add-on*/
.adm_hide{ display: none; }

/*Generic stuff*/
.hidden { display: none; }
.al_vm * { vertical-align: middle !important; }
.flt_l { float: left; }
.flt_r { float: right; }
.fnt_bld { font-weight: bold; }
.cb { clear: both; }
.op-fade { transition: opacity 300ms ease; }
.rel { position: relative; }
.txt-cnt { text-align: center; }
.nsd { cursor: default; -webkit-user-select: none; user-select: none; }

/*Links*/
a { outline: none; }
a:hover > img { opacity: 0.6; border: none; }

/*Error state*/
input.error { border-color: #B71E37 !important; box-shadow: 0 0 2px 0px #B71E37 !important; }

/*Vertical centred radio/checkbox inputs*/
label.chk-rad-label { padding-left: 15px; text-indent: -15px; }
label.chk-rad-label input[type="checkbox"], label.chk-rad-label input[type="radio"] { margin: 0; width: 13px; height: 13px; padding: 0; vertical-align: bottom; position: relative; top: -1px; overflow: hidden; }


/*********************************************ANIMATION***************************************************/
.shake { animation: shake 0.3s cubic-bezier(.36,.07,.19,.97) both; transform: translate3d(0, 0, 0); backface-visibility: hidden; perspective: 1000px; border-color: #C00 !important; transition: border-color 300ms ease; }

@keyframes shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-3px, 0, 0); }
  40%, 60% { transform: translate3d(3px, 0, 0); }
}


/*Infinite circular loading animation*/
.iv-loader {
	top: 50%; left: 50%; border-radius: 50%; width: 32px; height: 32px; z-index: 100; margin-top: -16px; margin-left: -16px; font-size: 5px; position: absolute; text-indent: -9999em;
	border-top: 1.1em solid rgba(62, 137, 194, 0.8);
   border-right: 1.1em solid rgba(62, 137, 194, 0.2);
   border-bottom: 1.1em solid rgba(62, 137, 194, 0.8);
   border-left: 1.1em solid rgba(62, 137, 194, 0.2);
	transform: translateZ(0); animation: load8 1.1s infinite linear;
}
.iv-loader:after { width: 10em; height: 10em; border-radius: 50%; }

.iv-loader-missing { width: 250px; font-weight: bold; top: 50%; left: 45%; position: absolute; }

@keyframes load8 {
	0% { -webkit-transform: rotate(0); transform: rotate(0); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}


/*Delete animation*/
.slide-out-left { animation: slide-out-left 0.6s both; }
@keyframes slide-out-left { 0% {transform: translateX(0); opacity: 1; } 100% { transform: translateX(-2000px); opacity: 0; } }