

.calendar-table {
  border-radius: 15px;
}

.calendar-table td:not(.legend-td) {
  position: relative;
  height: 140px;
  padding-bottom: 30px;
  padding-right: 20px;
  width: calc(100% / 7);
}

.calendar-table th {
  width: calc(100% / 7);  
}

.invalid_date .ticket {
  opacity: 0.5;
}

.calendar-table .invalid_date .day_number {
  font-size: 9px;
}

.calendar-table td .day_number {
  position: absolute;
  top: 0;
  right: 4px;
  font-size: 12px;
  color: #000;
  font-weight: bold;
}

.calendar-table .invalid_date {
  background: #efefef;
}

.calendar-table .ticket {
  padding: 5px 8px;
  border-radius: 15px;
  font-size: 12px;
  background: var(--type-color);
  border: 1px solid var(--type-color-hover);
  box-shadow: 0px 0px 0px #3339;
  transition: .5s all ease;
}

.calendar-table td.invalid_date .ticket {
  pointer-events: none;
}

.calendar-table td:not(.invalid_date) .ticket:not(.readonly-ticket):hover {
  background: var(--type-color-hover);
  border: 1px solid var(--type-color);
  box-shadow: 0px 0px 3px #3339;
  cursor: pointer;
  color: #333;
}

.calendar-table td .export-event, .calendar-table td .add-event {
  position: absolute;
  bottom: 4px;
  transition: .5s all ease;
  right: 4px;
  color: #999;
}

.calendar-table td .add-event {
  right: 24px;
}

.calendar-table td .export-event:hover, .calendar-table td .add-event:hover {
  cursor: pointer;
  color: #666;
}

.next-month:focus, .prev-month:focus {
  box-shadow: none;
}

.calendar_ig {
  border: 1px solid #ddd;
  border-radius: 20px;
  /* height: 100%; */
}

.calendar_ig .btn {
  color: #bbb;
}

.calendar_ig .btn:hover {
  color: #666;
}

.calendar_ig input {
  border: none;
}

.calendar_ig input:hover, .calendar_ig input:focus {
  box-shadow: none;
}

.calendar_ig input::-webkit-calendar-picker-indicator {
  background: transparent;
}

.calendar_ig input::-webkit-calendar-picker-indicator {
  background-color: #bbb;
  transition: .5s all ease;
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJXaW5kb3dUZXh0IiBkPSJNMjAgM2gtMVYxaC0ydjJIN1YxSDV2Mkg0Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMThINFY4aDE2djEzeiIvPjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz48L3N2Zz4=");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMjAgM2gtMVYxaC0ydjJIN1YxSDV2Mkg0Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMThINFY4aDE2djEzeiIvPjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz48L3N2Zz4=");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.calendar_ig input:hover::-webkit-calendar-picker-indicator {
  background-color: #666;
  cursor: pointer;
}

.calendar-container {
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

.calendar-container .calendar-table {
  margin-bottom: 6rem;
  border-collapse: separate;
}

.calendar-table thead {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 3;
}

.infoModal .modal-dialog, .advancedSearchModal .modal-dialog {
  max-width: 100%;
  width: 100%;
  height: 100vh;
  margin: 0;
}

.infoModal .modal-dialog .modal-content, .advancedSearchModal .modal-dialog .modal-content {
  height: 100vh;
  overflow-y: auto;
}

.day-ticket {
  padding: 30px 15px;
  border-bottom: 1px solid #eee;
}

.day-ticket.active {
  background: var(--light-grey-3);
}

.day-ticket:not(.active) {
  cursor: pointer;
}

.form-control.std_padding, .form-control.std_padding:focus {
  padding-left: .75rem !important;
}

.background, .foreground {
  transition: .75s all ease;
}

.foreground {
  transform: translateX(-100%);
  background: #fff;
}

.foreground.active {
  transform: translateX(0);
}

.foreground.active::after, .background.active::after {
  background: transparent;
}

.background::after, .foreground::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: .75s all ease;
  height: 100%;
  background: #333e;
  z-index: 2;
  opacity: 1;
  pointer-events: none;
}

.background.active {
  transform: translateX(0);
}

.background {
  transform: translateX(100%);
}

.relative-div {
  width: 100%;
  overflow-x: hidden;
}

.calendar-container .month-title, .calendar_filters_row .month-title {
  font-size: 1.5em;
}

.calendar_filters_row {
  font-weight: bold;
  /* padding-bottom: 10px; */
}

.calendar-container.minimal-calendar .calendar-table {
  margin-bottom: 0;
}

.calendar-container.minimal-calendar .month-title {
  font-size: 1.2em;
}

.calendar-container.minimal-calendar .calendar-table th {
  padding: .25rem;
  font-size: 0.9em;
}

.calendar-container.minimal-calendar .calendar-table .ticket {
  padding: 2px 5px;
  position: relative;
  display: flex;
}

.calendar-container.minimal-calendar .calendar-table .ticket > .ticket-title {
  max-height: 44px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-basis: fill;
  flex-grow: 1  
}

.calendar-container.minimal-calendar .calendar-table .ticket > .ticket-info-badge {
  flex-basis: fit-content;  
  margin: auto;
}

.show_tickets.calendar-placeholder {
  overflow-y: auto !important;
  overflow-x: hidden;
}

.ticket .ticket-info-badge b {
  position: relative;
}

.calendar-container.minimal-calendar  .ticket .badge {
  font-size: 85%;
}

.calendar-container:not(.minimal-calendar)  .ticket .badge {
  font-size: 100%;
  position: absolute;
  right: -15px;
  top: -5px;
}

.col-0 {
	flex: 0 0 0;
	max-width: 0;
  overflow: hidden;
}

.day-box-0 {
  background-color: #efefef;
}

.day-box-1 {
  background-color: #28a74533;
}

.day-box-2 {
  background-color: #dc374611;
  /* background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, #dc374622 10px, #dc374622 20px); */
}

.day-box-2 > *:not(.ticket) {
  /* color: #666 !important; */
}

.day-box-3 {
  background-color: #fff;
}

.legend .box {
  height: 20px;
  width: 20px;
  border: 1px solid #888;
  display: inline-block;
  padding-right: 5px;
}

@media all and (max-width: 1200px) {
  .calendar-table td:not(.legend-td) {
    padding-right: 0 !important;
    padding-top: 18px !important;
  }
  .infoModal .modal-dialog, .advancedSearchModal .modal-dialog {
    height: 100% !important;
  }
  
  .infoModal .modal-dialog .modal-content, .advancedSearchModal .modal-dialog .modal-content {
    height: 100% !important;
  }
}

.calendar_filters_row.set_fixed {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
  border-bottom: 1px solid #ccc;
}

.calendar_filters_row .header_info {
  display: none;
  padding-bottom: 10px;
}

.calendar_filters_row.set_fixed .header_info {
  display: block;
}

.advanced_search_ticket_info {
  max-height: 0;
  height: 0;
  overflow: hidden;
  transition: .5s all ease;
  display: none;
}

.advanced_search_ticket_info.visible {
  max-height: max-content;
  height: auto;
  display: table-row;
}

.advanced_search_get_ticket_info i {
  transition: .5s all ease;
}

.opaque {
  transition: .5s all ease;
  opacity: 0.25;
}

.visible .opaque {
  opacity: 1;
}

tr.ticket_selected {
  border: 2px solid #17a2b8 !important;
}

tr.ticket_selected + tr {
  border: 2px solid #17a2b8 !important;
}