
/******************************************************************************/
/* Variables */
/******************************************************************************/

:root {  
  --defaut-width: 750px;
  --main-body-padding: 4px;
  --text-indent: 8pt;
  --paragraph-first-line-indent: 0; /* 3ex */

  --border-color: #000000;
  --header-color: #ffffff;
  --header-text-color: #000000;
  --nav-color: #eeeeee;
  --nav-alt-color: #ffffff;
  --nav-text-color: #000000;
  --link-color: #941D31;
  --link-alt-color: #C44D61;
  /* red: #762f43, #b62f43; #622738; #944D61, #941D31, #C44D61
   , blue: #36648B, #06345B; #487ba5, #268bd2
   , link-gray: #777777 */
}

/******************************************************************************/
/* Global */
/******************************************************************************/

html {
  background-color: #fafafa;
  font-family: "Latin Modern", Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 12pt;
  font-kerning: normal;
  line-height: 1.5;
  margin: 0 var(--main-body-padding);
  scroll-behavior: smooth;
}

body {
  max-width: var(--defaut-width);
  margin: var(--main-body-padding) auto;
  padding: var(--main-body-padding);
  border: 1px solid var(--border-color);
  background-color: #fff;
}

/******************************************************************************/
/* Text */
/******************************************************************************/

h1, h3 {
  font-family: Verdana, Helvetica, Arial, sans-serif;
  font-weight: normal;
}

p {
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
}

li p {
  margin-right: calc(2 * var(--text-indent));
}

li {
  padding-right: var(--text-indent);
}

section > p {
  text-indent: var(--paragraph-first-line-indent);
  padding-left: var(--text-indent);
}

b {
  /* font-style: italic; */
  font-weight: bold;
}

em {
  font-style: italic;
  font-weight: normal;
}

#section-seminars li em {
  font-style: normal;
}

/******************************************************************************/

div.text-abstract p {
  /* font-style: italic; */
  /* text-indent: 1.5em; */
}

div.text-abstract p:last-child {
  /* padding-bottom: 5px;
  border-bottom: 3px double; */
}

div.text-abstract {
  padding: 5px 0;
}

/******************************************************************************/

div.contactparagraph {
  padding-left: var(--text-indent);
}

div.contactparagraph > h4 {
  padding-left: 0; /* Prevent --text-indent to be applied twice to this h4 */
}

div.contactparagraph tt {
  font-family: "Andale Mono", Menlo, Verdana, Arial, monospace;
  font-size: 12pt;
}

/******************************************************************************/

a {
  color: var(--link-color);
}

a:hover {
  /* text-decoration: none; */
  color: var(--link-alt-color);
}

a[href$=".pdf"]:not(.badge):after {
  content: " [PDF]";
}

a[href^="https://arxiv.org/abs/"]:not(.badge):after {
  content: " [arXiv]";
}

a[href^="https://doi.org/"]:not(.badge):after {
  content: " [DOI]";
}

a[href^="https://mathscinet.ams.org/"]:not(.badge):after {
  content: " [MR]";
}

a[href^="https://zbmath.org/?q=an"]:not(.badge):after {
  content: " [zbMATH]";
}

label.abstract-label:not(.badge):after {
  content: "[Abstract]";
}

label.abstract-label.badge:before {
  content: "Abstract";
}

/******************************************************************************/

.badge {
  display: inline-block;
  padding-right: 0.4em;
  border-radius: 4px;
  white-space: nowrap;
  font-family: monospace;
  font-size: .75rem;
  background-color: var(--nav-color);
}

.badge:before {
  display: inline-flex;
  align-items: center;
  margin-right: 0.4em;
  padding: 0 0.4em;
  border-radius: 4px 0 0 4px;
  color: white;
  content: attr(title);
  /*
  background-color: #555;
  background-color: #839496;
  background-color: #586e75;
  background-color: #073642;
  */
  background-color: #275662;
}

.badge:empty {
  padding-right: 0;
}

.badge:empty:before {
  border-radius: 4px;
  margin-right: 0;
}

a.badge:empty:hover {
  color: var(--nav-color);
}

a.badge:hover:before {
  text-decoration: none;
}

a[href$=".pdf"].badge:before {
  content: "PDF";
  /* background-color: #cb4b16; */
  background-color: #859900;
}

a[href^="https://arxiv.org/"].badge:before {
  content: "arXiv";
  background-color: #b31b1b;
}

a[href^="https://doi.org/"].badge:before {
  content: "DOI";
  background-color: #fcb426;
}

a[href^="https://mathscinet.ams.org/"].badge:before {
  content: "MR";
  background-color: #337ab7;
  background-color: #0057b8;
}

a[href^="https://zbmath.org/?q=an"].badge:before {
  content: "zbMATH";
  background-color: #982C55;
}

a[href^="https://orcid.org/"].badge:before {
  content: "ORCID";
  background-color: #AECD54;
}

/******************************************************************************/
/* Page Layout */
/******************************************************************************/

header {
  background-color: var(--header-color);
  color: var(--header-text-color);
}

header > h1 {
  margin: 0;
  padding: 13px 0 0 calc(var(--text-indent) - 1pt);
}

header > h3 {
  margin: 0;
  padding: 0 0 calc(13px + var(--main-body-padding)) var(--text-indent);
}

/******************************************************************************/

nav {
  background-color: var(--nav-color);
  border-top: 1px solid #fff;

  border-style: solid;
  border-color: var(--border-color);
  border-width: 1px 0;

  text-overflow: ellipsis; 
  white-space: nowrap;
  overflow: hidden; 
}

nav a {
  float: left;
  padding: 3px var(--text-indent);
  border-right: 1px solid #fff;
  font-family: Verdana, Helvetica, Arial, sans-serif;
  font-size: 11pt;
  color: var(--nav-text-color);
}

nav a:hover, nav a:active {
  background-color: var(--nav-alt-color);
  color: var(--nav-text-color);
  text-decoration: none;
}

nav a.nav-icon {
  display: none;
}

/******************************************************************************/

footer {
  margin-top: 5px;
  margin-bottom: calc(-1 * var(--main-body-padding));
  padding: 0 var(--text-indent) 1pt 0;
  border-top-style: solid;
  border-color: var(--border-color);
  border-width: 1px 0;
  background-color: var(--nav-color);
  height: 5ex;
  line-height: 5ex;
  text-align: right;
  font-size: 10pt;
}

/******************************************************************************/

img.floatleft {
  float: left;
  margin-right: var(--text-indent);
}

img.floatright {
  float: right;
  margin-left: calc(var(--main-body-padding) + var(--text-indent));
}

img#introduction-image {
  width: 200px;
  border: 1px solid #000;
}

/******************************************************************************/

section {
  margin-top: 10px;
}

section h2 {
  margin: 0;
  padding: 0 0 1pt var(--text-indent);
  border-style: solid;
  border-color: var(--border-color);
  border-width: 1px 0;
  background-color: var(--nav-color);
}

h4, h5, h6 {
  padding-left: var(--text-indent);
}

section h6 + ul {
  margin-top: 5px;
}

section ul {
  list-style-type: square;
}

/******************************************************************************/
/* Toggle Visibility */
/******************************************************************************/

input[type="checkbox"].hide-show-control {
  position: absolute;
  display: block;
  top: -99999px;
  left: -99999px;
  display: none;
}

label.hide-show-control {
  cursor: pointer;
  color: var(--link-color);
}

label.hide-show-control:hover {
  color: var(--link-alt-color);
  text-decoration: underline;
}

.hide-show-elem {
  display: none;
}

input[type="checkbox"].hide-show-control:checked ~ .hide-show-elem {
  display: block;
}

/* List item hide-show element */

li.hide-show-label-li > label.hide-show-control:after {
  content: 'Show more';
}

input[type="checkbox"].hide-show-control:checked ~ li.hide-show-label-li > label.hide-show-control:after {
  content: 'Show fewer';
}

li.hide-show-label-li {
  list-style: none;
}

li.hide-show-label-li:before {
  /* Recreated padding/margin for list-item marker */
  position: absolute;
  margin-left: -20px;
  padding-top: 5px;
  padding-right: 10px;

  font-size: 10px;
  content: "►";
}

input[type="checkbox"].hide-show-control:checked ~ li.hide-show-label-li:before {
  content: '▲';
}

input[type="checkbox"].hide-show-control:checked ~ li.hide-show-elem {
  display: list-item;
}

/******************************************************************************/
/* Crossref Blink */
/******************************************************************************/

section:target > h2 {
  animation: blink-animation 1s ease;
}

@keyframes blink-animation {  
  50% {
    color: var(--nav-color);
  }
}

/******************************************************************************/
/* Media */
/******************************************************************************/

@media only screen and (max-width : 520px) {
  html {
    margin: 0;
    line-height: 1.3;
  }
  body {
    margin: 0 auto;
    border-style: none;
  }
  header > h1 {
    margin: 0;
    padding: 17px 0 0 0;
  }
  header > h3 {
    margin: 0;
    padding: 0 0 17px 0;
  }
  nav {
    position: relative;
  }
  nav a {
    display: block;
    float: none;
    padding-left: 0.5ex;
  }
  html.js nav:not(.nav-expanded) a:not(:first-child, .nav-icon) {
    display: none;
  }
  nav a.nav-icon {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 2em;
    padding: 3px 0;
    text-align: center;
  }
  nav a.nav-icon:after {
    content: "Ξ";
  }
  nav.nav-expanded a.nav-icon:after {
    content: "ξ";
  }
  h4, h5, h6 {
    padding-left: 0;
  }
  img#introduction-image {
    display: none;
  }
  section > p {
    text-indent: 0;
    padding-left: 0;
  }
  div.contactparagraph {
    padding-left: 0;
  }
  li p {
    margin-right: var(--text-indent);
  }
  li {
    padding-right: 0;
  }
}

@media print {
  body {
    border-style: none;
  }
  section h2 {
    border-color: #000;
  }
  header > h1, header > h3 {
    padding: 0;
  }  
  nav, footer {
    display: none;
  }
  header {
    background-color: #fff !important;
  }
}

@media (prefers-reduced-motion) {
  * {
    animation: none !important;
  }
}

