@keyframes blinker {
  from { opacity: 1.0; }
  to { opacity: 0.0; }
}

.blinker {
  animation-name: blinker;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(.5, 0, 1, 1);
  animation-duration: 1.0s;
  animation-iteration-count: 8;
  animation-direction: alternate;
}

.pre-wrap {
	white-space: pre-wrap;
}
.pre-line {
	white-space: pre-line;
}
.nowrap {
	white-space: nowrap;
}

.mt-1-5 {
	margin-top: .375rem !important;
}

.btn-top-right {
	color: black;
	border: none;
	padding: .75rem;
	font-size: 13px;
	line-height: 24px;
	opacity: .2;
}
.btn-top-right:hover {
	opacity: 1;
}

.card-title {
	margin-top: .2rem;
}
.card-title[data-card-widget] {
	cursor: pointer;
}

.loading-overlay {
	display: flex;
	background: #ffffffaa;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity .25s;
	width: 100%;
	z-index: -1;
}

.loading-overlay-trans {
	background: none;
}

.loading-overlay .loading-overlay-center {
	align-self: center;
	margin: 0 auto;
	text-align: center;
}
.loading-overlay .loading-overlay-top-right-15 {
	margin: 15px 15px 15px auto;
	text-align: right;
}

.loading-overlay .fa-sm {
	font-size: 24px;
}
.loading-overlay .fa-md {
	font-size: 32px;
}
.loading-overlay .fa-lg {
	font-size: 48px;
}
.loading-overlay .fa-xl {
	font-size: 64px;
}
.loading > .loading-overlay {
	opacity: 1;
	z-index: 10;
}

.worker-icon {
	transition: color .6s;
}
.progress-bar {
	transition-property: width, background, color;
}
.progress-lg {
	height: 30px;
}
.progress-xl {
	height: 50px;
}

/**
 * Log Table
 */
.table-log tbody {
	font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
.table-log > thead > tr > th {
	padding-right: 30px !important;
}
.table-log > thead > tr > th:last-child {
	padding-right: 0 !important;
}
.table-log tr > td {
	cursor: pointer;
}


/**
 * Json PrettyPrint
 */
.pre-json {
	background-color: ghostwhite;
	border: 1px solid silver;
}
.json-key {
	color: brown;
}
.json-value {
	color: navy;
}
.json-string {
	color: olive;
}

pre.pre-scrollable {
	resize: vertical;
	max-height: 90vh;
}



/**
 * Login
 */
@keyframes warning-blink {
  0%   { opacity: 1; }
  100% { opacity: 0.4; }
}

@keyframes warning-popup {
  0%   { opacity: 0; top: 0; }
  100% { opacity: 1; top: -35px; }
}

.form-group {
	position: relative;
}

.form-control-feedback {
	position: absolute;
	right: .75rem;
	top: 50%;
	transform: translateY(-50%);
}

.form-group .form-control-error {
	position: absolute;
	opacity: 1;
	right: 0;
	top: -35px;
	transform: translateY(-50%);
	animation-direction: normal;
	animation-duration: 0.6s;
	animation-iteration-count: 1;
	animation-name: warning-popup;
}

.form-group .form-control-error + .form-control-feedback {
	animation-direction: alternate;
	animation-duration: 0.6s;
	animation-iteration-count: 6;
	animation-name: warning-blink;
	color: #bd2130;
}

.form-radio-single {
	height: 20px;
	margin: 5.75px 0;
}

#websites-card button {
	margin: 0 2px;
}

.is-capital-marker {
	position: absolute;
	top: 50%;
	right: 1%;
	transform: translateY(-50%);
}