html {
  box-sizing: border-box;
}

body {
  font-family: Helvetica;
  background-color: white;
  background-image: url(dl-large-bg.jpg);
  background-repeat: no-repeat;
  background-position: center 50px;
  background-size: contain;
  color: #303030;
}

a {
  display: inline-block;
  text-decoration: none;
  color: #006AF5;
  transition: color 0.2s ease;
}

a:visited {
  color: #0a0090;
}

a:hover {
  color: #0049A9;
}

a:active {
  color: #2986ff;
}

header {
  text-align: center;
}

section {
  max-width: 1200px;
  margin: 0 auto 32px;
  background: rgba(255,255,255,0.5);
  padding: 16px;
  border: 2px solid #303030;
  box-shadow: 0 0 10px 0px rgba(0,0,0,0.4);
}

footer {
  max-width: 1200px;
  margin: auto;
}

section > *:first-child {
  margin-top: 0;
}

section > *:last-child {
  margin-bottom: 0;
}

#next-workshop-teaser {
  font-weight: bold;
}

h2 {
  text-transform: uppercase;
}

.enhance-font-size {
  font-size: 150%;
}

ul {
  list-style-type: square;
}

.row {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
}

.col:nth-last-child(1), .col:nth-last-child(1) ~ .col {
  flex-basis: 100%;
}
.col:nth-last-child(2), .col:nth-last-child(2) ~ .col {
  flex-basis: 50%;
}
.col:nth-last-child(3), .col:nth-last-child(3) ~ .col {
  flex-basis: 33.3333%;
}
.col:nth-last-child(4), .col:nth-last-child(4) ~ .col {
  flex-basis: 25%;
}

@media only screen and (max-width: 720px) {
  .col:nth-last-child(1), .col:nth-last-child(1) ~ .col {
    flex-basis: 100%;
  }
  .col:nth-last-child(2), .col:nth-last-child(2) ~ .col {
    flex-basis: 100%;
  }
  .col:nth-last-child(3), .col:nth-last-child(3) ~ .col {
    flex-basis: 100%;
  }
  .col:nth-last-child(4), .col:nth-last-child(4) ~ .col {
    flex-basis: 100%;
  }
}

td {
  padding: 2px 4px;
}

td:first-child {
  padding-left: 0;
}

td:last-child {
  padding-right: 0;
}

