.pagination {
  display: inline-block;
  border: 1px solid #CDCDCD;
  border-radius: 3px; }

.pagination a {
  display: block;
  float: left;
  width: 40px;
  line-height: 40px;
  height: 40px;
  outline: none; 
  border: 1px solid #dee2e6;
   color: #007bff;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  font-family: Times, 'Times New Roman', Georgia, Palatino;
  /* ATTN: need a better font stack */
  background-color: #ffffff;
   }
  .pagination a:hover, .pagination a:focus, .pagination a:active {
    background-color: #ffffff;
    border-color: #dee2e6;
    }
  .pagination a.disabled, .pagination a.disabled:hover, .pagination a.disabled:focus, .pagination a.disabled:active {
    background-color: #ffffff;
  border-color: #dee2e6;
    color: #c7e2ff;
    cursor: default; }

.pagination a:first-child {
  border-top-left-radius: .25rem;
border-bottom-left-radius: .25rem;}

.pagination a:last-child {
  border-top-right-radius: .25rem;
border-bottom-right-radius: .25rem; }

.pagination input {
  float: left;
  margin: 0;
  padding: 0;
  width: 120px;
  height: 40px;
  outline: none;
  border: none;
  vertical-align: middle;
  text-align: center;
  color: #007bff;
  border: 1px solid #dee2e6;
   }

/* gigantic class for demo purposes */
.gigantic.pagination {
  margin: 30px 0; }

.gigantic.pagination a {
  height: 60px;
  width: 60px;
  font-size: 50px;
  line-height: 50px; }

.gigantic.pagination input {
  width: 300px;
  height: 60px;
  font-size: 30px; }

/* log element for demo purposes */
.log {
  display: none;
  background-color: #EDEDED;
  border: 1px solid #B4B4B4;
  height: 300px;
  width: 524px;
  overflow: auto;
  margin-left: 0;
  list-style: none;
  padding: 10px; }
  .log li {
    margin-top: 0;
    margin-bottom: 5px; }
