
html { height: 100%; }

#calWrap {
  width: 100%;
  height: auto;
  position: relative;
  display: block;
}

#calWrap *,
#calWrap *:after,
#calWrap *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

#calWrap h3 {
	margin: 0;
}

#calWrap .col-sm-3 {
	text-align: right;
}

/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
#calWrap .clearfix:before,
#calWrap .clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

#calWrap .clearfix:after {
    clear: both;
}

#calWrap .clearfix {
    *zoom: 1;
}


#calWrap a {
  color: #555;
  text-decoration: none;
}

#calWrap .container {
  width: 100%;
  height: 100%;
  position: relative;
}

#calWrap .container > header,
#calWrap .main {
  padding: 0 30px 50px 30px;
  /*width: 100%;*/
  max-width: 600px;
  margin: 0 auto;
}

#calWrap .container > header {
  /*padding: 30px;*/
}

#calWrap .container > header h1 {
  font-size: 34px;
  line-height: 38px;
  margin: 0;
  font-weight: 700;
  color: #000;
  float: left;
  text-shadow: 0 1px 1px rgba(0,0,0,0.3);
}

#calWrap .container > header h1 span {
  font-size: 18px;
  font-weight: 300;
  display: block;
}




#calWrap .fc-calendar-container {
  position: relative;
  height: 100%;
  width: 100%; /* 400px */
}

#calWrap .fc-calendar {
  width: 100%;
  height: 100%;
}

#calWrap .fc-calendar .fc-head {
  height: 30px;
  line-height: 30px;
  background: #ccc;
  color: #fff;
}

#calWrap .fc-calendar .fc-body {
  position: relative;
  width: 100%;
  height: 100%;
  height: -moz-calc(100% - 30px);
  height: -webkit-calc(100% - 30px);
  height: calc(100% - 30px);
  border: 1px solid #ddd;
}

#calWrap .fc-calendar .fc-row {
  width: 100%;
  border-bottom: 1px solid #ddd;
}

#calWrap .fc-four-rows .fc-row  {
  height: 25%;
}

#calWrap .fc-five-rows .fc-row  {
  height: 20%;
}

#calWrap .fc-six-rows .fc-row {
  height: 16.66%;
  height: -moz-calc(100%/6);
  height: -webkit-calc(100%/6);
  height: calc(100%/6);
}

#calWrap .fc-calendar .fc-row > div,
#calWrap .fc-calendar .fc-head > div {
  float: left;
  height: 100%;
  width:  14.28%; /* 100% / 7 */
  width: -moz-calc(100%/7);
  width: -webkit-calc(100%/7);
  width: calc(100%/7);
  position: relative;
}

/* IE 9 is rounding up the calc it seems */
.ie9 .fc-calendar .fc-row > div,
.ie9 .fc-calendar .fc-head > div {
  width:  14.2%;
}

#calWrap .fc-calendar .fc-row > div {
  border-right: 1px solid #ccc;
  padding: 4px;
  /*overflow: hidden;*/
  overflow-y: auto;
  position: relative;
}

#calWrap .fc-calendar .fc-head > div {
  text-align: center;
}

#calWrap .fc-calendar .fc-row > div > span.fc-date {
  position: absolute;
  width: 30px;
  height: 20px;
  font-size: 20px;
  line-height: 20px;
  font-weight: 700;
  color: #ddd;
  text-shadow: 0 -1px 0 rgba(255,255,255,0.8);
  bottom: 5px;
  right: 5px;
  text-align: right;
}

#calWrap .fc-calendar .fc-row > div > span.fc-weekday {
  padding-left: 5px;
  display: none;
}

#calWrap .fc-calendar .fc-row > div.fc-today {
  background: #fff4c3;
}

#calWrap .fc-calendar .fc-row > div.fc-out {
  opacity: 0.6;
}



#calWrap .fc-calendar .fc-row > div:last-child,
#calWrap .fc-calendar .fc-head > div:last-child {
  border-right: none;
}

#calWrap .fc-calendar .fc-row:last-child {
  border-bottom: none;
}

#calWrap .custom-calendar-full {
  
  width: 100%;
  height: auto;
}

#calWrap .fc-calendar-container {
 height: auto;
  
}

#calWrap .custom-header {
  padding: 20px 20px 10px 30px;
  height: 50px;
  position: relative;
}

#calWrap .custom-header h2,
#calWrap .custom-header h3 {
  float: left;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 4px;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.1);
}

#calWrap .custom-header h2 {
  color: #000;
  width: 60%;
}

#calWrap .custom-header h2 a, 
#calWrap .custom-header h2 span {
  color: rgba(255,255,255,0.3);
  font-size: 18px;
  letter-spacing: 3px;
  white-space: nowrap;
}

#calWrap .custom-header h2 a {
  color: rgba(55,103,42,0.8);
}

#calWrap .no-touch .custom-header h2 a:hover {
  color: rgba(229,150,73,0.9);
}

#calWrap .custom-header h3 {
  width: 40%;
  color: #ddd;
  color: rgba(0,0,0,0.6);
  font-weight: 300;
  line-height: 1.2em;
  text-align: right;
  padding-right: 125px;
}

#calWrap .custom-header nav {
  position: absolute;
  right: 20px;
  top: 20px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#calWrap .custom-header nav span {
  float: left;
  width: 25px;
  height: 25px;
  position: relative;
  color: transparent;
  cursor: pointer;
  background: rgba(55,103,42,0.3);
  margin: 0 1px;
  font-size: 20px;
  border-radius: 0 3px 3px 0;
  box-shadow: inset 0 1px rgba(0,0,0,0.2);
}

#calWrap .custom-header nav span:first-child {
  border-radius: 3px 0 0 3px;
}

#calWrap .custom-header nav span:hover {
  background: rgba(229,150,73,0.5);
}

#calWrap .custom-header span:before {
  font-family: 'fontawesome-selected';
  color: #fff;
  display: inline-block;
  text-align: center;
  width: 100%;
  text-indent: 4px;
}

#calWrap .custom-header nav span.custom-prev:before {
  content: '\25c2';
}

#calWrap .custom-header nav span.custom-next:before {
  content: '\25b8';
}

#calWrap .custom-header nav span:last-child {
  margin-left: 20px;
  border-radius: 3px;
}

#calWrap .custom-header nav span.custom-current:before {
  content: '\27a6';
}


#calWrap .fc-calendar {
  background: transparent;
  width: auto;
  /*top: 10px;
  bottom: 20px;
  left: 20px;
  right: 20px;*/
  height: 800px; /* auto; */
  border-radius: 0px;
  /*position: absolute;*/
}

#calWrap .fc-calendar .fc-head { 
  background: #0071bb;
  color: rgba(255,255,255,0.9);
  box-shadow: inset 0 1px 0 rgba(0,0,0,0.2);
  border-radius: 0px 0px 0 0;
  height: 40px;
  line-height: 40px;
  padding: 0 10px;
}

#calWrap .fc-calendar .fc-head > div {
  font-weight: 300;
  text-transform: uppercase;
  font-size: .8em;
  /*letter-spacing: 3px;*/
  text-shadow: 0 1px 1px rgba(0,0,0,0.4);
}

#calWrap .fc-calendar .fc-row > div > span.fc-date {
  color: rgba(0,0,0,0.9);
  text-shadow: none;
  font-size: .7em;
  font-weight: 300;
  bottom: auto;
  right: auto;
  top: 2%;
  left: 5%;
  text-align: left;
  /* text-shadow: 0 1px 1px rgba(0,0,0,0.3); */
}

#calWrap .fc-calendar .fc-body {
  border: none;
  padding: 10px;
}

#calWrap .fc-calendar .fc-row {
  box-shadow: inset 0 -1px 0 rgba(0,0,0,0.2);
  border: none;
}

#calWrap .fc-calendar .fc-row:last-child {
  box-shadow: none;
}

#calWrap .fc-calendar .fc-row:first-child > div:first-child {
  border-radius: 0px 0 0 0;
}

#calWrap .fc-calendar .fc-row:first-child > div:last-child {
  border-radius: 0 0px 0 0;
}

#calWrap .fc-calendar .fc-row:last-child > div:first-child {
  border-radius: 0 0 0 0px;
}

#calWrap .fc-calendar .fc-row:last-child > div:last-child {
  border-radius: 0 0 0px 0;
}

#calWrap .fc-calendar .fc-row > div {
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.2);
  border: none; 
  padding: 10px;
  cursor: pointer;
}

#calWrap .fc-calendar .fc-row > div:first-child{
  box-shadow: none;
}

#calWrap .fc-calendar .fc-row > div.fc-today {
  background: transparent;
  box-shadow: inset 0 0 100px rgba(0,0,0,0.1);
}

#calWrap .fc-calendar .fc-row > div.fc-today:after { 
  content: ''; 
  display: block;
  position: absolute;
  z-index: -1;
  top: 0; 
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, 0.15)), to(rgba(0, 0, 0, 0.25))), -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(255, 255, 255, 0)), color-stop(0.5, rgba(255, 255, 255, .15)), color-stop(0.501, rgba(255, 255, 255, 0)), color-stop(1, rgba(255, 255, 255, 0)));
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.25)), -moz-linear-gradient(left top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0));
  background: -o-linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.25)), -o-llinear-gradient(left top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0));
  background: -ms-linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.25)), -ms-linear-gradient(left top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0));
  background: linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.25)), linear-gradient(left top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0));
}

#calWrap .fc-calendar .fc-row > div > div {
  margin-top: 15px;
}

#calWrap .fc-calendar .fc-row > div > div a,
#calWrap .fc-calendar .fc-row > div > div span {
  color: rgba(0,0,0,0.7);
  font-size: .52em;
  text-transform: uppercase;
  display: block;
  padding: 3px 5px;
  border-radius: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  margin-bottom: 1px;
  background: rgba(255,255,255,0.1);
}

#calWrap .fc-calendar .fc-row > div > div a:hover {
  background: #cc0000;
	color: #fff;
}

#calWrap .no-touch .fc-calendar .fc-row > div > div a:hover {
  background: rgba(229,150,73,0.3);
}

@media screen and (max-width: 880px) , screen and (max-height: 450px) {
  html, body, .container {
    height: auto;
  }

  #calWrap .custom-header,
  #calWrap .custom-header nav,
  #calWrap .custom-calendar-full,
  #calWrap .fc-calendar-container, 
  #calWrap .fc-calendar,
  #calWrap .fc-calendar .fc-head,
  #calWrap .fc-calendar .fc-row > div > span.fc-date {
    position: relative;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
    height: auto;
    width: auto;
  }

  #calWrap .fc-calendar {
    margin: 0 20px 20px;
  }

  #calWrap .custom-header h2,
  #calWrap .custom-header h3 {
    float: none;
    width: auto;
    text-align: left;
    padding-right: 100px;
  }

  #calWrap .fc-calendar .fc-row,
  #calWrap .ie9 .fc-calendar .fc-row > div,
  #calWrap .fc-calendar .fc-row > div {
    height: auto;
    width: 100%;
    border: none;
  }

  #calWrap .fc-calendar .fc-row > div {
    float: none;
    min-height: 50px;
    box-shadow: inset 0 -1px rgba(0,0,0,0.2) !important;
    border-radius: 0px !important;
  }

  #calWrap .fc-calendar .fc-row > div:empty{
    min-height: 0;
    height: 0;
    box-shadow: none !important;
    padding: 0;
  }

  #calWrap .fc-calendar .fc-row {
    box-shadow: none;
  }

  #calWrap .fc-calendar .fc-head {
    display: none;
  }

  #calWrap .fc-calendar .fc-row > div > div {
    margin-top: 0px;
    padding-left: 10px;
    max-width: 70%;
    display: inline-block;
  }

  #calWrap .fc-calendar .fc-row > div.fc-today {
    background: rgba(0, 0, 0, 0.2);
  }

  #calWrap .fc-calendar .fc-row > div.fc-today:after { 
    display: none;
  }

  #calWrap .fc-calendar .fc-row > div > span.fc-date {
    width: 30px;
    display: inline-block;
    text-align: right;
  }

  #calWrap .fc-calendar .fc-row > div > span.fc-weekday {
    display: inline-block;
    width: 40px;
    color: #fff;
    color: rgba(0,0,0,0.7);
    font-size: 10px;
    text-transform: uppercase;
  }
}