* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: #222;
  background: #fafafa;
}
.site-header { padding: 24px 16px; text-align: center; }
.site-header h1 { margin: 0 0 8px; }
.site-header p { margin: 0; color: #555; }

.grid { margin: 0 auto; padding: 0 16px 24px; }
.grid:after { content: ""; display: block; clear: both; }

/* Columns */
.grid-col { float: left; }

@media (max-width: 599px) {
  .grid-col { width: calc((100% - 16px) / 2); }
  .grid-col--2 { margin-left: 16px; }
  .grid-col--3, .grid-col--4 { display: none; }
}
@media (min-width: 600px) and (max-width: 899px) {
  .grid-col { width: calc((100% - 16px) / 2); }
  .grid-col--2 { margin-left: 16px; }
  .grid-col--3, .grid-col--4 { display: none; }
}
@media (min-width: 900px) and (max-width: 1199px) {
  .grid-col { width: calc((100% - (16px * 2)) / 3); }
  .grid-col--2, .grid-col--3 { margin-left: 16px; }
  .grid-col--4 { display: none; }
}
@media (min-width: 1200px) {
  .grid-col { width: calc((100% - (16px * 3)) / 4); }
  .grid-col--2, .grid-col--3, .grid-col--4 { margin-left: 16px; }
}

.grid-item { background: #fff; border-radius: 10px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.06); overflow: hidden; }
.grid-item .media { width: 100%; display: block; }
.grid-item h3 { font-size: 16px; margin: 12px 12px 4px; }
.grid-item p { margin: 0 12px 16px; color: #444; }

