.cal1 {
  max-width  : 300px;
  font-family: 'Montserrat', sans-serif; 
  font-weight: 700; 
  font-size  : 16px;
  margin-top : 43px;
}

.cal1 .clndr .clndr-controls {
  display           : flex;
  width             : 100%;
  position          : relative;
  /* margin-bottom  : 10px; */
  justify-content   : space-between;
  align-items       : center;
}

.cal1 .clndr .clndr-controls .month {
  width           : auto;
  text-align      : center;
  background-color: #2e091a;
  color           : #c1141b;
  height          : 35px;
  flex            : 1;
  margin          : 0 2px;
  display         : flex;
  align-items     : center;
  justify-content : center;
  text-transform  : uppercase;
  font-family: 'Montserrat', sans-serif; 
  font-weight: 700; 
}

.cal1 .clndr .clndr-controls .clndr-control-button {
  width           : 35px;
  background-color: #2e091a;
  color           : #c1141b;

  display        : flex;
  align-items    : center;
  justify-content: center;

}

.cal1 .clndr .clndr-controls .clndr-control-button.rightalign {
  text-align      : right;
  width           : 35px;
  background-color: #2e091a;
  color           : #c1141b;

  display        : flex;
  align-items    : center;
  justify-content: center;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-next-button {
  cursor             : pointer;
  -webkit-user-select: none;
  /* Chrome/Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+ */

  height         : 35px;
  align-items    : center;
  display        : flex;
  width          : 100%;
  justify-content: center;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-next-button:hover {
  background: #2e091aba;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-next-button.inactive {
  opacity: 0.5;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-next-button.inactive:hover {
  background: none;
  cursor    : default;
  width     : 100%;
  text-align: center;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-previous-button {
  cursor             : pointer;
  -webkit-user-select: none;
  /* Chrome/Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;

  /* IE10+ */
  height         : 35px;
  align-items    : center;
  display        : flex;
  width          : 100%;
  justify-content: center;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-previous-button:hover {
  background: #2e091aba;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-previous-button.inactive {
  opacity: 0.5;
}

.cal1 .clndr .clndr-controls .clndr-control-button .clndr-previous-button.inactive:hover {
  background: none;
  cursor    : default;
}

.cal1 .clndr .clndr-table {
  table-layout: fixed;
  width       : 100%;
}

.cal1 .clndr .clndr-table .header-days {
  height    : 30px;
  font-size : 10px;
  background: transparent;

}

.cal1 .clndr .clndr-table .header-days .header-day {
  vertical-align   : middle;
  text-align       : center;
  /* border-left   : 2px solid #c1141b;
  border-top       : 2px solid #c1141b; */
  color            : #1a1a1a;
  font-family: 'Montserrat', sans-serif; 
  font-weight: 400; 
  font-size        : 16px;
  text-transform   : uppercase;

}

.cal1 .clndr .clndr-table .header-days .header-day:last-child {
  /* border-right: 2px solid #c1141b; */
}

.cal1 .clndr .clndr-table tr {
  /* height: 50px; */
}

.cal1 .clndr .clndr-table tr td {
  vertical-align: top;
}

.cal1 .clndr .clndr-table tr .day {
  border-left: 2px solid #c1141b;
  border-top : 2px solid #c1141b;
  width      : 100%;
  height     : inherit;
  background : #98121a;
  color      : #ffffff36;
}

.cal1 .clndr .clndr-table tr .day:hover {
  background: #98121a;
}

.cal1 .clndr .clndr-table tr .day.today,
.cal1 .clndr .clndr-table tr .day.my-today {
  background: #6F0C12 !important;
}

.cal1 .clndr .clndr-table tr .day.today:hover,
.cal1 .clndr .clndr-table tr .day.my-today:hover {
  background: #6F0C12;
  cursor    : pointer;
}

.cal1 .clndr .clndr-table tr .day.today.event,
.cal1 .clndr .clndr-table tr .day.my-today.event {
  background: #070001;
}

.cal1 .clndr .clndr-table tr .day.event,
.cal1 .clndr .clndr-table tr .day.my-event {
  background: #2E091A;
}

.cal1 .clndr .clndr-table tr .day.event .day-contents,
.cal1 .clndr .clndr-table tr .day.my-event .day-contents {
  position: relative;
  color   : #fff;
}

.cal1 .clndr .clndr-table tr .day.event .day-contents:after,
.cal1 .clndr .clndr-table tr .day.my-event .day-contents:after {
  content         : " ";
  width           : 9px;
  height          : 9px;
  background-color: #c1141b;
  position        : absolute;
  bottom          : 10px;
  left            : 50%;
  transform       : translate(-50%, 5px);
  border-radius   : 8px;


}

.cal1 .clndr .clndr-table tr .day.event:hover,
.cal1 .clndr .clndr-table tr .day.my-event:hover {
  background: #fff;
  cursor    : pointer;
}

.cal1 .clndr .clndr-table tr .day.event:hover .day-contents,
.cal1 .clndr .clndr-table tr .day.my-event:hover .day-contents {
  color: #2e091a !important;
}

.cal1 .clndr .clndr-table tr .day.inactive,
.cal1 .clndr .clndr-table tr .day.my-inactive {
  background: transparent;
}

.cal1 .clndr .clndr-table tr .day:last-child {
  border-right: 2px solid #c1141b;
}

.cal1 .clndr .clndr-table tr .day .day-contents {
  box-sizing: border-box;
  padding   : 8px 8px 20px 8px;
  font-size : 18px;
  text-align: right;
}

.cal1 .clndr .clndr-table tr .empty,
.cal1 .clndr .clndr-table tr .adjacent-month,
.cal1 .clndr .clndr-table tr .my-empty,
.cal1 .clndr .clndr-table tr .my-adjacent-month {
  border-left: 2px solid #c1141b;
  border-top : 2px solid #c1141b;
  width      : 100%;
  height     : inherit;
  background : #98121a5c;
}

.cal1 .clndr .clndr-table tr .empty:hover,
.cal1 .clndr .clndr-table tr .adjacent-month:hover,
.cal1 .clndr .clndr-table tr .my-empty:hover,
.cal1 .clndr .clndr-table tr .my-adjacent-month:hover {
  background: #b3131a;
}

.cal1 .clndr .clndr-table tr .empty:last-child,
.cal1 .clndr .clndr-table tr .adjacent-month:last-child,
.cal1 .clndr .clndr-table tr .my-empty:last-child,
.cal1 .clndr .clndr-table tr .my-adjacent-month:last-child {
  border-right: 2px solid #c1141b;
}

.cal1 .clndr .clndr-table tr:last-child .day,
.cal1 .clndr .clndr-table tr:last-child .my-day {
  border-bottom: 2px solid #c1141b;
}

.cal1 .clndr .clndr-table tr:last-child .empty,
.cal1 .clndr .clndr-table tr:last-child .my-empty {
  border-bottom: 2px solid #c1141b;
}

.clndr-control-button-today {
  width      : 35px;
  height     : 35px;
  margin-left: 2px;
  cursor     : pointer;
}


.cal1 .clndr .clndr-table tr .day.past,
.cal1 .clndr .clndr-table tr .day.past.inactive {
  background: #98121a;
  color     : #ffffff36;
}

.cal1 .clndr .clndr-table tr .day.past .day-contents,
.cal1 .clndr .clndr-table tr .day.past.inactive .day-contents {
  color : #ffffff36;
  cursor: default;
}

.cal1 .clndr .clndr-table tr .day.past:hover,
.cal1 .clndr .clndr-table tr .day.past.inactive:hover,
.cal1 .clndr .clndr-table tr .day.past .day-contents:hover,
.cal1 .clndr .clndr-table tr .day.past.inactive .day-contents:hover {
  cursor: default;
  color : #ffffff36 !important;
}

.cal1 .clndr .clndr-table tr .day.past .day-contents:after,
.cal1 .clndr .clndr-table tr .day.past.inactive .day-contents:after {
  display: none;
}



/* --------------------------------------------------------------*/
/* CALENDARIO DE EVENTOS
/* --------------------------------------------------------------*/

/*acive cell*/
.active-cell {
  background-color: #ffffff !important;
}

.active-cell div {
  color: #2a0c19 !important;
}

.container-calendario {
  padding: 20px 50px 20px 50px;
}

.bg-calendario {
  background-color: #c1141b;
}

/* Resultado de eventos / swiper dos eventos 
----------------------------------------------------------------*/

.result-events {
  background-color: #c1141b;
}

.result-events #event {
  min-height: 220px;
  position  : relative;
}

.result-events #event:after {
  height  : 220px;
  width   : 200px;
  position: absolute;

}

.result-events h2 {
  font-size     : 1.5rem;
  font-family: 'Montserrat', sans-serif; 
  font-weight: 500; 
  font-style    : normal;
  font-stretch  : normal;
  line-height   : normal;
  letter-spacing: normal;
  color         : #fff;
  border-bottom : 1px solid #ffffff3b;
  padding-bottom: 14px;
  margin-bottom : 22px;
}

.swiper-slide.item a {
  background: #ffffff;

}


.swiper-slide.item a:hover {
  background: #ffffff;
  opacity   : 1;
}

.swiper-slide.item .imagem {
  background         : #ffffff;
  min-height         : 210px;
  display            : block;
  position           : relative;
  background-size    : cover;
  background-position: center center;

  filter            : gray;
  -webkit-filter    : grayscale(1);
  -webkit-transition: all .2s ease-in-out;

  overflow: hidden;

}

@media (max-width: 768px) {
  .swiper-slide.item .imagem {
    min-height: 100px;
  }
}

.swiper-slide.item a:hover .imagem {
  filter              : none;
  -webkit-filter      : grayscale(0);
  /* -webkit-transform: scale(1); */
}

.swiper-slide.item .imagem .data {
  position        : absolute;
  top             : 0;
  right           : 0;
  background-color: rgba(0, 0, 0, 0.3);
  padding         : 10px 5px 6px 7px;
  text-align      : center;
}

.swiper-slide.item .imagem .data .dia {
  display       : block;
  font-family: 'Montserrat', sans-serif; 
  font-weight: 700; 
  font-size     : 24px;
  font-style    : normal;
  font-stretch  : normal;
  line-height   : 0.7;
  letter-spacing: normal;
  color         : #ffffff;

}

.swiper-slide.item .imagem .data .mes {

  font-family: 'Montserrat', sans-serif; 
  font-weight: 400; 
  font-size     : 14px;
  font-style    : normal;
  font-stretch  : normal;
  line-height   : 1;
  letter-spacing: normal;
  color         : #ffffff;
  text-transform: uppercase;

}

.swiper-slide.item .texto {
  background    : #ffffff;
  padding-right : 40px;
  padding-left  : 10px;
  min-height    : 90px;
  padding-bottom: 12px;
}

.swiper-slide.item .texto .nome {

  font-family: 'Montserrat', sans-serif; 
  font-weight: 700; 
  font-size     : 14px;
  font-style    : normal;
  font-stretch  : normal;
  line-height   : normal;
  letter-spacing: normal;
  color         : #c1141b;

}

.swiper-slide.item .texto .hora-local {
  font-size     : 14px;
  font-weight   : 300;
  font-style    : normal;
  font-stretch  : normal;
  line-height   : normal;
  letter-spacing: normal;
  color         : #c1141b;
}

/*paginacao */
.swiper-container {
  padding-bottom: 35px;
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom    : 0;
  right     : 0;
  width     : 100%;
  text-align: right;
}

.swiper-pagination-bullet {
  width           : 10px;
  height          : 10px;
  background-color: transparent;
  border          : 2px solid #fff;
  opacity         : 1;
}

.swiper-pagination-bullet-active {
  opacity   : 1;
  background: #2e091a;
  border    : 2px solid #2e091a;

}



.lds-ellipsis {
  display  : inline-block;
  position : absolute;
  width    : 64px;
  height   : 64px;
  top      : 50%;
  left     : 50%;
  transform: translate(-50%, -50%);
}

.lds-ellipsis div {
  position                 : absolute;
  top                      : 27px;
  width                    : 11px;
  height                   : 11px;
  border-radius            : 50%;
  background               : #fff;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
  left     : 6px;
  animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
  left     : 6px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
  left     : 26px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
  left     : 45px;
  animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(19px, 0);
  }
}


/* controler of calendar */
.showCalendar {
  display: block;
}

.hideCalendar {
  display: none;
}

#openCalendar {
  font-family: 'Montserrat', sans-serif; 
  font-weight: 700; 
  text-transform  : uppercase;
  font-size       : 0.975rem;
  position        : absolute;
  bottom          : -32px;
  right           : 15px;
  z-index         : 10;
  background-color: #AE1319;
  padding         : 5px 24px;
}
#openCalendar span {
  color: white;
}
#openCalendar:hover {
  opacity: 1;
}

#closeCalendar {
  font-family: 'Montserrat', sans-serif; 
  font-weight: 700; 
  text-transform: uppercase;
  font-size     : 0.875rem;
  position      : absolute;
  bottom        : -2px;
  right         : 15px;
  z-index       : 10;
}

#closeCalendar i {
  display    : inline-block;
  background : #2a0c19;
  color      : #AE1319;
  padding    : 3px 6px 3px 5px;
  font-size  : .8rem;
  margin-left: 5px;
}

#loadCalendar {
  position       : absolute;
  top            : 0;
  left           : 0;
  width          : 100%;
  height         : 100%;
  background     : #c1141a;
  z-index        : 100;
  display        : flex;
  justify-content: center;
  align-content  : center;
  flex-direction : column;
  text-align     : center;
}


/* mobile calendar*/

@media(max-width: 768px) {
  .cal1 {
    max-width  : 100%;
    font-family: 'Montserrat', sans-serif; 
    font-weight: 700; 
    font-size  : 16px;
    margin-top : 19px;
  }

  .result-events {
    margin-top: -25px;
  }

  .result-events #event {
    min-height: 200px;
  }

  .cal1 .clndr .clndr-table tr .day .day-contents {
    padding   : 5px 6px 25px 8px;
    font-size : 12px;
    text-align: center;
  }

  .bg-calendario {
    min-height   : 31px !important;
    margin-bottom: 9px !important;
  }

  #openCalendar {
    left      : 0;
    right     : 0;
    text-align: center;
  }

  #openCalendar span {
    display: inline-block;
    color  : #ffffff;
  }

  #openCalendar i {
    color      : #fff;
    font-size  : 21px;
    margin-left: 7px;

  }

  #containerCalendar {
    margin-top: -34px;
  }
}