.card {
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-bottom: 20px;
}
.border-custom-box {
	border-bottom: 1px solid rgb(228, 228, 230);border-left: 1px solid rgb(228, 228, 230); border-right: 1px solid rgb(228, 228, 230);
	transition: all 0.3s ease-in-out;
}

div {
	transition: all 0.3s ease-in-out;
}
.card-header {
	background-color: #f8f9fa;
	font-weight: bold;
	padding: 10px;
	text-align: center;
}

.card-body {
	padding: 10px;
	min-height: 50px;
}

.card-title {
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: bold;
}

.card-text {
	margin-bottom: 5px;
	font-size: 14px;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
}
/* 
.row {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
} */

/* .col {
	flex: 0 0 250px;
	margin-right: 10px;
} */


body {
	font-family: 'Open Sans';
	background: #f2f5fb;
}
ul.dropdown-menu.show {
	 width: 250px !important;
}

.nav-link:focus, .nav-link:hover {
	color: #7b7b7b; /* Slightly darker color on hover */
}
.color-red {
	color: red;
}
.timer-sticky {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: #fff;
	padding: 10px;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	z-index: 1000;
}

.timer-icon {
	margin-right: 5px;
}
.label-status {
	 padding: 5px 10px;
	 color: #fff;
	 border-radius: 5px;
	 font-size: 14px;
	 background-color: #6c757d; /* Grijs */

}
.status-vragenlijst-verstuurd {
	background-color: #28a745; /* Groen */
}
.status-afgerond {
	 background-color: #28a745; /* Groen */
}
.status-wachten-feedback {
	 background-color: #17a2b8; /* Blauw */
}
.status-gepauzeerd {
	 background-color: #ffc107; /* Geel */
}
.status-open {
	 background-color: #dc3545; /* Rood */
}
.status-started {
	 background-color: #86000c; /* Rood */
}
.project_detail h3 {
	border-left: 3px solid #ed6f85;
	padding-left: 10px;
	font-size: 21px;
	font-weight: bold;
}
.btn-primary {
	background: #002942;

}
 .label-onderhoud {
	  color: white;
	  background-color: blue;
	  padding: 2px 8px;
	  border-radius: 5px;
	  font-size: 0.9em;
 }
 .label-nieuw {
	  color: white;
	  background-color: green;
	  padding: 2px 8px;
	  border-radius: 5px;
	  font-size: 0.9em;
 }
/* Stijl voor de custom checkbox */
.checkbox-container {
	display: block;
	/* position: relative;
	padding-left: 35px; */
	cursor: pointer;
	user-select: none;
}

/* Verberg de standaard checkbox */
.checkbox-container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

/* Creëer een custom checkbox */
.checkmark {
	/* position: absolute;
	top: 0;
	left: 0; */
	display: block;
	height: 25px;
	width: 25px;
	background-color: #eee;
	border-radius: 5px;
}

/* Wanneer de checkbox is gecheckt */
.checkbox-container input:checked ~ .checkmark {
	background-color: #04AA6D;
}

/* Creëer het checkmark/afvink icoon */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Toon het checkmark icoon wanneer de checkbox is gecheckt */
.checkbox-container input:checked ~ .checkmark:after {
	display: block;
}

/* Stijl het checkmark icoon */
.checkbox-container .checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		 max-width: 1500px !important;
	}
}
.center-nav-items {
	display: flex;
	justify-content: center;
	width: 100%;
}
.dashboard-item-column {
	padding: 25px;
	background-color: white;
	/* border: 1px solid lightgrey; */
	border-radius: 20px;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.dashboard-item-column h2 {
	font-size: 40px;
	font-weight: bold;
	color: #002942;
}
.dashboard-item-column small {
	font-size: 13px;
	color: grey;
}
.dashboard {
	display: flex;
	justify-content: space-around;
	margin-bottom: 20px;
}
.dashboard-item {
	text-align: center;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.dashboard h3 {
	font-size: 18px;
	
}

.navbar {
	background-color: #fff; /* Assuming a white background */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Adding some shadow for depth */
  }

  .navbar-brand img {
	height: 40px; /* Adjust the size as needed */
  }

  .nav-link {
	color: black; /* Dark grey color for the text */
  }
.navbar-nav .nav-link.active, .navbar-nav .show>.nav-link {
	color: black !important; 
	border-bottom: 3px solid black;
	border-radius: 3px;
	
}
  .nav-link:hover {
	color: #7b7b7b; /* Slightly darker color on hover */
  }

  .bi {
	font-size: 1.25rem; /* Icon size */
	color: white; /* Icon color */
	fill: white; /* Icon fill color */
	filter: brightness(0) invert(1) brightness(2);
  }
  .bi-pencil {
	  font-size: 14px !important;
	  padding: 15px 0px;
  }
  .bi-black {
	  font-size: 1.25rem; /* Icon size */
	  color: black; /* Icon color */
	  fill: black; /* Icon fill color */
	  
	}

  .dropdown-toggle::after {
	display: none; /* Hide the default caret icon */
  }

  .navbar-nav .dropdown-menu {
	right: 0; /* Align dropdown to the right */
	left: auto;
  }

  .rounded-circle {
	width: 32px; /* Profile image size */
	height: 32px;
  }

.content {
  padding: 7rem 0; }

h2 {
  font-size: 20px; }

.half, .half .container > .row {
  height: 100vh;
  min-height: 700px; }

@media (max-width: 991.98px) {
  .half .bg {
	height: 200px; } }

.half .contents {
  background: #f6f7fc; }

.half .contents, .half .bg {
  width: 50%; }
  @media (max-width: 1199.98px) {
	.half .contents, .half .bg {
	  width: 100%; } }
  .half .contents .form-control, .half .bg .form-control {
	border: none;
	-webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	height: 54px;
	background: #fff; }
	.half .contents .form-control:active, .half .contents .form-control:focus, .half .bg .form-control:active, .half .bg .form-control:focus {
	  outline: none;
	  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
	  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); }

.half .bg {
  background-size: cover;
  background-position: center; }

.half a {
  color: #888;
  text-decoration: underline; }

.half .btn {
  height: 54px;
  padding-left: 30px;
  padding-right: 30px; }

.half .forgot-pass {
  position: relative;
  top: 2px;
  font-size: 14px; }

.control {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
  cursor: pointer;
  font-size: 14px; }
  .control .caption {
	position: relative;
	top: .2rem;
	color: #888; }

.control input {
  position: absolute;
  z-index: -1;
  opacity: 0; }

.control__indicator {
  position: absolute;
  top: 2px;
  left: 0;
  height: 20px;
  width: 20px;
  background: #e6e6e6;
  border-radius: 4px; }

.control--radio .control__indicator {
  border-radius: 50%; }

.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
  background: #ccc; }

.control input:checked ~ .control__indicator {
  background: #fb771a; }

.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
  background: #fb8633; }

.control input:disabled ~ .control__indicator {
  background: #e6e6e6;
  opacity: 0.9;
  pointer-events: none; }

.control__indicator:after {
  font-family: 'icomoon';
  content: '\e5ca';
  position: absolute;
  display: none;
  font-size: 16px;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; }

.control input:checked ~ .control__indicator:after {
  display: block;
  color: #fff; }

.control--checkbox .control__indicator:after {
  top: 50%;
  left: 50%;
  margin-top: -1px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.control--checkbox input:disabled ~ .control__indicator:after {
  border-color: #7b7b7b; }

.control--checkbox input:disabled:checked ~ .control__indicator {
  background-color: #7e0cf5;
  opacity: .2; }


.status-started {
	 background-color: #8bc34a; /* Lichtgroen */
	 color: white;
}
.label-status {
	padding: 3px 7px;
	border-radius: 3px;
	font-size: 14px;
}

.status-in-behandeling {
	 background-color: #2196f3; /* Blauw */
	 color: white;
}

.status-vragenlijst-niet-ingevuld {
	 background-color: #f44336; /* Rood */
	 color: white;
}

.status-actie-video-afspraak {
	 background-color: #ff9800; /* Oranje */
	 color: white;
}

.status-videogesprek-ingepland {
	 background-color: #03a9f4; /* Lichtblauw */
	 color: white;
}

.status-videolink-verstuurd {
	 background-color: #9c27b0; /* Paars */
	 color: white;
}

.status-spoed-concept {
	 background-color: #d32f2f; /* Felrood */
	 color: white;
}

.status-feedback-verwerken {
	 background-color: #ffeb3b; /* Geel */
	 color: black;
}

.status-wachten-feedback {
	 background-color: #9e9e9e; /* Grijs */
	 color: white;
}

.status-afgerond {
	 background-color: #4caf50; /* Groen */
	 color: white;
}

.status-default {
	 background-color: #e0e0e0; /* Standaard grijs */
	 color: black;
}
.requester-info, .ticket-comments {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 20px;
	margin-bottom: 20px;
}
.requester-info h2, .ticket-comments h2 {
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.comment {
	border-bottom: 1px solid #eee;
	padding: 10px 0;
}
.ticket-comments, .requester-info {
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	padding: 20px;
	margin-bottom: 20px;
}
.ticket-comments .comment {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e1e1e1;
}

.ticket-comments .comment:last-child {
	border-bottom: none;
}
.ticket-comments h2, .requester-info h2 {
	color: #333;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
}

.ticket-comments p, .requester-info p {
	color: #666;
	font-size: 14px;
	line-height: 1.4;
}
.dashboard {
	display: flex;
	justify-content: space-around;
	margin-bottom: 20px;
}
.dashboard-item {
	text-align: center;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
}
.label {
  padding: 5px;
  border-radius: 5px;
  color: white;
  display: inline-block;
}

.label-open {
  background-color: #f39c12; /* orange */
}

.label-pending {
  background-color: #f1c40f; /* yellow */
}

.label-solved {
  background-color: #2ecc71; /* green */
}

.label-closed {
  background-color: #34495e; /* navy */
}

.dashboard h3 {
	font-size: 18px;
}
.alert-blue {
	color: #004085;
	background-color: #cce5ff;
	border-color: #b8daff;
}
.sidebar {
	background: #2a3042;
	bottom: 0;
	box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03);
	margin-top: 0;
	padding-top: 20px;
	position: fixed;
	top: 0;
	width: 250px;
	z-index: 1001;
}
li.nav-item {
	display: block;
	font-size: 13px;
	padding: 0.325rem 0.5rem;
	position: relative;
	transition: all .4s;
	padding-bottom:0px;
}

#calendar * {
	transition: none !important;
}
.dropdown-menu  li.nav-item a {
	color: #002942;
}
.dropdown-menu .navbar .bi {
	color: #002942 !important;
}
.card {
	box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03);
	margin-bottom: 24px;
	border: 1px solid transparent;
}
.card-title {
	color: #343a40;
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 7px;
}
button.btn-sm.btn-rounded.btn.btn-primary.resendInvoice {
	border-radius: 30px;
	padding: 0px 2px;
	font-size: 14px !important;
}
.btn-sm {
	 margin-right: 5px;
	 padding: 0px 10px;
}
.btn-green {
	background: green;
	color: white;
	width: 10px;
	height: 10px;
}
.readMoreButton {
	background: transparent;
	border-color: transparent;
	padding: 0;
	margin: 0;
}
  .task-completed {
	text-decoration: line-through; /* Dit zal een doorstreping toepassen */
	opacity: 0.6; /* Maakt de tekst lichter om aan te geven dat het afgerond is */
}

/* Base styles for the table */
.table-responsive {
    overflow-x: auto;

}

/* Medium devices (tablets) */
@media (max-width: 991px) {
    .hide-tablet {
        display: none;
    }
}

/* Small devices (mobile) */
@media (max-width: 767px) {
    .hide-mobile {
        display: none;
    }

	.table-responsive {
		font-size:0.7rem;
	}

	.badge.company_badge {
		font-size:0.7rem !important;
	}

	.table_aggregates h6, .table_aggregates p{
		font-size:0.7rem !important;
	}


}

/* Vertical alignment for table cells */
.table td, .table th {
    vertical-align: top;
}


.details-box {
	font-size: 1rem;
}


.action-buttons {
	display: flex;
	gap: 8px;  /* Space between buttons */
}

.action-buttons .btn {
	padding: 10px;  /* Larger touch target */
	min-width: 44px;  /* Minimum size for touch targets */
	height: 44px;  /* Minimum size for touch targets */
	display: flex;
	align-items: center;
	justify-content: center;
}

.action-buttons .btn i {
	font-size: 1.2rem;  /* Slightly larger icons */
}

/* Add these to your existing CSS */
@media (max-width: 768px) {
    .badge {
        font-size: 0.65rem !important;
        padding: 6px 10px !important;
    }

    .btn-sm {
        padding: 4px 4px;
        font-size: 0.75rem;
    }

    .text-break {
        word-break: break-word;
        hyphens: auto;
    }

    .gap-2 {
        gap: 0.5rem !important;
    }

    h4 {
        font-size: 1.2rem;
    }

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.tox-tinymce-aux {
	display:none !important;
}
.flex-grow-1 {
    flex-grow: 1;
}

.gap-2 {
    gap: 0.5rem;
}

/* Responsive Form Styling */
.details-box {
    font-size: 1rem;
}

.border-custom-box {
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 4px 4px;
}

.form-label {
    font-weight: 600;
}

.row.mb-3 {
    margin-bottom: 1rem !important;
}

.card h4, .border h4 {
    font-size: 16px;
    font-weight: 600;
    padding: 10px 15px;
    margin: 0;
}

/* Select2 Styling */
.select2-container {
	background-color: white;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
}
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple,
.select2-container .select2-search--dropdown .select2-search__field,
.select2-container .select2-selection__rendered,
.select2-dropdown {
    font-size: inherit;
}

/* Adjust Select2 height to match other form controls */
.select2-container .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
}

.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: calc(1.5em + 0.75rem);
}

/* Responsive Media Queries */
@media (max-width: 768px) {
    .details-box {
        font-size: 12px;
    }

	.details-box .btn {
		font-size: 12px;
	}
    
    .card h4, .border-custom-box h4, .border h4 {
        font-size: 14px !important;
    }
    
    .btn-sm {
        font-size: 12px;
        padding: 0.25rem 0.5rem;
    }
    
    .form-label {
        font-size: 12px;
    }

	.form-check-label {
		font-size: 12px;
	}
    
    .form-control {
        font-size: 12px;
        padding: 0.375rem 0.75rem;
    }

    .select2-container .select2-selection--single,
    .select2-container .select2-selection--multiple,
    .select2-container .select2-search--dropdown .select2-search__field,
    .select2-container .select2-selection__rendered,
    .select2-dropdown {
        font-size: 12px !important;
    }
}

@media (min-width: 769px) {
    .details-box {
        font-size: 16px;
    }
    
    .card h4, .border-custom-box h4, .border h4 {
        font-size: 16px !important;
    }
    
    .btn-sm {
        font-size: 16px;
    }
    
    .form-label {
        font-size: 16px;
    }
    
    .form-control {
        font-size: 16px;
    }

    .select2-container .select2-selection--single,
    .select2-container .select2-selection--multiple,
    .select2-container .select2-search--dropdown .select2-search__field,
    .select2-container .select2-selection__rendered,
    .select2-dropdown {
        font-size: 16px !important;
    }
}


	.tab-content .alert {
		margin-top: 10px;
	}

	.list-group-item {
		border: none;
	}

	.list-group-item:not(:last-child) {
		border-bottom: 1px solid #e0e0e0;
	}

    .activity-main, .activity-metadata {
        height: 100%;
    }

    /* Custom styles for the leave request switches */
    .form-switch .form-check-input {
        cursor: pointer;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
        transition: background-position .15s ease-in-out, background-color .15s ease-in-out;
    }
    
    .form-switch .form-check-input:checked {
        background-color: #198754;
        border-color: #198754;
    }
    
    .form-switch .form-check-input:not(:checked) {
        background-color: #dc3545;
        border-color: #dc3545;
    }
    
    .leave-request-item {
        border-left: 4px solid #e9ecef;
    }
    
    .leave-request-item:hover {
        border-left-color: #0d6efd;
    }

	.leave-request-item.active{
		border-left: 4px solid #0d11fd;
	}


    /* Make the modal animation smoother */
    .modal.fade .modal-dialog {
        transition: transform .2s ease-out;
    }

    .sortable {
        cursor: pointer;
    }
    .sortable:hover {
        background-color: rgba(0,0,0,0.05);
    }
    .sortable i {
        margin-left: 5px;
    }

	.leave_request_details_form.compact {
		font-size: 0.8rem;
	}

	.leave_request_details_form.compact .btn-sm {
		font-size: 0.8rem;
	}

	.leave_request_details_form.compact .form-label {
		font-size: 0.8rem;
	}

	.leave_request_details_form.compact .form-control {
		font-size: 0.8rem;
	}

	.leave_request_details_form.compact h6 {
	font-size: 0.85rem;
	}



	.color-picker {
		width: 50px;
		height: 50px;
	}
	.fc-event {
		cursor: pointer;
		border:none;
		/* transition: border 0.3s ease; */
	}
	.user-color-dot {
		display: inline-block;
		width: 10px;
		height: 10px;
		border-radius: 50%;
		margin-right: 5px;
	}
	.filter-container {
		display: flex;
		gap: 10px;
		margin-bottom: 20px;
		flex-wrap: wrap;
	}
	.filter-container select,
	.filter-container input {
		flex: 1;
		min-width: 200px;
	}
	.fc-dateInput-button {
	display: none !important;
	}

	.fc-resource .fc-datagrid-cell-main{
		display:flex !important;
		align-items: center;
		justify-content: space-between;
		padding-right:8px;
		overflow-wrap: break-word;
		word-wrap: break-word;
		word-break: break-word;
		hyphens: auto;
	}

	.fc-resource:hover{
		background-color: #f0f0f0;
	}

	.delete-resource {
		cursor: pointer;
		color: #dc3545;
	}
	
	.resource-title-wrapper:hover .delete-resource {
	}
	/* Monday */
	.day-1-background {
		background-color: #f5f5f5;
	}
	/* Tuesday */
	.day-2-background {
		background-color: white;
	}
	/* Wednesday */
	.day-3-background {
		background-color: #f5f5f5;
	}
	/* Thursday */
	.day-4-background {
		background-color: white;
	}
	/* Friday */
	.day-5-background {
		background-color: #f5f5f5;
	}
	/* Saturday */
	.day-6-background {
		background-color: white;
	}
	/* Sunday */
	.day-0-background {
		background-color: #f5f5f5;
	}

	th[data-date$="08:00:00"] {
		border-left: 1px solid #848484;


	}

	td[data-date$="08:00:00"] {
		border-left: 1px solid #848484;    



	}

	th[data-date$="18:00:00"] {
		/* opacity:0; */
		/* border-left: 0px */
		border-right: 2px solid #848484;


	}

	td[data-date$="18:00:00"] {
		/* opacity:0; */
		border-left: 0px;
		border-right: 2px solid #848484;


	}


	td[data-date$="14:00:00"] {
		/* opacity:0; */
		border-left: 0px

	}

	td[data-date$="10:00:00"] {
		/* opacity:0; */
		border-left: 0px

	}

	.fc-time-grid .fc-slats td {
		background: transparent;
	}

	.fc-border-separate td {
		border-width: 1px 0 0 1px;
		border-color: blue;
	}

	.fc-scroller a{
		text-decoration: none;
	}
	.fc-timeline-header-row a{
		text-decoration: none;
	}

	.fc-list-day-side-text {
		background-color: white;
		text-decoration:   none;
	}
	.fc-list-day-text{
		text-decoration: none;
	}

	.fc-list-day-cushion{    

	}
	.fc .fc-col-header-cell-cushion{
		padding: 2px 6px !important;;
	}
.fc-event {
	cursor: pointer;
	position: relative;
	min-height: 25px; /* Ensure minimum height */
}

#calendar .fc-event-main-normal {
	padding: 2px !important;
	height: 100%;   
	width: 100%;
	box-shadow: none;
	transition: all 0.5s ease !important;
}

.fc-event-main-team {
	padding:0px !important;
	height: 100%;
	width: 100%;

}

.fc-event-main {
	padding: 0px !important;
}



.fc-timegrid-event-harness {
	background-color: transparent !important;
	border-color: transparent !important;
}

/* Title and content styling */
.fc-event-title,
.fc-event-subtitle {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	display: block;
}

.fc-event-subtitle {
	font-size: 0.9em;
	opacity: 0.8;
}

/* Time display */
.fc-event-time {
	font-size: 0.9em;
	opacity: 0.8;
}
#calendar {
		font-size: 0.8rem !important;
	}

.fc-timegrid-slot {
	height: 3rem !important;
}
/* Ensure proper click handling */
.fc-timegrid-event-harness {
	z-index: 1;
}

.fc-datagrid-cell.fc-resource{  
	height: 4rem !important;
}

.fc-timeline-lane.fc-resource {
	height: 4rem;
	overflow: hidden;
}

.fc-timeline-events {
	height: 100% !important;
}

.fc-timeline-lane-frame {
	height:100% !important;
	/* z-index: 3;
	background-color: lightblue; */
}

.fc-timeline-event-harness {
	/* position: absolute !important; */ /* Keep this commented out or removed */
	top: 0 !important; /* Force alignment to the top of the lane */
	/* bottom: 0 !important; */ /* Remove bottom constraint */
	height: 100%; /* Restore height based on reverting */
	 z-index: 1; /* Keep default z-index, will be overridden by eventDidMount */
}

.fc-timeline-event-harness .fc-event {
	height: 100%;
}

.fc-timeline-event {
	padding:0px !important;
	margin:0px !important;
}

.fc-timline-events {
	padding-bottom: 0px !important;
}

.fc-timeline-slot {
	z-index: 0;
	pointer-events: auto;
}

/* Optional: Show full content on hover */
.fc-event:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Disable hover effects in team view */
.fc-resourceTimelineTeam-view .fc-event:hover {
    box-shadow: none;
    z-index: auto !important;
}

.fc-event-main > * {
	pointer-events: none;
}


/* Add these new styles */


/* Make resource rows adjust their height automatically */
.fc-resource-timeline .fc-resource-group,
.fc-resource-timeline .fc-datagrid-cell-cushion,
.fc-timeline-slot-frame {
	min-height: 0 !important; /* Override FullCalendar's default min-height */
}

.fc .fc-timeline-body {
	min-height: 0 !important; /* Override FullCalendar's default min-height */
}

/* Ensure resource rows scale properly */
.fc-resource-timeline .fc-datagrid-cell {
	/* height: auto !important; */
}

/* Adjust the resource area to scale properly */
.fc-resource-timeline .fc-resource-area {
	max-height: none !important;
}

.date-navigation-wrapper {
	display: flex;
	flex-direction: column-reverse; /* Stack children vertically */
	align-items: center;
	gap: 5px;
}

.view-info {
	font-size: 1.2em;
	color: #666;
	white-space: normal;
	font-weight: bold; /* Make text bold */
}

.fc-toolbar {
	align-items: end !important;
}

.fc .fc-toolbar-chunk:nth-child(2) {
	display: flex;
	align-items: end;
	justify-content: center;
}

.fc-resourceTimelineTeam-view .presentation {
	border:none !important;
}



@media (min-width: 768px) {

	.fc-toolbar-chunk:nth-child(1) {
		text-align:left;
		flex: 0 0 auto;
		width: 25%;
	}

	.fc-toolbar-chunk:nth-child(2) {
		flex: 0 0 auto;
		text-align: center;
		width: 42%;
	}

	.fc-toolbar-chunk:nth-child(3) {
		text-align:end;
		width: 33%;
	}


}

 @media (max-width: 767px) {
	 .fc .fc-toolbar {
		 flex-direction: column;
		 align-items: center !important;
		 justify-content: center;
		 column-gap: 2px;
		 row-gap: 20px;
	 }

	 .fc-toolbar-chunk {
		text-align: center;
	 }

	 /* .fc .fc-scroller-liquid-absolute {
		overflow: visible !important;
		position:relative!important;
	} */


 }
 .fc-datagrid-cell-cushion.fc-scrollgrid-sync-inner{
	word-break: break-word;
	overflow-wrap: break-word;
	white-space: normal;
	text-align: center;
}

 /* .fc-datagrid-body.fc-scrollgrid-sync-table{
	width: 100% !important;
 }

 @media (max-width: 767px) {
	.fc-datagrid-body.fc-scrollgrid-sync-table{
		width: 100px !important;
	}
 } */


 .fc-license-message {
	display: none !important;
 }


 .fc-resource .fc-col-header-cell-cushion {
	padding-top: 15px;
	padding-bottom: 15px;
 }


 .fc-datagrid-cell-cushion {

 }

 .fc-datagrid-cell.fc-resource {
	display: flex;
	align-items: center;
	justify-content: center;
	/* height: 100% !important; */
	border-top: none;
	border-left: none;
	border-right: none;
 }
 
 .fc-datagrid-body tr{
	border-bottom: 1px solid #ddd;
 }
 .fc-datagrid-body tr:last-child{
	border-bottom: none;
 }


 .fc-scroller.fc-scroller-liquid{
	overflow: scroll auto !important;
 }

 .fc-datagrid-cell-frame {
	display: flex;
	align-items: center;
	justify-content: center;
 }
 


 @media (max-width: 767px) {
	.fc-list-event{
		font-size: 0.8rem !important;
	}

	.fc-list-event .badge {
		font-size: 0.6rem !important;
	}
 }

 .fc-list-event .badge{
	align-self:baseline;
 }

 .fc-datagrid-cell-main {
	text-align: center;
 }

 .fc .fc-datagrid-header .fc-datagrid-cell-frame{
	justify-content: center !important;
 }

 .timeline-slot-time {
	font-size: 0.85em;
	font-style: italic;
	color: #666;
}

.calendar-loading-overlay {
position: fixed;  /* Fixed position relative to viewport */
bottom: 25px;    /* Distance from bottom */
right: 20px;     /* Distance from right */
background: white;
padding: 10px 15px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
display: none;
z-index: 9999;   /* Ensure it stays on top */
align-items: center;
gap: 10px;
transition: opacity 0.3s ease;  /* Smooth fade in/out */
}

.calendar-loading-spinner {
border: 3px solid #f3f3f3;
border-top: 3px solid #3498db;
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
}

.calendar-loading-content {
font-size: 0.9em;
color: #666;
display: flex;
align-items: center;
gap: 10px;
}

.approvalForm_content {
max-height: 86vh;
overflow-y: hidden;
overflow-x: hidden;
}

/* Match the sidebar's back button breakpoint (non-xl screens) */
@media (max-width: 1199.98px) {
.calendar-loading-overlay {
	right: auto;  /* Remove right positioning */
	left: 8px;   /* Position from left instead */
	max-width: calc(100% - 90px);  /* Prevent overlap with back button */
}
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

/* Toggle switch styles */
.fc-showTasks-button,
.fc-showLeave-button {
	position: relative;
	padding-left: 45px !important;
	background: none !important;
	border: none !important;
	color: #666 !important;
}

.fc-showTasks-button:before,
.fc-showLeave-button:before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 16px;
	background-color: #ccc;
	border-radius: 10px;
	transition: background-color 0.3s;
}

.fc-showTasks-button:after,
.fc-showLeave-button:after {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	background-color: white;
	border-radius: 50%;
	transition: left 0.3s;
}

.fc-showTasks-button.active:before,
.fc-showLeave-button.active:before {
	background-color: #4CAF50;
}

.fc-showTasks-button.active:after,
.fc-showLeave-button.active:after {
	left: 26px;
}


.modal-header {
	background-color: #202020;
	color:white;
}
/* 
.leave-history-item  {
	padding-top: 
} */


@media (max-width: 992px) {
    #details_leaveRequestSummary {
        font-size: 12px;
    }

    #details_leaveRequestSummary h5 {
        font-size: 16px !important;
        font-weight: bold;
    }

    .approvalForm_content {
        max-height: unset !important;
    }

    #leaveRequestsList {
        max-height: unset !important;
    }
}

/* Overwork hours animation */
#overwerkHistory .list-group-item {
    transition: all 0.3s ease;
    max-height: 200px;
    opacity: 1;
    overflow: hidden;
}

#overwerkHistory .list-group-item.removing {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    border: none;
}

/* Smooth animations for all collapsible sections */
.list-group-item {
    transition: all 0.3s ease;
    max-height: 200px;
    opacity: 1;
    overflow: hidden;
}

.list-group-item.removing {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    border: none;
}

/* Specific styling for each section while maintaining the same animations */
#overwerkHistory .list-group-item,
#verlofHistory .list-group-item,
#loonstrokenLijst .list-group-item,
#activitiesContainer .list-group-item {
    transition: all 0.3s ease;
    max-height: 200px;
    opacity: 1;
    overflow: hidden;
}

#overwerkHistory .list-group-item.removing,
#verlofHistory .list-group-item.removing,
#loonstrokenLijst .list-group-item.removing,
#activitiesContainer .list-group-item.removing {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    border: none;
}

/* Activity items might need more height */
#activitiesContainer .list-group-item {
    max-height: 300px;
}

/* Ensure smooth transitions for all buttons */
.btn-outline-primary,
.btn-outline-secondary {
    transition: all 0.3s ease;
}

/* Custom animation classes - use these instead of modifying Bootstrap classes */
.fade-transition {
    transition: opacity 0.3s ease;
}

.fade-out {
    opacity: 0;
}

.fade-in {
    opacity: 1;
}

/* Custom tooltip styling */
.tooltip {
    --bs-tooltip-max-width: 500px; /* Make tooltips wider */
}

.tooltip-inner {
    max-width: 300px; /* Ensure inner content also expands */
    text-align: left; /* Left align text for better readability */
}

.fc-resourceTimelineTeam-view .fc-event-main-normal {
    border: 2px solid white !important;
    margin: 1px 0 !important;
    border-radius: 3px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;
}

/* Hide text and icons in team view events */
.fc-resourceTimelineTeam-view .fc-event-title,
.fc-resourceTimelineTeam-view .fc-event-subtitle,
.fc-resourceTimelineTeam-view .fc-event-time,
.fc-resourceTimelineTeam-view .fc-event-main i {
    display: none !important;
}


