body {
  max-width: 50em;
  margin: 0 auto;
  counter-reset: tehtavasarja tehtava stack;
/*  font-family: "Georgia", FreeSerif, "Times New Roman", serif;
  font-size: 16pt;
  hyphens: auto;
  background-color: #444488;*/
}
/*
#preamble {
  display: none;
}

header {
  background-color: #EEDDFF;
  margin: 0.5em 0;
  padding: 0 1em;
  border-style: solid;
  border-width: 1px;
  border-color: #DDCCFF;
  border-radius: 10px;
}
*/
.tehtavasarja {
  padding: 0 1em;
  margin: 0.5em 0;
  border-style: solid;
  border-width: 1px;
  border-color: white;
  border-radius: 10px;
  background-color: white;
  overflow: auto;
}

.tehtavasarja:not(.ylimaarainen) h2::after {
  counter-increment: tehtavasarja;
  content: " " counter(tehtavasarja, upper-alpha);
}

.tehtavalista {
  padding-left: 0em;
  list-style-type: none;
}

.tehtavalista > li:nth-child(odd) {
  background-color: #F0F0FF;
}

.tehtavalista > li {
  padding: 0.5em;
}

.tehtavalista > li:not(.tahtitehtava):not(.stacktehtava)::before {
  counter-increment: tehtava;
  content: counter(tehtava) ". ";
  font-weight: bold;
}

.tahtitehtava::before {
  counter-increment: tehtava;
  content: "*" counter(tehtava) ". ";
  font-weight: bold;
}

.stacktehtava::before {
  counter-increment: stack;
  content: "S" counter(stack) ". ";
  font-weight: bold;
}

.tehtavalista > li > ol {
  list-style-type: lower-alpha;
}

.tehtavalista ol li {
  margin: 0.25em 0;
}

.tehtavasarja > p {
  border-style: solid none;
  border-width: 3pt;
  border-color: #D0D0EE;
  padding: 0.3em;
  margin: 0.3em 0;
}

table {
  border-style: none;
  border-collapse: collapse;
  margin: 1em 0;
}

th, td {
  border-style: solid none;
  border-width: 1px;
  padding: 0.1em 0.5em;
}

.ratkaisu {
  margin: 0.5em 0;  
}

.ratkaisu > ol {
  list-style-type: lower-alpha;
}

.luokitus > a {
  font-weight: bold;
  text-decoration: none;
}

.luokitus > a:hover {
  font-weight: bold;
  text-decoration: underline;
}

@media only screen and (max-width: 640px) {
/*
  body {
    font-size: 10pt;
  }
  */
  .tehtavasarja {
    padding: 0 0.6em;
  }
}

@media only print {
/*
  body {
    background: white;
    font-size: 11pt;
    font-family: "Latin Modern Roman", Georgia, FreeSerif, "Times New Roman", serif;
  }
  
  p, li {
    line-height: 1.3;
  }

  header {
    border-style: none;
    padding: 0;
    background: white;
  }
  */
  #pdf_linkki {
    display: none;
  }
  
  .tehtavasarja {
    margin: 0;
    padding: 0;
  }
  
  .tehtavasarja h2 {
    margin: 0.3em 0;
  }
  
  .tehtavalista > li {
    padding: 0.3em;
  }
  
  .tehtavalista > li:nth-child(odd) {
    background: white;
  }
  .tehtavalista > li:nth-child(even) {
    background: white;
  }

  .tehtavalista ol {
    page-break-before: avoid;
  }
  
  .tehtavasarja > p {
    border-width: 2pt;
    border-color: #D0D0D0;
  }
  
  body a {
    text-decoration: none;
    color: black;
  }
}