/**** Fonts and general appearance ******************************************/

@font-face {
  font-family : 'Alegreya';
  font-style  : italic;
  font-weight : 400;
  src         : local('Alegreya Italic'),
                local('Alegreya-Italic'),
                url(alegreya-italic.woff) format('woff');
}

@font-face {
  font-family : 'Alegreya';
  font-style  : normal;
  font-weight : 400;
  src         : local('Alegreya'),
                local('Alegreya-Regular'),
                url(alegreya-regular.woff) format('woff');
}

body {
  height        : 100%;
  width         : 100%;
  padding       : 0;
  margin        : 0;
  font-family   : 'Alegreya';
  font-size     : 5mm;
  line-height   : 1.6;
  text-align    : justify;
  color         : #555555;
}

a {
  text-decoration : none;
}

/**** Header (top menu) *****************************************************/

#header {
  position   : sticky;
  top        : 0;
  padding    : 10px 0 10px 0;
  margin     : 0;
  background : black;
}

#header table {
  border-collapse : collapse;
  padding         : 0;
  margin          : 0 auto 0 auto;
}

#header td {
  margin    : 0;
  padding   : 0 0.5em 0 0.5em;
  font-size : 1.5em;
}

#header img {
  vertical-align   : middle;
  background-color : white;
}

#header img:hover {
  background-color : #AAAAAA;
}

#header a {
  color           : #EEEEEE;
}

#header a:hover {
  color           : #AAAAAA;
}

/**** Banner ****************************************************************/

#banner {
  width      : 40em;
  height     : 100vh;
  margin     : 2em auto 2em auto;
  text-align : center;
}

#banner h1 {
  font-weight   : normal;
  font-size     : 2cm;
  color         : black;
  width         : 100%;
  margin-top    : -40px;
  margin-bottom : -40px;
}

#banner h2 {
  color       : black;
  width       : 100%;
  margin-top  : 25px;
  font-size   : 0.8cm;
  font-weight : normal;
  font-style  : italic;
}

/**** Contents region *******************************************************/

.title {
  font-weight      : normal;
  text-align       : center;
  color            : white;
  background-color : black;
  padding-top      : 2em;
  padding-bottom   : 1em;
}

.section {
  margin-top: 0;
  padding-top: 0;
  margin-left: auto;
  margin-right: auto;
  width:40em;
  min-height: 100vh;
  padding-bottom:60px;
}

/**** Footer ****************************************************************/

#footer {
  margin           : 0;
  padding          : 0;
  background-color : black;
}

#footer p {
  margin     : 0;
  padding    : 0;
  text-align : center;
  color      : #EEEEEE;
}

#footer a {
  color : #EEEEEE;
}

#footer a:hover {
  color : #AAAAAA;
}


/**** ... *******************************************************************/

.section a {
  color : #AA0000;
}

.section a:hover {
  color : #555555;
}

.section h1 {
  margin-top    : 0;
  font-size     : 1.3em;
  border-bottom : 1px dotted #ddd;
  margin-bottom : 0.5em;
  margin-top    : 2em;
  margin-left   : -1em;
}

.section h2 {
  font-size   : 1.1em;
  margin-left : -1em;
}

h1.page-title {
  font-size     : 1.75em;
  margin-bottom : 3mm;
}
