.calendar {
  position: relative;
  overflow: hidden;
  text-transform: capitalize;
  text-align: center;
  font: 15px/1em inherit;
  color: #545A5C; }
  .calendar a {
    text-decoration: none;
    color: inherit; }
  .calendar header .simple-calendar-btn {
    display: inline-block;
    position: absolute;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    color: #CBD1D2;
    border-radius: 50%;
    border: 2px solid #CBD1D2; }
  .calendar header .simple-calendar-btn:hover {
    background: #CBD1D2;
    color: white; }
  .calendar header .simple-calendar-btn:before {
    content: '';
    position: absolute;
    top: 9px;
    left: 8px;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 3px 3px 0 0;
    transform: rotate(45deg);
    transform-origin: center center; }
  .calendar header .btn-prev {
    top: 0;
    left: 0;
    transform: rotate(-180deg); }
  .calendar header .btn-next {
    top: 0;
    right: 0; }
    .calendar header .btn-next:before {
      transform: rotate(45deg); }
  .calendar header .month {
    padding: 0;
    margin: 0; }
    .calendar header .month .year {
      font-size: 0.6em;
      font-weight: 100; }
  .calendar table {
    width: 100%;
    margin: 20px 0;
    border-spacing: 0px; }
  .calendar thead {
    font-size: 1.2em;
    font-weight: 600; }
  .calendar td {
    padding: .8em .1em; }
  .calendar .day {
    position: relative;
    display: inline-block;
    width: 2.5em;
    height: 2.5em;
    line-height: 2.5em;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer; }
    .calendar .day:hover {
      border: 2px solid #6691CC; }
    .calendar .day.today {
      background: #6691CC;
      color: white; }
      .calendar .day.today.has-event:after {
        background: white; }
    .calendar .day.wrong-month {
      color: #CBD1D2; }
    .calendar .day.wrong-month:hover {
      border: 2px solid transparent; }
    .calendar .day.has-event:after {
      content: '';
      position: absolute;
      top: calc(50% + .6em);
      left: calc(50% - 2px);
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #6691CC; }
    .calendar .day.disabled {
      cursor: default; }
      .calendar .day.disabled:hover {
        border: 2px solid transparent; }
  .calendar .event-container {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 70px;
    background: #545A5C;
    box-sizing: border-box; }
    .calendar .event-container .event-wrapper {
      overflow-y: auto;
      max-height: 100%; }
    .calendar .event-container .close {
      position: absolute;
      width: 30px;
      height: 30px;
      top: 20px;
      right: 20px;
      cursor: pointer; }
      .calendar .event-container .close:before, .calendar .event-container .close:after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 2px;
        height: 100%;
        background-color: #CBD1D2; }
      .calendar .event-container .close:before {
        transform: rotate(45deg); }
      .calendar .event-container .close:after {
        transform: rotate(-45deg); }
    .calendar .event-container .event {
      position: relative;
      width: 100%;
      padding: 1em;
      margin-bottom: 1em;
      background: #6691CC;
      border-radius: 4px;
      box-sizing: border-box;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.12);
      text-align: left;
      color: white; }
      .calendar .event-container .event-date {
        margin-bottom: 1em; }
      .calendar .event-container .event-hour {
        float: right; }
      .calendar .event-container .event-summary {
        font-weight: 600; }
  .calendar .filler {
    position: absolute;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: #545A5C;
    transform: translate(-50%, -50%); }



.calendar {
    color: #fff
}

.calendar-container {
    background: #008de3;
    padding: 100px 100px 300px
}

@media screen and (max-width: 959px) {
    .calendar-container {
        padding: 50px
    }
}

@media screen and (max-width: 719px) {
    .calendar-container {
        padding: 20px 0
    }
}

.calendar .day.event {
    background: transparent
}

.calendar .day {
    height: 35px;
    width: 35px;
    line-height: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    margin: 0 auto;
    font-size: 18px
}

    .calendar .day:hover {
        border: none
    }

    .calendar .day.wrong-month {
        opacity: .4
    }

.calendar header .month {
    font-size: 24px;
    text-transform: uppercase;
    padding: 5px;
    display: block
}

.calendar header .btn-prev, .calendar header .btn-next {
    border: none;
    border-radius: 0;
    padding: 20px 40px;
    margin: 0;
    font-size: 0;
    background: url("../images/arrow-right.png") no-repeat center center;
    background-size: 10px
}

    .calendar header .btn-prev:hover, .calendar header .btn-next:hover {
        background: url("../images/arrow-right.png") no-repeat center center;
        background-size: 13px
    }

.calendar .filler {
    display: none !important
}

.calendar header .btn-prev {
    transform: rotate(180deg)
}

.calendar__event-dot {
    background: #fff;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    margin: 0 2px;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.calendar__dots-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.calendar .day.today, .calendar .day.active {
    background: #fff;
    color: #008de3;
    box-shadow: 0 0 5px 3px rgba(0,0,0,0.2);
    font-weight: 900
}

    .calendar .day.today .calendar__event-dot, .calendar .day.active .calendar__event-dot {
        background: #008de3
    }

.calendar__column {
    display: -ms-flexbox;
    display: flex;
    justify-content:center;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-positive: 0;
    flex-grow: 0;
    
}

@media screen and (max-width: 959px) {
    .calendar__column {
        display: block
    }
}

.calendar__row {
    width: 48%;
    box-shadow: -15px 0 10px -10px rgba(0,0,0,0.1),15px 0 10px -10px rgba(0,0,0,0.2)
}

@media screen and (max-width: 959px) {
    .calendar__row {
        width: 100%
    }
}

.calendar__row--events {
    background: #fffefa
}

.calendar__row--calendar {
    background: #008de3;
    position: relative;
    z-index: 2
}

.calendar__container {
    position: relative;
    margin-bottom:100px
}

@media screen and (max-width: 959px) {
    .calendar__container {
        margin: 50px 0 50px
    }
}

.calendar__events-container {
    padding: 100px 50px 300px
}

@media screen and (max-width: 959px) {
    .calendar__events-container {
        padding: 50px 50px 50px;
        display: block
    }
}

@media screen and (max-width: 719px) {
    .calendar__events-container {
        padding: 20px 20px 100px
    }
}

.calendar__events-container h2 {
    color: #0065af;
    font-size: 28px;
    display: inline-block;
    margin-bottom: 20px;
    font-weight: 500;
    font-family: "Roboto",serif
}

@media screen and (max-width: 959px) {
    .calendar__events-container h2 {
        text-align: center
    }
}

.calendar__events-container h2 span {
    font-size: 15px;
    color: #262626;
    font-weight: 500;
    margin: 0 10px;
    font-family: "Montserrat",sans-serif
}

.calendar__events-container ul {
    padding: 20px 0;
    margin: 20px 0;
    border-left: 2px solid #0065af
}

.calendar__events-container li {
    padding-left: 40px;
    margin-bottom: 40px
}

    .calendar__events-container li:last-of-type {
        margin-bottom: 0
    }

    .calendar__events-container li:before {
        left: -11px;
        top: 0px;
        width: 20px;
        height: 20px;
        background: #fff;
        border: 2px solid #0065af
    }

.calendar__events-container h3 {
    color: #0065af;
    font-size: 15px;
    margin-bottom: 10px
}

.calendar__ico {
    font-size: 14px;
    display: block;
    margin-bottom: 10px;
    padding-left: 20px;
    background-repeat: no-repeat;
    background-position: left center
}

/*.calendar__ico--time {
    background-image: url("../images/ico-time.png")
}

.calendar__ico--place {
    background-image: url("../images/ico-pin.png")
}*/

.calendar__envelope {
    position: absolute;
    width: 100%;
    height: auto;
    display: block;
    bottom: -150px;
    left: 0;
    z-index: 3
}

@media screen and (max-width: 959px) {
    .calendar__envelope {
        display: none
    }
}

.calendar__wave {
    position: absolute;
    z-index: 4;
    bottom: -50px;
    left: -200px
}

@media screen and (max-width: 959px) {
    .calendar__wave {
        display: none
    }
}

.calendar__plane {
    position: absolute;
    z-index: 1;
    top: 100px;
    right: -325px
}

@media screen and (max-width: 959px) {
    .calendar__plane {
        display: none
    }
}

