/* --------------- */
/* Basic elements. */
/* --------------- */

HTML
{
  font-size: 14px;
}

BODY
{
}

H1,
H2,
H3
{
	padding-top: 1rem;
	padding-bottom: 1rem
}

P,
UL,
OL
{
	text-align: justify;
}

PRE.debug
{
	background: #880000;
	color: white;
}


/* -------------------- */
/* Bootstrap extensions */
/* -------------------- */

/* Make the collapse symbols rotate when collapsed. */
.card-header .fas
{
	transition: .3s transform ease-in-out;
}
.card-header .collapsed .fas
{
	transform: rotate(-90deg);
}

.tooltip
{
	font-size: 0.9rem;
}

/* Leave space between the icon and the text. */
div.confirmation-buttons a i.fas
{
	padding-right: 0.25em;
}

/* Align the right arrow to the right of the menu. */
/* Make the arrow to always point to the right. */
.dropdown-toggle.active-dropdown::after,
.dropdown-item.dropdown-toggle::after
{
	transform: rotate(-90deg);
	position: absolute;
	right: 0.4em;
	padding-top: 1.1em;
}

/* Server feedback will be visible even without the form being */
/* validated on client side. */
.invalid-feedback.server-invalid-feedback
{
	display: block
}


/* ------------ */
/* Fatal error. */
/* ------------ */

DIV.fatal
{
	border: solid 5px red;
	padding: 5px;
}

DIV.fatal H1
{
	margin-top: 0;
	border-bottom: solid 3px red;
}

DIV.fatal P.message
{
	background: #BBBBBB;
	padding: 2mm;
	white-space: pre;
}

DIV.fatal PRE.stack
{
	background: #BBBBBB;
}


/* ------------------ */
/* Tables in general. */
/* ------------------ */

TABLE TR.header,
TABLE.table-striped TBODY TR.header
{
	background: var(--#2FA4E7);
	color: #000000;
}

TABLE TR.subheader,
TABLE.table-striped TBODY TR.subheader
{
	background: var(--#2FA4E7);
	color: #FFFFFF;
}

TABLE TR.headerGroup
{
	text-align: center;
}

TABLE TR TH.button
{
	text-align: center;
}

TABLE TD.button
{
	font-size: smaller;
}

TABLE SPAN.error
{
	font-weight: normal;
	font-size: smaller;
	color: #DD0000;
}


/* ------------------ */
/* Button list table. */
/* ------------------ */

TABLE.buttons
{
}

TABLE.buttons,
TABLE.buttons TH,
TABLE.buttons TD
{
	border: none;
}

TABLE.buttons TD.button
{
	width: 1em;
}

TABLE.buttons TD.padding
{
}


/* ------------------ */
/* Preferences table. */
/* ------------------ */

TABLE.preferences
{
	max-width: 35cm;
	width: 100%;
}

TABLE.preferences SPAN.name
{
	font-weight: bold;
}

TABLE.preferences SPAN.description,
TABLE.preferences SPAN.range
{
	font-size: smaller;
	font-weight: normal;
}

TABLE.preferences COL.header
{
	min-width: 15em;
	width: 33%;
}

TABLE.preferences TH.header
{
	text-align: justify;
}

TABLE.preferences COL.input
{
	min-width: 40em;
}

TABLE.preferences SELECT
{
	min-width: 40em;
	width: 100%;
}

TABLE.preferences INPUT.number
{
	width: 6em;
}

TABLE.preferences INPUT.string
{
	min-width: 40em;
	width: 99%;
}

TABLE.preferences TEXTAREA
{
	min-width: 40em;
	width: 99%;
}


/* --------------------- */
/* Portfolio list table. */
/* --------------------- */

TABLE.portfolioList
{
	min-width: 10cm;
}


/* ------------------------------ */
/* Portfolio position list table. */
/* ------------------------------ */

TABLE.positionList TD.shares,
TABLE.positionList TD.price,
TABLE.positionList TD.percent
{
	text-align: right;
}

TABLE.positionList TH.shares,
TABLE.positionList TH.price,
TABLE.positionList TH.percent
{
	text-align: center;
}


/* ------------------------ */
/* Portfolio dividend table */
/* ------------------------ */

.bg-dividend-received
{
	background: #E0FFE0;
}
.bg-dividend-paid
{
	background: #C0D0FF;
}
.bg-dividend-earned
{
	background: #C0F0FF;
}
.bg-dividend-declared
{
	background: #FFFFE0;
}
.bg-dividend-estimated
{
	background: #FFE0E0;
}
.bg-dividend-estimated-increased
{
	background: #FFC0C0;
}

/* --- */
/* EOF */
/* --- */
