/* grid container */
#course-grid {
  display: flex;
  flex-wrap: wrap;
  margin: -10px;
}
/* each card */
.course-item {
  box-sizing: border-box;
  padding: 10px;
  width: 100/4%; /* 100 / course per row %, i.e. 100 / 4 % */
}
@media screen and (max-width: 758px) {
  .course-item {
	width: 100% !important;
  }
}
.course-card {
  border: 1px solid #ddd;
  overflow: hidden;
}
.course-card img {
  display: block;
  width: 100%;
  height: auto;
}
.course-info {
  background: #4CAF50;
  color: #fff;
  padding: 15px;
}
.course-info p {
  margin: 0 0 10px;
  line-height: 1.4;
}
.signup-button {
  display: inline-block;
  background: #eee;
  color: #000;
  padding: 8px 12px;
  text-decoration: none;
  font-weight: bold;
}
/* search box */
#search-container {
  margin-bottom: 20px;
}
#search-container label {
  font-weight: bold;
  margin-right: 10px;
}
/* pagination */
#pagination {
  margin-top: 20px;
  text-align: center;
}
#pagination button {
  margin: 0 4px;
  padding: 6px 10px;
  border: none;
  background: #eee;
  cursor: pointer;
}
#pagination button.active {
  background: #4CAF50;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .course-item {    
    max-width: 300px;
  }
}