body {
  background-color: lightgrey;
  color: black;

  overflow: auto;
  font-family: Georgia, serif;
  font-size: 1.4em;
}

p.justify {
  text-align: justify;
}

a {
  text-decoration: none;
}

a.active,
a:active,
a:hover
{
  text-decoration: underline;
}

div#body-container {
  display:    -moz-flex;
  display:     -ms-flex;
  display: -webkit-flex;
  display:         flex;

     -moz-flex-direction: column;
      -ms-flex-direction: column;
  -webkit-flex-direction: column;
          flex-direction: column;

     -moz-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;

     -moz-justify-content: center;
      -ms-justify-content: center;
  -webkit-justify-content: center;
          justify-content: center;

     -moz-align-items: flex-start;
      -ms-align-items: flex-start;
  -webkit-align-items: flex-start;
          align-items: flex-start;

  min-height: 100%;

  background-origin: padding-box;
  background-clip: padding-box;
  background-attachment: scroll;
  background-repeat: repeat;
  background-size: contain;
  background-position: left top;
}

div#intro-container,
div#main-menu-container,
div#content-main-container,
div#footer-container
{
     -moz-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;

  margin: 0;
  width: 100%;
  overflow: visible;
}

div#intro,
div#main-menu,
div#content-main,
div#footer
{
  box-sizing: border-box;
  max-width: 44em;
  margin: 0 auto;
  padding: 0.5em;
  overflow: visible;
}

/***************************************************************
 * intro
 **************************************************************/

div#intro {
  padding-top: 1.2em;
  overflow: hidden;
}

div#intro h1,
div#intro h2,
div#intro h3
{
  display: inline-block;
  padding: 0;
  margin: 0 auto 0.4em 0;
  overflow: hidden;
}

/***************************************************************
 * content-main
 **************************************************************/

div#content-main-container {
     -moz-flex-grow: 1 !important;
      -ms-flex-grow: 1 !important;
  -webkit-flex-grow: 1 !important;
          flex-grow: 1 !important;

  background-color: white;
}

div#content-main {
  vertical-align: top;
  border: none;
}

div#content-main-body {
  vertical-align: top;
  padding-bottom: 2em;
}

dt {
  margin-top: 1em;
  font-size: larger;
  font-weight: bolder;
}

/***************************************************************
 * menu
 **************************************************************/

div#main-menu-container {
  background-color: transparent;
}

div#main-menu-container div#main-menu {
  padding: 0;
}

div#main-menu > nav {
  font-size: 1.2em;
  font-weight: bolder;
  overflow: hidden;
}

div#main-menu nav a
{
  display: block;
  transition: 0.1s;
  text-decoration: none;

  color: inherit;
  font-size: inherit;
  border: none;
  outline: none;
  padding: 1em;
  margin: 0;

  background-color: gold;
  color: black;
}

div#main-menu nav a.active,
div#main-menu nav a:active,
div#main-menu nav a:hover,
div#main-menu nav a.active:visited,
div#main-menu nav a:active:visited,
div#main-menu nav a:hover:visited
{
  background-color: yellow;
  color: black;
}

/***************************************************************
 * tables
 **************************************************************/

table.mailing-lists
{
  border: thin solid black;
  border-collapse: collapse;
  margin-right: auto;
}

table.mailing-lists tr#wszyscy-en
{
  background-color: chartreuse;
}

table.mailing-lists th,
table.mailing-lists td
{
  border: thin solid black;
  padding: 0.2em;
}

table.mailing-lists tr td
{
  vertical-align: top;
  overflow: hidden;
}

table.mailing-lists tr td:first-child
{
  padding: 0;
}

table.mailing-lists tr td:first-child p,
table.mailing-lists tr td:first-child a,
table.mailing-lists tr td:first-child span
{
  display: block;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border: none;
  width: 100%;
  height: 100%;
}

table.mailing-lists tr td:first-child p.listname a,
table.mailing-lists tr td:first-child p.listname span
{
  padding: 0.5em;
}

table.mailing-lists tr td:first-child .listname
{
  white-space: normal;
}

table.mailing-lists p
{
  text-align: left;
  margin: 0;
}

/***************************************************************
 * headers, links and misc
 **************************************************************/

h1 > a,
h2 > a,
h3 > a
{
  display: block;
  margin: 0;
  padding: 0;

  background-color: initial !important;
  color: inherit !important;
  text-decoration: none !important;
}

*.listname
{
  font-family: monospace;
  white-space: nowrap;
}

*.important
{
  font-weight: bolder;
}

/***************************************************************
 * footer
 **************************************************************/

div#footer > p {
  font-size: 0.8em;
  max-width: 100%;
  margin: 0.5em auto 0.5em 0;
}
