/**
 * ============================================================================ 
 * Calendar
 * ============================================================================ 
 */
.prev-next-month {
  text-align: center;
}

.prev-next-month h1 {
  font-size: 1.5em;
  display: inline;
  padding: 0 0.5em 0.5em;
}

.em-calnav-prev {
  text-decoration: none;
}

.calendar {
  width: 100%;
  font-size: 1em;
  line-height: 1.25em;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  margin-top: 1em;
}

.calendar h3 {
  font-size: 1em;
}

.calendar thead {
  background-color: #129341;
  color: #fff;
}

.calendar th {
  text-align: left;
}

.calendar th span {
  display: none;
}

.calendar tr {
  display: block;
}

.calendar td,
.calendar th {
  display: none;
}

.calendar .day {
  margin: 1em 0 0.5em 0;
  font-weight: bold;
}

.calendar .events {
  display: block;
}

.calendar ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  clear: both;
  text-align: left;
}

.calendar li {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #dbdbdb;
}

.calendar li a {
  word-wrap: break-word;
}

table.em-calendar ul li:last-child {
  border: 0;
}

table.em-calendar td.eventful a,
table.em-calendar td.eventful-today a {
  color: inherit;
}

table.em-calendar td.eventful,
table.em-calendar td.eventful-today {
  color: #129341;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}

table.em-calendar td.eventful a:hover,
table.em-calendar td.eventful-today a:hover {
  color: #3a3a3a;
}

.calendar tr td:nth-of-type(1n) .day:before {
  content: "Monday ";
}

.calendar tr td:nth-of-type(2n) .day:before {
  content: "Tueday ";
}

.calendar tr td:nth-of-type(3n) .day:before {
  content: "Wednesday ";
}

.calendar tr td:nth-of-type(4n) .day:before {
  content: "Thursday ";
}

.calendar tr td:nth-of-type(5n) .day:before {
  content: "Friday ";
}

.calendar tr td:nth-of-type(6n) .day:before {
  content: "Saturday ";
}

.calendar tr td:nth-of-type(7n) .day:before {
  content: "Sunday ";
}

.calendar .prev-month,
.calendar .next-month {
  display: none;
}

table.em-calendar td.eventless-today {
  background-color: #dedede;
}

@media only screen and (min-width: 480px) {
  .calendar tr {
    display: table-row;
  }

  .calendar th,
  .calendar td {
    display: table-cell !important;
    margin: 0;
    width: 14.2857%;
    padding: 0.4166em;
    border: 1px solid #babcbf;
    vertical-align: top;
  }

  .calendar .prev-month .day,
  .calendar .next-month .day {
    color: #bbb;
  }

  .calendar td .day {
    display: block;
    float: right;
    margin: 0;
    font-weight: normal;
  }

  .calendar td .day:before {
    display: none;
  }
}

@media only screen and (min-width: 640px) and (min-height: 320px) {
  .calendar td {
    height: 2.5em;
  }
}

@media only screen and (min-width: 640px) and (min-height: 640px) {
  .calendar td {
    height: 6.25em;
  }
}
