/*
* kate: default-dictionary en-gb; tab-indents true; tab-width 4; indent-width 4; replace-tabs off; replace-tabs-save off; line-numbers on;
*
*	Nicholas Christopoulos <nikosc@mailbox.org>
*
*	Personal Site, default stylesheet
*
*	http://christopoulos.users.sourceforge.net
*/

@import url('/lib/color-mode.css');
@import url('/fonts/fonts-oswald.css');
@import url('/fonts/fonts-roboto-condensed.css');

/* --- generic global definitions --- begin --- */
body {
	quotes: '«' '»';
	font-family: sans-serif;
	margin: 0;
	background-color: var(--bg);
	color: var(--fg);
	}

@media print {
	@page {
		size: A4;
		margin: 2.5cm;
		}

	body {
		font-size: 11pt;
		}
	}

/* hyphenation */
.hyp {
	hyphens: auto;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphenate-before: 2;
	hyphenate-after: 2;
	text-align: justify;
	}

.serif {
	font-family: serif;
	}

.sans-serif {
	font-family: sans-serif;
	}

@media print { .screen-only { display: none; } }
@media screen { .printer-only { display: none; } }

/* paragraph indent */
.full-indent p     { text-indent: 1.5em; }
.indent      p     { text-indent: 0; }
.indent      p + p { text-indent: 1.5em; }
.no-indent   p     { text-indent: 0; }
.no-indent   p + p { text-indent: 0; }

/* several quotes */
.qq:before	{ content: "«"; }
.qq:after	{ content: "»"; }
.dq:before	{ content: "“"; }
.dq:after	{ content: "”"; }
.sq:before	{ content: "‘"; }
.sq:after	{ content: "’"; }
.var:before { content: "〈"; }
.var:after  { content: "〉"; }

/* links */
:link    { color: light-dark(#0000c0,#55aaff); }
:visited { color: light-dark(#0000c0,#55aaff); }
a:active { color: light-dark(#cc0000,#ffaa00); }
a:hover  { color: light-dark(#bb4400,#ffaa00); }
	
.show-url a:link, a:visited {
	background: transparent;
	font-weight: bold;
	text-decoration: underline;
	}

.show-url a:link:after, a:visited:after {
	font-weight: 400;
	font-style: italic;
	content: " (" attr(href) ") ";
	font-size: 90%;
	}

@media print {
	a:link, a:visited {
		color: #000;
		text-decoration: none;
		}

	a.print-url:link,
	a.print-url:visited,
	.print-url a:link,
	.print-url a:visited {
		background: transparent;
		font-weight: bold;
		text-decoration: underline;
		}

	a.print-url:after,
	.print-url a:link:after,
	.print-url a:visited:after {
		font-weight: 400;
		font-style: italic;
		content: " (" attr(href) ") ";
		font-size: 90%;
		}
	}

textarea { tab-size: 4; }
pre, code, samp { font-family: monospace; tab-size: 4; }

code:before	{ content: "‘"; }
code:after	{ content: "’"; }

pre.example, pre.code {
	padding: 1rem;
	background-color: var(--bgex);
	}

@media print {
	pre.example, pre.code {
		background-color: transparent;
		border: thin solid black;
		}
	}

kbd { font-weight: bold; }
kbd:before { content: "["; }
kbd:after  { content: "]"; }
var { font-style: normal; }
var:before { content: "〈"; }
var:after  { content: "〉"; }
abbr { font-style: italics; }

/* warning: tag soup */
dq:before	{ content: "“"; }
dq:after	{ content: "”"; }
sq:before	{ content: "‘"; }
sq:after	{ content: "’"; }
kai:before	{ content: "ϗ"; }
rz:before   { content: "☭"; }
star:before { content: "★"; }
star2:before { content: "✭"; }
gear:before { content: "⚙"; }
diamond:before { content: "♦"; }
mines:before { content: "⚒"; }
anchor:before { content: "⚓"; }

:lang(el) > q {quotes: '« ' ' »' '“' '”'; }
:lang(fr) > q {quotes: '« ' ' »' '“' '”'; }
:lang(en) > q {quotes: '“' '”' '‘' '’'; }

.copyleft {
    position: relative;
	top: 0.2em;
    display: inline-block;
    transform: rotate(180deg);
	}
.copyleft::after {
	content: "\00a9";
	}

/* lines */
hr	      { border: 0; border: medium solid var(--fg); }
hr.dashed { border: 0; border: medium dashed var(--fg); }
hr.faded  { border: 0; height: 2px; 
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0)); }

/* lists */
dd, li	{ margin-bottom: 0.5ex; }

h1, h2, h3, h4, h5, h6
	{ font-family: 'Roboto Condensed', sans-serif; }
.serif h1, .serif h2, .serif h3, .serif h4, .serif h5, .serif h6
	{ font-family: serif; }

cite {
	font-style: normal;
	color: light-dark(#cc00cc, #ff00ff);
	border-bottom: thin shashed light-dark(#dddddd, #666666);
	}
abbr, acronym
	{ border-bottom: thin dashed light-dark(black,white); }

/* --- generic global definitions --- end --- */

/* --- web-site page header --- begin --- */
header {
	font-family: sans-serif;
	font-weight: bold;
	margin: 0;
	padding: 0;
	line-height: 2em;
	display: block;
	background-color: var(--bg-hd);
	color: var(--fg-hd);
	}
header a { color: #00ff00; }

header o { font-weight: 200; }

header o:before { content: "["; }
header o:after { content: "]"; }

header .site-title {
	font-family: 'Oswald', sans-serif;
	font-size: 2rem;
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
	margin-top: 0;
	margin-bottom: 0;
	}
header .site-title a { color: var(--fg-hd); }

header .site-doc-title {
	margin: 0;
	padding: 0;	
	padding-top: 0.6rem;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.666rem;
	font-weight: bold;
	text-align: center;
	border-top: medium solid var(--fg-hd);
	}

@media screen { header .site-title { padding-left: 0.5rem; padding-right: 0.5rem; } }
@media screen { header .site-doc-title { padding-left: 0.5rem; padding-right: 0.5rem; } }
@media screen and (min-width:  40rem) { header .site-title { padding-left: 1rem; padding-right: 1rem; } }
@media screen and (min-width:  40rem) { header .site-doc-title { padding-left: 1rem; padding-right: 1rem; } }
@media print { header { display: none; } }
/* --- web-site page header --- end --- */

/* --- web-site navigation bar --- begin --- */
nav {
	margin: 0;
	background-color: var(--bgo);
	margin-bottom: 1rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-top: thin solid var(--bgoline);
	border-bottom: thin solid var(--bgoline);
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	}
nav div {
    font-family: 'Roboto Condensed', sans-serif;
	padding-left: 1rem;
	}
nav div.left {
	flex-grow: 1;
	padding-left: 0rem;
/*	padding-right: 1rem; */
	}
nav a {
	font-weight: bold;
	}
@media screen { nav { padding-left: 0.5rem; padding-right: 0.5rem; } }
@media screen and (min-width:  40rem) { nav { padding-left: 1rem; padding-right: 1rem; } }
@media print { nav { display: none; } }
/* --- web-site navigation bar --- end --- */

section, article { margin: 0; }
@media screen { article, section { margin-left: 0.5rem; margin-right: 0.5rem; } }
@media screen and (min-width:  40rem) { article, section { margin-left: 1rem; margin-right: 1rem; } }

article.cols, section.cols { margin: 0; }
@media screen { article.cols, section.cols { margin-left: 0.5rem; margin-right: 0.5rem; } }
@media screen and (min-width:  40rem) { article.cols, section.cols { margin-left: 1rem; margin-right: 1rem; } }
@media screen and (min-width:  60rem) { article.cols, section.cols { column-count: 2; } }
@media screen and (min-width:  90rem) { article.cols, section.cols { column-count: 3; } }
@media screen and (min-width: 120rem) { article.cols, section.cols { column-count: 4; } }
@media screen and (min-width: 150rem) { article.cols, section.cols { column-count: 5; } }
@media screen and (min-width: 180rem) { article.cols, section.cols { column-count: 6; } }

/* main section: wide columns */
article.wcols, section.wcols { margin: 0; }
@media screen { article.wcols, section.wcols { margin-left: 0.5rem; margin-right: 0.5rem; } }
@media screen and (min-width:  40rem) { article.wcols, section.wcols { margin-left: 1rem; margin-right: 1rem; } }
@media screen and (min-width:  80rem) { article.wcols, section.wcols { column-count: 2; } }
@media screen and (min-width: 120rem) { article.wcols, section.wcols { column-count: 3; } }

/* --- web-site page footer --- begin --- */
footer {
	margin: 0;
	display: flex;
	justify-content: space-between;
    font-family: Verdana, Roboto, sans-serif;
	font-size: 0.8rem;
	margin-top: 1rem;
	line-height: 1.5;
	padding-top: 1rem;
	padding-bottom: 1rem;
	background-color: var(--bgo);
	border-top: thin solid var(--bgoline);
	}
footer div.left {
	order: 1;
	flex-grow: 1;
	}
footer div.right {
	order: 2;
	}
@media screen {
	footer { display: flex; padding-left: 0.5rem; padding-right: 0.5rem; }
	footer div.left { display: none; }
	}
@media screen and (min-width:  40rem) {
	footer { display: flex; padding-left: 1rem; padding-right: 1rem; }
	footer div.left { display: block; }
	}
@media print { footer { display: none; } }
/* --- web-site page footer --- end --- */

/* drop letter */
span.drop {
	float: left;
	font-family: serif;
	font-size: 275%;
	padding-top: 0.5em;
	line-height: 0;
	padding-right: 0.333rem;
	padding-left: 0;
	padding-bottom: 0.5rem;
}

/* --- order-list with big numbers  --- begin --- */
ol.simple-list {
    list-style-type: none;
    margin: 0;
	margin-top: 1em;
    margin-left: 3em;
    padding: 0;
    counter-reset: li-counter;
	}
ol.simple-list > li{
    position: relative;
    margin-bottom: 20px;
    padding-left: 0.5em;
    min-height: 3em;
	}
ol.simple-list > li:before {
    position: absolute;
    top: -0.1em;
    left: -0.9em;
    width: 0.8em;
	font-family: serif;
	font-size: 275%;
    line-height: 1;
    text-align: right;
    color: light-dark(#464646, #ccc);
    counter-increment: li-counter;
	}
/* --- order-list with big numbers  --- end --- */

/* --- order-list enumeration style (additional style) --- begin --- */
ol.li-a1 > li:before { content: counter(li-counter, lower-alpha)")"; font-size: 140%; }
ol.li-a2 > li:before { content: counter(li-counter, lower-alpha)")"; font-size: 200%; }
ol.li-a3 > li:before { content: counter(li-counter, lower-alpha)")"; font-size: 275%; }
ol.li-n1 > li:before { content: counter(li-counter)"."; font-size: 140%; }
ol.li-n2 > li:before { content: counter(li-counter)"."; font-size: 200%; }
ol.li-n3 > li:before { content: counter(li-counter)"."; font-size: 275%; }
ol.li-g1 > li:before { content: counter(li-counter, lower-greek)"ʹ"; font-size: 140%; }
ol.li-g2 > li:before { content: counter(li-counter, lower-greek)"ʹ"; font-size: 200%; }
ol.li-g3 > li:before { content: counter(li-counter, lower-greek)"ʹ"; font-size: 275%; }
/* --- order-list enumeration style (additional style) --- end --- */

/* --- order-list with encircled numbers  --- begin --- */
ol.circles-list {
    list-style-type: none;
    list-style-type: decimal !ie; /*IE 7- hack*/
    margin: 0;
	margin-top: 1em;
    margin-left: 4em;
    padding: 0;
    counter-reset: li-counter;
}
ol.circles-list > li{
    position: relative;
    margin-bottom: 20px;
    padding-left: 0.5em;
    min-height: 3em;
}
ol.circles-list > li:before {
    position: absolute;
    top: 0;
    left: -1.33em;
    width: 1.2em;
    height: 1.2em;

    font-size: 2.5em;
    line-height: 1.2;
    text-align: center;
    color: light-dark(#f5f5f5, #222);

    border: medium solid light-dark(#c5c5c5, #888);
    border-radius: 50%;
    background-color: light-dark(#464646, #ccc);
    content: counter(li-counter);
    counter-increment: li-counter;
}
/* --- order-list with encircled numbers  --- end --- */

/* --- quoted text (4books) --- begin --- */
div.quote {
	padding: 1rem;
	font-style: italic;
	text-indent: 1rem;
	}
.quote .author:before { content: "─── "; }
.quote .author {
	margin-top: 1ex;
	text-align: right;
	}
@media screen	{ div.quote { background-color: var(--bgex); } }
@media print	{ div.quote { padding-left: 1rem; padding-right: 1rem; } }
/* --- quoted text (4books) --- end --- */

.article-header {
	font-size: 1rem;
	}

/* --- nice article --- begin --- */
.nice-doc .article-header div.category,
.nice-doc .article-header div.copyright,
.nice-doc .article-header div.license
{ font-family: verdana, sans-serif, monospace; text-align: right; color: light-dark(#666,#aaa); font-size: 0.8rem;}

.nice-doc .article-header div.title {
	font-size: 220%;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1ex;
	margin-top: 1ex;
	}
.nice-doc .article-header div.author { text-align: center; margin-bottom: 1ex; }
.nice-doc .article-header div.version { text-align: center; margin-bottom: 2ex; }
.nice-doc .article-header div.abstract { margin-left: 10%; margin-right: 10%; }

@media print {
	.nice-doc h2 {
		margin-top: 2cm;
		page-break-before: always;
		}

	.nice-doc h3 {
		page-break-after: avoid;
		}

	.nice-doc .article-header div.abstract { margin-top: 2cm; }

	.nice-doc .article-header div.title {
		color: black;
		text-align: center;
		font-size: 220%;
		font-weight: bold;
		border: 0;
		margin-top: 7cm;
		margin-bottom: 2cm;
		page-break-before: avoid;
		}
	.nice-doc .article-header div.author  { text-align: center; margin-bottom: 2ex; }
	.nice-doc .article-header div.version { text-align: center; margin-bottom: 2ex; }
	}
/* --- nice article --- end --- */

/* --- simple-doc --- begin --- */
section.simple-doc, article.simple-doc { margin: 0; }
.simple-doc section { margin-left: 0; margin-right: 0; }
@media screen { article.simple-doc, section.simple-doc { margin-left: 0.5rem; margin-right: 0.5rem; } }
@media screen and (min-width:  40rem) { article.simple-doc, section.simple-doc { margin-left: 1rem; margin-right: 1rem; } }
/* --- simple-doc --- end --- */

/* --- technical article --- begin --- */
.web-doc .article-header div.category,
.web-doc .article-header div.copyright,
.web-doc .article-header div.license
{ font-family: verdana, sans-serif, monospace; text-align: right; color: light-dark(#666, #aaa); font-size: 0.8rem;}
.web-doc .article-header div.title    { font-family: monospace; text-align: right;
	color: light-dark(#666, #aaa); font-weight: bold; margin-top: 1ex; }
.web-doc .article-header div.author   { font-family: monospace; text-align: right;
	color: light-dark(#666, #aaa); }
.web-doc .article-header div.version  { font-family: monospace; text-align: right;
	color: light-dark(#666, #aaa); margin-bottom: 1ex; border-bottom: thin solid light-dark(#666, #aaa); }
.web-doc .article-header div.abstract { margin-left: 0; margin-right: 0; }
.web-doc section {
	margin-left: 0;
	margin-right: 0;
	}
@media screen {
	article.web-doc { margin-left: 0.5rem; margin-right: 0.5rem; }
	article.web-doc .cols {	margin-left: 0.25rem; margin-right: 0.25rem; }
	article.web-doc .wcols { margin-left: 0.25rem; margin-right: 0.25rem; }
	}
@media screen and (min-width:  40rem) {
	article.web-doc { margin-left: 1rem; margin-right: 1rem; }
	article.web-doc .cols {	margin-left: 0rem; margin-right: 0rem; }
	article.web-doc .wcols { margin-left: 0rem; margin-right: 0rem; }
	}
.web-doc .cols section,
.web-doc .wcols section { margin-left: 1rem; margin-right: 1rem; }

@media screen {
	.web-doc .article-header div.author { display: none; }
	}
@media print {
	.web-doc h2, .web-doc h3{
		page-break-after: avoid;
		}
	}
/* --- technical article --- end --- */

/* --- bibliography --- begin --- */
/*
 * (1) title
 * (4) year
 * (2) author
 * (3) publisher or url
 */
cite { font-family: 'Roboto Condensed', sans-serif; }

.bibliography table {
	margin: 0;
	padding: 0; 
	}

.bibliography td.bibitem-code:before { content: '['; }
.bibliography td.bibitem-code:after  { content: ']'; }
.bibliography td.bibitem-code {
	font-family: 'Roboto Condensed', sans-serif;
	text-align: right;
	vertical-align: top; 
	}
.bibliography td.bibitem-desc {
	text-align: left; 
	vertical-align: top; 
	padding-left: 1em;
	padding-bottom: 0.333rem;
	}
	
.bibliography span.name:lang(en) { quotes: '“' '”' '‘' '’'; }
.bibliography span.name:lang(el) { quotes: '« ' ' »' '“' '”'; }
.bibliography span.name:before { content: open-quote; }
.bibliography span.name:after  { content: close-quote; }
.bibliography span.name       { left: -0.6em; position: relative; font-weight: bold; }
/*.bibliography span.name:after { content: ", "; }*/
.bibliography span.author     { font-style: italic; }
.bibliography span.author:after { content: ", "; }
.bibliography span.published {  }
.bibliography span.published:after { content: ", "; }
.bibliography span.year   {  }
/* --- bibliography --- end --- */

/* EOF */

