/* ----------------*/
/* Calendar Styles */
/* ----------------*/
/* IE10/11 Hack */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .mini-cal__dates > div,
  .calendar__dates > div {
    width: 14.285%; } }
h1 .print-header {
  display: none; }

.cal-proper {
  border-bottom: 5px solid #7c7c7c; }

.cal-proper a {
  border-bottom: 0;
  text-decoration: none; }

/* View Selection */
.view ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .view ul li {
    width: 30%;
    display: inline-block; }
    @media (min-width: 576px) {
      .view ul li {
        width: auto; } }
    .view ul li a {
      background: none repeat scroll 0 0 #ddd;
      border-radius: 10px 10px 0 0;
      border-bottom: 0;
      display: block;
      margin-right: 5px;
      padding: 10px 0;
      text-align: center;
      width: 100%;
      transition: all .25s; }
      @media (min-width: 576px) {
        .view ul li a {
          width: 100px; } }
      .view ul li a:hover {
		color:#fff !important;
        background: #cfb53b; }
      .view ul li a.active {
        background: #3e246b;
        color: #fff!important;
        font-weight: bold; }
        .view ul li a.active:hover {
		  color:#fff !important;		
          background: #3e246b; }

/* Extra Bar */
.extra {
  background: #3e246b;
  border-bottom: 1px solid #7c7c7c;
  color: #fff;
  text-align: right; }
  .extra .show-today {
    float: left; }
  .extra a {
    padding: 10px;
    display: inline-block;
    transition: all .25s;
    font-size: 0;
    line-height: 1rem; }
    @media (min-width: 576px) {
      .extra a {
		color:#fff;  
        font-size: .875rem; } }
    .extra a:link, .extra a:visited {
      color: #fff; }
    .extra a:hover, .extra a:active, .extra a:focus {
      color: #cfb53b !important;
      background: transparent;
      text-decoration: none; }
    .extra a img {
      vertical-align: top; }

/* Search Bar */
.cal-proper .search {
  background: #3e246b;
  border-bottom: 1px solid #7c7c7c;
  color: #fff;
  padding: 10px; }
  .cal-proper .search-showing {
    float: right;
    font-size: 10px; }
    .cal-proper .search-showing-item a:link, .cal-proper .search-showing-item a:visited {
      color: #fec85e; }
    .cal-proper .search-showing-item a:hover, .cal-proper .search-showing-item a:active, .cal-proper .search-showing-item a:focus {
      color: #eaad34;
      text-decoration: line-through; }
    .cal-proper .search-showing-item:after {
      content: ", "; }
    .cal-proper .search-showing-item:last-child:after {
      content: ""; }
    .cal-proper .search-showing-item-more {
      border-bottom: 1px dotted #fff;
      cursor: help; }
  .cal-proper .search-label {
    font-weight: bold;
    margin-bottom: 5px; }
  .cal-proper .search a img {
    margin-right: 10px; }
  .cal-proper .search input {
    border: 1px solid #3e246b;
    background: #fff;
	color:#000;
    border-radius: 5px;
    margin-right: 3px;
    padding: 2px 5px; }
    .cal-proper .search input[type=text], .cal-proper .search input[type=date] {
      width: 100%;
      min-width: 150px; }
    .cal-proper .search input + a img {
      vertical-align: text-bottom;
      margin-right: 10px; }
    .cal-proper .search input[type=submit] {
      box-shadow: 0 -1px 2px rgba(255, 255, 255, 0.33) inset;
      cursor: pointer; }
      .cal-proper .search input[type=submit]:hover {
        background: #edf4fa; }
  .cal-proper .search__form {
    display: grid;
    grid-gap: .5em;
    grid-template-areas: "start start" "end end" "term term" "cat btn"; }
    @media (min-width: 576px) {
      .cal-proper .search__form {
        grid-template-areas: "start end" "term term" "cat btn"; } }
    @media (min-width: 768px) {
      .cal-proper .search__form {
        grid-template-areas: "start end term" "cat cat btn"; } }
    @media (min-width: 992px) {
      .cal-proper .search__form {
        grid-template-areas: "start end term cat btn"; } }
    .cal-proper .search__form-btn {
      grid-area: btn;
      text-align: right; }
    .cal-proper .search__form-start {
      grid-area: start; }
    .cal-proper .search__form-end {
      grid-area: end; }
    .cal-proper .search__form-term {
      grid-area: term; }
    .cal-proper .search__form-cat {
      grid-area: cat; }

/* Search Results */
.search-results {
  background: #fff;
  padding: 15px;
  border-right: 1px solid #3e246b;
  border-left: 1px solid #3e246b; }

.search-intro {
  border-bottom: 2px solid #999;
  margin-bottom: 15px;
  padding-bottom: 15px;
  font-size: 14px;
  line-height: 1.5em; }

.search-term {
  display: none; }

.search-item {
  border-bottom: 1px dashed #999;
  margin-bottom: 15px;
  padding-bottom: 15px; }

.search-item h2 {
  font-size: 16px;
  margin-bottom: 0; }

.search-item-date {
  font-weight: bold; }

.search-item-desc {
  margin: 10px 0; }

.search-item-cats {
  font-size: 10px; }

.search-item-cats a:after {
  content: ","; }

.search-item-cats a:last-child:after {
  content: ""; }

.search-item-more {
  margin-top: 10px; }

.search-item-more a {
  background: #f2f2f2;
  border-radius: 7px;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.5) inset;
  display: inline-block;
  font-size: 12px;
  padding: 5px 10px; }

/* Category */
.category-select {
  display: inline-block; }

.category-select > a {
  border-radius: 7px 7px 0 0;
  color: #fff;
  padding: 5px 10px 13px;
  margin-bottom: -10px;
  display: inline-block;
  transition: all .25s; }

.category-select > a.active,
.category-select > a:hover {
  background: #cfb53b; }

.category {
  display: none;
  background: #8F91AD;
  border-left: 1px solid #3e246b;
  border-right: 1px solid #3e246b;
  border-bottom: 1px solid #3e246b;
  box-sizing: border-box;
  color: #fff;
  padding: 5px;
  width: 100%; }

.category-item {
  display: inline-flex;
  align-items: center;
  font-size: .875rem;
  margin: 10px; }

.category-item input {
  margin-right: 5px; }

.category-item label {
  margin-bottom: 0; }

/* Details View */
.details {
  background: #fff;
  padding: 15px;
  border-right: 1px solid #3e246b;
  border-left: 1px solid #3e246b; }

.details-intro {
  border-bottom: 2px dotted #999;
  margin-bottom: 10px;
  padding-bottom: 10px; }

.details-intro strong {
  margin-bottom: 0;
  font-size: 20px;
  font-weight: normal;
  font-family: "Lora","Times New Roman",Times,serif;
  color: #3e246b; }

.details-item {
  display: grid;
  grid-gap: 1em;
  grid-template-areas: "main" "aside" "content" "files" "tickets";
  align-items: flex-start; }
  @media (min-width: 992px) {
    .details-item {
      grid-template-areas: "main aside" "content aside" "content files" "content tickets";
      grid-template-rows: auto auto 1fr;
      grid-template-columns: 3fr minmax(350px, 2fr); } }
  .details-item-main {
    grid-area: main; }
    .details-item-main h1 {
      margin-bottom: 0;
      font-size: 24px; }
  .details-item-date {
    font-size: 14px;
    font-weight: bold;
    padding-left: 22px; }
  .details-item-box {
    grid-area: content; }
  .details-item-extra {
    display: none; }
    .details-item-extra-view {
      background: #5f91ce;
      border-radius: 5px;
      color: #fff;
      display: inline-block;
      font-size: 14px;
      padding: 3px 7px;
      margin-bottom: 10px; }
      .details-item-extra-view:link, .details-item-extra-view:visited {
        color: #fff; }
      .details-item-extra-view:hover, .details-item-extra-view:active, .details-item-extra-view:focus {
        color: #fec85e; }
      .details-item-extra-view img {
        vertical-align: top; }
  .details-item-aside {
    grid-area: aside;
    font-size: .875rem; }
    .details-item-aside > div {
      border-bottom: 1px dotted #999;
      padding-bottom: 5px;
      margin-bottom: 5px;
      line-height: 1.5em; }
      .details-item-aside > div:last-child {
        border-bottom: 0;
        margin-bottom: 0; }
  .details-item-label {
    display: inline-block;
    width: 100px;
    font-weight: bold; }
  .details-item-copy a.copy {
    margin-right: 5px; }
    .details-item-copy a.copy img {
      vertical-align: bottom; }
  .details-item-cals {
    font-size: 12px; }
    .details-item-cals > a:after {
      content: ", "; }
    .details-item-cals > a:last-child:after {
      content: ""; }

/* Details View - Attachment Files */
.details-item-files {
  grid-area: files; }
  .details-item-files .files-table {
    border: 1px solid #000;
    background: #fff;
    width: 100%;
    border: 0;
    border-collapse: collapse; }
  .details-item-files .files-table th {
    white-space: nowrap; }
  .details-item-files .files-item-type {
    text-transform: uppercase;
    font-weight: bold;
    white-space: nowrap; }
  .details-item-files .files-table th,
  .details-item-files .files-table td {
    padding: 2px 4px;
    vertical-align: top; }
  .details-item-files .files-table thead {
    background: #5f91ce;
    color: #fff; }
  .details-item-files .files-table tbody tr:nth-child(2n) {
    background: #edf4fa; }
  .details-item-files .files-description {
    line-height: 1.5em;
    max-height: 50px;
    overflow: hidden;
    position: relative;
    padding-bottom: 20px;
    box-sizing: border-box; }
  .details-item-files .files-description .more {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: right;
    padding-top: 32px;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, white));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
    /* IE6-9 */ }
  .details-item-files .files-table tbody tr:nth-child(2n) .files-description .more {
    background: -moz-linear-gradient(top, rgba(234, 235, 255, 0) 0%, #eaebff 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(234, 235, 255, 0)), color-stop(100%, #eaebff));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(234, 235, 255, 0) 0%, #eaebff 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(234, 235, 255, 0) 0%, #eaebff 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(234, 235, 255, 0) 0%, #eaebff 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(234, 235, 255, 0) 0%, #eaebff 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fec85e', endColorstr='#fec85e',GradientType=0 );
    /* IE6-9 */ }
  .details-item-files .files-description .more a {
    display: inline-block;
    *display: inline;
    zoom: 1;
    background: #5f91ce;
    color: #fff;
    border: 1px solid #3b70b0;
    border-radius: 5px;
    padding: 0 10px; }
  .details-item-files .files-description .more a:hover {
    color: #ff0; }
  .details-item-files .files-table tfoot {
    background: #ddd; }

/* Details View - Ticket Purchases */
.tickets {
  grid-area: tickets; }

.tickets-table {
  border: 1px solid #000;
  background: #fff;
  width: 100%;
  border: 0;
  border-collapse: collapse; }

.tickets-table th,
.tickets-table td {
  padding: 2px 4px; }

.tickets-table thead {
  background: #5f91ce;
  color: #fff; }

.tickets-table tbody tr:nth-child(2n) {
  background: #edf4fa; }

.tickets-table tfoot {
  background: #ddd; }

/* List View Calendar */
.list-box {
  background: #fff;
  border-right: 1px solid #3e246b;
  border-left: 1px solid #3e246b;
  display: flex;
  display: grid; }
  @media (min-width: 768px) {
    .list-box {
      grid-template-columns: minmax(300px, 1fr) 3fr; } }

.list-cal {
  width: 300px; }

.list-items {
  flex-grow: 1;
  padding: 15px; }

.mini-cal {
  border-collapse: collapse;
  border-top: 0; }
  @media (min-width: 768px) {
    .mini-cal {
      border-right: 1px solid #3e246b;
	  border-left: 1px solid #3e246b;
      position: sticky;
      top: 2em; } }
  .mini-cal__nav, .mini-cal__days {
    display: flex;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: #3e246b;
    color: #fff;
    font-size: .875rem;
    font-weight: normal;
    text-align: center;
    padding: 0; }
  .mini-cal__nav > div.nav {
    flex-grow: 1; }
  .mini-cal__nav > div.month {
    flex-grow: 5;
    grid-column-end: span 5; }
  .mini-cal__nav > div a {
    width: 100%;
    display: block;
    background: #3e246b;
    transition: background 1000ms, color 1000ms;
    padding: 5px;
    font-weight: bold; }
    .mini-cal__nav > div a:link, .mini-cal__nav > div a:visited {
      color: #fff; }
    .mini-cal__nav > div a:hover, .mini-cal__nav > div a:active, .mini-cal__nav > div a:focus {
      background: #ccc;
      transition: background 250ms, color 250ms; }
  .mini-cal__days > div {
    flex-grow: 1;
    font-size: 0; }
    .mini-cal__days > div:first-letter {
      font-size: .875rem; }
  .mini-cal__dates {
    display: flex;
    flex-wrap: wrap;
    display: grid;
    grid-template-columns: repeat(7, 1fr); }
    .mini-cal__dates > div {
      background: #fff;
      border-left: 1px solid #3e246b;
      border-bottom: 1px solid #3e246b;
      box-sizing: border-box;
      padding: 5px;
      text-align: center; }
      .mini-cal__dates > div:nth-child(7n+1) {
        border-left: 0; }
      .mini-cal__dates > div.mark a {
        display: block;
        margin: -5px;
        padding: 5px;
        transition: all .25s;
        background: #8F91AD; }
        .mini-cal__dates > div.mark a:hover {
          background: #cfb53b;
          color: #fff; }
      .mini-cal__dates > div.outside {
        background: #ccc;
        color: #fff; }
        .mini-cal__dates > div.outside.mark a {
          background: #cfb53b; }
          .mini-cal__dates > div.outside.mark a:hover {
            background: #ccc; }

.list-item {
  border-bottom: 1px dashed #999;
  margin-bottom: 15px;
  padding-bottom: 15px; }

.list-item h2 {
  font-size: 16px;
  margin-bottom: 0; }

.list-item h2 img {
  vertical-align: text-top; }

.list-item-copy {
  float: right; }

.list-item-copy a.copy {
  margin-left: 5px; }

.list-item-copy a.copy img {
  vertical-align: bottom; }

.list-item-date {
  font-weight: bold; }

.list-item-desc {
  margin: 10px 0; }

.list-item-more {
  margin-top: 10px; }

.list-item-more a {
  background: #f2f2f2;
  border-radius: 7px;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.5) inset;
  display: inline-block;
  font-size: 12px;
  padding: 5px 10px; }

/* Week View */
.week {
  border: 1px solid #3e246b;
  border-top: 0;
  display: flex;
  display: grid;
  grid-template-columns: 100%; }
  @media (min-width: 992px) {
    .week {
      grid-template-columns: 60% 1fr; } }

.week-box {
  flex-grow: 3;
  background: #fff; }
  @media (min-width: 992px) {
    .week-box {
      border-right: 1px solid #3e246b; } }

.week-header {
  height: 40px;
  line-height: 40px;
  background: #8F91AD;
  color: #fff;
  display: flex; }

.week-startend {
  text-align: center;
  font-size: 18px;
  width: 80%; 
  border-right: 1px solid #3e246b;}

.week-prev,
.week-next {
  display: inline-block;
  transition: all .25s;
  color: #fff !important; }

.week-prev {
  padding-left: 20px; }

.week-next {
  padding-right: 20px; }

.week-prev:hover,
.week-next:hover {
  background: #3e246b;
  padding-left: 10px;
  padding-right: 10px; }

.week-year {
  text-align: center;
  font-size: 18px;
  position: relative;
  width: 20%; }

.week-year > a {
  color: #fff; }

.week-year .arrow {
  font-size: 14px; }

.week-year-select {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #8F91AD;
  border-radius: 0 0 7px 7px;
  padding-bottom: 10px; }

.week-year-select ul {
  list-style: none;
  padding: 0;
  margin: 0; }

.week-year-select ul li a {
  color: #fff;
  display: block;
  padding: 2px 10px;
  transition: all .25s; }

.week-year-select ul li a:hover {
  color: #fff !important;
  background: #3e246b; }

.week-days {
  background: #fff; }

.week-day {
  min-height: 75px;
  border-bottom: 1px solid #3e246b; }

.week-day:last-child {
  border-bottom: 0; }

.week-day-date {
  float: left;
  font-size: 18px;
  padding: 5px 0;
  text-align: center;
  width: 100px; }

.week-day-items {
  margin-left: 100px; }

.week-day-item {
  font-size: 14px;
  padding: 5px 0; }

.week-day-item-title {
  float: left;
  width: 60%; }

.week-day-item-title img {
  vertical-align: text-bottom; }

.week-day-item-time {
  margin-left: 60%; }

.week-day-item-cats {
  font-size: 10px;
  clear: both; }

.week-day-item-cats a:after {
  content: ", "; }

.week-day-item-cats a:last-child:after {
  content: ""; }

.week-item-box {
  background: #ddd;
  flex-grow: 2; }

.week-item-header {
  height: 40px;
  line-height: 40px;
  background: #8F91AD;
  color: #fff;
  text-align: center; }

.week-item {
  padding: 10px;
  font-size: 14px; }

.week-item h1 {
  font-size: 24px; }

.week-item-date {
  font-weight: bold; }

.week-item > div {
  border-bottom: 1px solid #3b70b0;
  padding-bottom: 10px;
  margin-bottom: 10px; }

.week-item > div > span.label {
  color:#000;
  font-weight: bold;
  float: left;
  width: 100px; }

.week-item > div.week-item-copy a.copy {
  margin-right: 5px; }

.week-item > div.week-item-copy a.copy img {
  vertical-align: bottom; }

.week-item > div.week-item-more {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0; }

.week-item-more > a {
  background: #fec85e;
  color: #000;
  border-radius: 7px;
  display: inline-block;
  font-size: 12px;
  padding: 5px 10px;
  margin-bottom: 10px;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.5) inset; }

.week-item > div.week-item-attachments {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  margin-top: 10px; }

.week-item-attach {
  margin-bottom: 10px;
  padding-bottom: 10px; }

.week-item-attach > a {
  border-bottom: 1px solid #3b70b0;
  display: block;
  margin-bottom: 5px;
  padding-bottom: 5px; }

.week-item-attach > a > span {
  background: #fec85e;
  color: #000;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.5) inset;
  border-radius: 7px;
  float: right;
  font-size: 10px;
  margin-left: 10px;
  margin-top: -3px;
  padding: 2px 10px 1px;
  text-transform: uppercase; }

.week-item-attach > a img {
  vertical-align: middle; }

.week-item-attach-desc {
  font-size: 12px; }

@media (max-width:476px){
.week-startend {
  font-size: 14px;}

.week-year {
font-size: 15px;}
  
.week-prev {
  padding-left: 12px; }

.week-next {
  padding-right: 12px; }
}

/* Calendar View */
.calendar {
  width: 100%;
  border-right: 1px solid #3e246b;
  border-left: 1px solid #3e246b; }
  .calendar__nav {
    display: flex;
    display: grid;
    grid-template-columns: 1fr 5fr 1fr;
	border-bottom: 1px solid #3e246b; }
    .calendar__nav div {
      background: #8F91AD;
      color: #fff;
      font-size: 16px;
      font-weight: normal;
      padding: 5px;
      text-align: center; }
      .calendar__nav div.month {
        flex-grow: 5;
        font-size: 20px;
        font-weight: bold; 
		border-right: 1px solid #3e246b;
        border-left: 1px solid #3e246b;}
      .calendar__nav div.nav {
        flex-grow: 1;
        font-size: 1rem;
        padding: 0; }
        .calendar__nav div.nav a {
          display: block;
          width: 100%;
          background: #8F91AD;
          transition: background 1000ms, color 1000ms;
          padding: .5em 1em; }
          .calendar__nav div.nav a:link, .calendar__nav div.nav a:visited {
            color: #fff; }
          .calendar__nav div.nav a:hover, .calendar__nav div.nav a:active, .calendar__nav div.nav a:focus {
            text-decoration: none;
            background: #3e246b;
            color: #fff !important;
            transition: background 250ms, color 250ms; }
  .calendar__days {
    display: flex;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: #8F91AD; }
    .calendar__days div {
      flex-grow: 1;
      color: #fff;
      font-size: 1rem;
      font-weight: normal;
      padding: 5px;
      text-align: center; }
      @media (max-width: 767.98px) {
        .calendar__days div {
          font-size: 0; }
          .calendar__days div:first-letter {
            font-size: 1rem; } }
  .calendar__dates {
    display: flex;
    flex-wrap: wrap;
    display: grid;
    grid-template-columns: repeat(7, 1fr); }
    .calendar__dates > div {
      background: #fff;
      border-bottom: 1px solid #3e246b;
      border-left: 1px solid #3e246b;
      box-sizing: border-box;
      padding: 5px;
      min-height: 100px; }
      @media (max-width: 767.98px) {
        .calendar__dates > div {
          min-height: 0; } }
      .calendar__dates > div:nth-child(7n+1) {
        border-left: 0; }
      .calendar__dates > div.today {
		color:#fff;  
        background: #3e246b;
		font-weight:bold; }
      .calendar__dates > div.outside {
        background: #ccc;
        color: #3e246b; }
      .calendar__dates > div .date {
        font-size: 16px; }

/* Calendar Popup */
.calendar-item {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid #ccc;
  margin-bottom: 5px;
  padding-bottom: 5px; }
  .calendar-item > a:first-child {
    display: none; }
  @media (max-width: 767.98px) {
    .calendar-item > * {
      display: none; }
    .calendar-item > a:first-child {
      display: inline-block;
      background: #edf4fa;
      border-radius: 5px;
      border: 1px solid #cccccc;
      line-height: 1rem;
      padding: 3px; } }
  .calendar-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0; }
  .calendar-item.active {
    z-index: 15; }
  .calendar-item-details {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 0;
    min-width: 200px;
    color: #000;
    font-size: 12px; }
    .calendar-item-details .indicator {
      float: left;
      position: relative;
      left: 20px;
      border-left: 10px solid transparent;
      border-right: 10px solid transparent;
      border-top: 9px solid #999;
      height: 0;
      width: 0; }
    .calendar__dates > div:nth-child(7n) .calendar-item-details, .calendar__dates > div:nth-child(7n-1) .calendar-item-details, .calendar__dates > div:nth-child(7n-2) .calendar-item-details {
      left: auto;
      right: 0; }
      .calendar__dates > div:nth-child(7n) .calendar-item-details .indicator, .calendar__dates > div:nth-child(7n-1) .calendar-item-details .indicator, .calendar__dates > div:nth-child(7n-2) .calendar-item-details .indicator {
        float: right;
        left: auto;
        right: 20px; }
    .calendar-item-details-inner {
      background: #fff;
      border: 1px solid #3b70b0;
      border-radius: 5px;
      padding: 5px;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }
    .calendar-item-details-title {
      border-bottom: 1px solid #3b70b0;
      padding-bottom: 2px;
      margin-bottom: 2px;
      font-size: 12px;
      white-space: nowrap;
      display: flex; }
      .calendar-item-details-title span {
        flex-grow: 1;
        padding: 0 .5em; }
    .calendar-item-details dl {
      width: 100%;
      padding: 0;
      margin: 0; }
      .calendar-item-details dl dt {
        display: block;
        float: left;
        font-weight: bold; }
      .calendar-item-details dl dd {
        display: block;
        margin: 0 0 5px 6em; }
    .calendar-item-details-cats {
      font-weight: bold;
      font-size: 10px; }
      .calendar-item-details-cats a {
        font-weight: normal; }
        .calendar-item-details-cats a:after {
          content: ", "; }
        .calendar-item-details-cats a:last-child:after {
          content: ""; }
    .calendar-item-details .more {
      border: 1px solid #3b70b0;
      border-radius: 5px;
      background: #fff;
      box-shadow: 0 2px 4px #bfbfbf;
      padding: 3px 8px;
      float: right;
      clear: left; }
    .calendar-item-details .copy {
      margin-right: 5px; }
      .calendar-item-details .copy img {
        margin-top: 5px;
        vertical-align: bottom; }

@media print {
  body {
    background: none; }

  header, footer, .view, .extra, .search, .week-item-more > a, .list-item-more > a, .search-item-more > a, .calendar th.nav a, .week-prev, .week-next, .week-year a .arrow, .search-intro a {
    display: none; }

  h1 .print-header, .search-term {
    display: inline; }

  .calendar, .week, .list, .mini-cal {
    border-top: 1px solid #3b70b0; }

  .week-header {
    border-right: 1px solid #3b70b0;
    border-bottom: 1px solid #3b70b0; }

  .week-item-header {
    border-bottom: 1px solid #3b70b0;
    text-indent: -9999px; }

  .list-items {
    padding: 15px 0 0; } }
/* -----------------*/
/* /Calendar Styles */
/* -----------------*/
