/* Original Semantic Web project layout, with stacked rows on small screens. */
.semantic-web-page .with-sidebar { grid-template-columns: 224px minmax(0, 1fr); gap: 20px; }
.semantic-web-page .with-sidebar aside a { font-size: 13.2px; padding: 10px 0; border-bottom: 1px dotted #ddd; }
.semantic-web-page .with-sidebar aside a[aria-current] { color: #0097a4; }
.semantic-web-page .with-sidebar aside a[aria-current]::before { content: '›'; margin-right: 9px; }
.semantic-web-page h2 { font-size: 16px; line-height: normal; margin: 15px 0; }
.semantic-web-page .prose > p { margin: 0; }
.semantic-web-page .prose a { color: #00646d; text-decoration: none; }
.semantic-web-page .prose a:hover { text-decoration: underline; }
.semantic-web-page .semantic-projects { width: 96.76%; border-collapse: separate; border-spacing: 2px; }
.semantic-web-page .semantic-projects td { vertical-align: top; padding: 10px; }
.semantic-web-page .semantic-projects td:nth-child(2) { width: 50%; }
.semantic-web-page .semantic-projects p { margin: 0; }
.semantic-web-page .semantic-projects img { display: block; height: auto; max-width: 100%; box-shadow: 1px 1px 5px #0003; }
@media (max-width: 768px) {
  .semantic-web-page .with-sidebar { grid-template-columns: 1fr; }
  .semantic-web-page .with-sidebar aside { display: flex; flex-wrap: wrap; gap: 6px 18px; }
  .semantic-web-page .semantic-projects { width: 100%; }
  .semantic-web-page .semantic-projects,
  .semantic-web-page .semantic-projects tbody,
  .semantic-web-page .semantic-projects tr,
  .semantic-web-page .semantic-projects td { display: block; width: 100%; }
  .semantic-web-page .semantic-projects td { padding: 10px 0; }
  .semantic-web-page .semantic-projects tr { margin-bottom: 20px; }
}
