

.bold     { font-weight: bold; }
.textSm   { font-size: 90%; }
.textXs   { font-size: 75%; }
.textLg   { font-size: 112.5%; }
.nowrap   { white-space: nowrap; }

.red      { color: red; }
.teammate { color: #d00060; }
.twitch   { color: #8956fb; }
.raid-in  { color: #70c000; }
.raid-out { color: #f88b00; }

body {
	background-color: #f4f8ff;
}

/*div#wrapper {
}*/

div#body {
	margin-left: 0;
	margin-right: 0;
}

#maincontent {
	background-color: #fff;
	border: 1px solid #f0f0f0;
	border-radius: 5px;
	min-height: 500px;
	padding-top: 10px;
	padding-bottom: 15px;
	margin-bottom: 25px;
}

#menu {
	margin-bottom: 10px;
	padding-left: 0;
	padding-right: 0;
}
#menu ul {
	font-size: 85%;
	padding-left: 15px;
}

#maintitle { font-weight: bold; color: white; }

@media screen and (min-width: 751px) {
	#maintitle {
		font-size: 23px;
	}
}

@media screen and (max-width: 750px) {
	#maintitle {
		font-size: calc(14px + 1vw);
	}
}

a span.fas, a span.far { color: black; }
a.btn span.fas         { color: inherit; }

.btn-xs {
	padding: .2rem .4rem;
	font-size: .8rem;
	line-height: 1.25;
	border-radius: .2rem
}

label.nomrg {
	margin-bottom: 0;
}

.no-mrg-empty:empty {
	margin: 0 !important;
}

.btn    > .btnIconFullWidth { min-width: 1rem;     }
.btn-xs > .btnIconFullWidth { min-width: 0.8rem;   }
.btn-sm > .btnIconFullWidth { min-width: 0.875rem; }

.vertTextBottom {
	vertical-align: text-bottom;
}

.dlgHeader { background-color: #dbe8ff; }

.dataDialog {
	background-color: #f8fcfb;
	position: absolute;
	z-index: 99;
}

/*.fl { float: left }
.fr { float: right }
.clr { clear: both; }
.clrfix::after {
	content: ""; clear: both; display: table;
}*/

/*img { border: 0 none; } */

.conWidth { max-width: max-content; min-width: min-content; }  /* limit width to content, ie. not full width available */

div.table       { display: table; }
div.table > div { display: table-cell; vertical-align: middle; }

/*table.center, hr.center {
	margin-left: auto;
	margin-right: auto;
}
table.right, hr.right {
	margin-right: 0px;
	margin-left: auto;
}*/

.closeBtn { color: #a31; }

button[type="submit"].badge { border: none; }  /* hide grey border on buttons when styled as badge */
input[type="number"].nospin {
	appearance: textfield;
	-moz-appearance: textfield;  /* hide spinner for number inputs (for firefox) */
}
input.nospin::-webkit-outer-spin-button,
input.nospin::-webkit-inner-spin-button {
	-webkit-appearance: none;  /* hide spinner for number inputs (for chrome & safari) */
}

.stopBSFW {  /* stop bootstrap full width with class form-control */
	display: initial;
	width: initial;
}

.fa.icon-lg, .fas.icon-lg { font-size: 125%; }
.fa.green, .fas.green { color: green; }
.fa.red, .fas.red { color: #d00; }
.fas.fa-trash-alt {  /* small rendering fix for firefox (icon does not look good at font size 13px */
	font-size: 107%;
}


/*****  TABLE STYLES  *****/

table.narrow      { width: auto; }
table.tableTextSm { font-size: 90%; }

/*****  TABLE CELL STYLES  *****/

table.table.row-md > tbody > tr > td {
	padding-top: 3px;
	padding-bottom: 3px;
}
table.table.row-sm > tbody > tr > td, table.table.shortHeader tr > th {
	padding-top: 2px;
	padding-bottom: 2px;
}
table.table.row-xs > tbody > tr > td {
	padding-top: 1px;
	padding-bottom: 1px;
}
table.table.col-lg > tbody > tr > td, table.table.col-lg > tbody > tr > th, table.table.col-lg > thead > tr > th {
	padding-left: 0.375rem;
	padding-right: 0.375rem;
}
table.table.col-xl > tbody > tr > td, table.table.col-xl > tbody > tr > th, table.table.col-xl > thead > tr > th {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
table.table.col-sm > tbody > tr > td, table.table.col-sm > tbody > tr > th, table.table.col-sm > thead > tr > th {
	padding-left: 3px;
	padding-right: 3px;
}
table.table.col-xs > tbody > tr > td, table.table.col-xs > tbody > tr > th, table.table.col-xs > thead > tr > th {
	padding-left: 2px;
	padding-right: 2px;
}
tr.header > td, tr.theader > td, table.firstColBold > tbody > tr > td:first-child {
	font-weight: bold;
}
table.topAlign > tbody > tr > td {
	vertical-align: top;
}
table.mid td, table.mid th { vertical-align: middle; }

td.r, th.r       { text-align: right; }
td.c, th.c       { text-align: center; }
td.c td, td.r td { text-align: initial; }
td.top           { vertical-align: top !important; }
td.bottom        { vertical-align: bottom !important; }
.mid             { vertical-align: middle !important; }

/***** END TABLE RELATED STYLES *****/


@media screen {
	.printervisible { display: none; }
	.screenvisible, .noprint { }
}

@media print {
	.printervisible { }
	.screenvisible, .noprint { display: none; }
}

div.imgtooltip { display: inline-block; cursor: help; }
div.imgtooltip strong { display: block; margin-top: 1px; margin-bottom: 8px; }
div.imgtooltip span {
	z-index: 10; display: none; padding: 5px 8px; line-height: 16px;
	max-width: 500px; margin-top:-8px; margin-left: 25px;
	border-radius:2px; box-shadow: 0px 0px 2px 1px #ccc;
}
div.imgtooltip:hover span{
	display: inline; position: absolute;
	border: 1px solid #888; color: #000; background-color: #ffc;
}


/**  TOOLTIP STYLE CODE (not Bootstrap related)  **/
/**  Usage: add one of classes "tooltip-top", "tooltip-bottom", "tooltip-left" or "tooltip-right" and set tooltip contents in the attribute "data-tooltip" **/

.tooltip-inner {
	line-height: 125%;
}
.tooltip-inner hr { border-top: 1px solid white; }
[data-tooltip] {
	/*display: inline; is this needed? */
	position: relative;
}
.indicator[data-tooltip], .indicator[data-toggle=tooltip] { border-bottom: 1px dotted black; }
/* Base styles for the entire tooltip */
[data-tooltip]:before, [data-tooltip]:after {
	position: absolute;
	visibility: hidden;
	pointer-events: none;
}
/* Show the entire tooltip on hover and focus */
[data-tooltip]:hover:before, [data-tooltip]:hover:after,
[data-tooltip]:focus:before, [data-tooltip]:focus:after {
	visibility: visible;
}
[data-tooltip]:before {  /* Base styles for the tooltip's directional arrow */
	z-index: 1001;
	border: 6px solid transparent;
	background: transparent;
	content: "";
}
[data-tooltip]:after {  /* Base styles for the tooltip's content area */
	z-index: 1000;
	padding: 5px;
	width: 150px;
	background-color: #000;
	background-color: hsla(0, 0%, 20%, 0.9);
	color: #fff;
	content: attr(data-tooltip);
	font-size: 12px;
	line-height: 1.2;
	text-align: center;
	border-radius: 5px;
}
/* Top (default) */
[data-tooltip]:before, [data-tooltip]:after,
.tooltip-top:before,   .tooltip-top:after {
	bottom: 100%;
	left: 50%;
}
[data-tooltip]:after, .tooltip-top:after {
	margin-bottom: 12px;
}
[data-tooltip]:before, .tooltip-top:before {
	margin-left: -6px;
	margin-bottom: 0;
	border-top-color: #000;
	border-top-color: hsla(0, 0%, 20%, 0.9);
}
[data-tooltip]:after, .tooltip-top:after {  /* Horizontally align top/bottom tooltips */
	margin-left: -75px;
}
/* Left */
.tooltip-left:before, .tooltip-left:after {
	right: 100%;
	bottom: 50%;
	left: auto;
}
.tooltip-left:after {
	margin-right: 12px;
}
.tooltip-left:before {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0;
	border-top-color: transparent;
	border-left-color: #000;
	border-left-color: hsla(0, 0%, 20%, 0.9);
}
/* Bottom */
.tooltip-bottom:before, .tooltip-bottom:after {
	top: 100%;
	bottom: auto;
	left: 50%;
}
.tooltip-bottom:after {
	margin-top: 12px;
}
.tooltip-bottom:before {
	margin-top: 0;
	margin-bottom: 0;
	border-top-color: transparent;
	border-bottom-color: #000;
	border-bottom-color: hsla(0, 0%, 20%, 0.9);
}
/* Right */
.tooltip-right:before, .tooltip-right:after {
	bottom: 50%;
	left: 100%;
}
.tooltip-right:after {
	margin-left: 12px;
}
.tooltip-right:before {
	margin-bottom: 0;
	margin-left: 0;
	border-top-color: transparent;
	border-right-color: #000;
	border-right-color: hsla(0, 0%, 20%, 0.9);
}
.tooltip-left:before, .tooltip-right:before {  /* Move directional arrows down a bit for left/right tooltips */
	top: 2px;
}
.tooltip-left:after, .tooltip-right:after {  /* Vertically center tooltip content for left/right tooltips */
	/*margin-left: 0;*/
	margin-bottom: -16px;
}


/** AJAX loading indicator **/

#top_overlay {
	left: 0;
	top: 0;
	position: fixed;
	z-index: 9000;
	background-color: transparent;
	display: none;
	width: 100%;
	height: 100%;
	opacity: 0.8;
}

#loading-indicator {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -40px 0 0 -40px;
	width: 80px;
	height: 80px;
}

.sk-circle {
  margin: auto;
  width: 80px;
  height: 80px;
  position: relative;
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #333;
  border-radius: 100%;
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
  	 -moz-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
          animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.sk-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  	 -moz-transform: rotate(30deg);
  	   -o-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg); }
.sk-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  	 -moz-transform: rotate(60deg);
  	   -o-transform: rotate(60deg);
      -ms-transform: rotate(60deg);
          transform: rotate(60deg); }
.sk-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  	 -moz-transform: rotate(90deg);
  	   -o-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }
.sk-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  	 -moz-transform: rotate(120deg);
  	   -o-transform: rotate(120deg);
      -ms-transform: rotate(120deg);
          transform: rotate(120deg); }
.sk-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  	 -moz-transform: rotate(150deg);
  	   -o-transform: rotate(150deg);
      -ms-transform: rotate(150deg);
          transform: rotate(150deg); }
.sk-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  	 -moz-transform: rotate(180deg);
  	   -o-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }
.sk-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  	 -moz-transform: rotate(210deg);
  	   -o-transform: rotate(210deg);
      -ms-transform: rotate(210deg);
          transform: rotate(210deg); }
.sk-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  	 -moz-transform: rotate(240deg);
  	   -o-transform: rotate(240deg);
      -ms-transform: rotate(240deg);
          transform: rotate(240deg); }
.sk-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  	 -moz-transform: rotate(270deg);
  	   -o-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg); }
.sk-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  	 -moz-transform: rotate(300deg);
  	   -o-transform: rotate(300deg);
      -ms-transform: rotate(300deg);
          transform: rotate(300deg); }
.sk-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  	 -moz-transform: rotate(330deg);
  	 -o-transform: rotate(330deg);
      -ms-transform: rotate(330deg);
          transform: rotate(330deg); }
.sk-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  -moz-animation-delay: -1.1s;
          animation-delay: -1.1s; }
.sk-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  -moz-animation-delay: -1s;
          animation-delay: -1s; }
.sk-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
  -moz-animation-delay: -0.9s;
          animation-delay: -0.9s; }
.sk-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
  -moz-animation-delay: -0.8s;
          animation-delay: -0.8s; }
.sk-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
  -moz-animation-delay: -0.7s;
          animation-delay: -0.7s; }
.sk-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
  -moz-animation-delay: -0.6s;
          animation-delay: -0.6s; }
.sk-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
  -moz-animation-delay: -0.5s;
          animation-delay: -0.5s; }
.sk-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
  -moz-animation-delay: -0.4s;
          animation-delay: -0.4s; }
.sk-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
  -moz-animation-delay: -0.3s;
          animation-delay: -0.3s; }
.sk-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
  -moz-animation-delay: -0.2s;
          animation-delay: -0.2s; }
.sk-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
  -moz-animation-delay: -0.1s;
          animation-delay: -0.1s; }

@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  } 40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
