@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

.fs-1  { font-size: 1px !important; }
.fs-2  { font-size: 2px !important; }
.fs-3  { font-size: 3px !important; }
.fs-4  { font-size: 4px !important; }
.fs-5  { font-size: 5px !important; }
.fs-6  { font-size: 6px !important; }
.fs-7  { font-size: 7px !important; }
.fs-8  { font-size: 8px !important; }
.fs-9  { font-size: 9px !important; }
.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-17 { font-size: 17px !important; }
.fs-18 { font-size: 18px !important; }
.fs-19 { font-size: 19px !important; }
.fs-20 { font-size: 20px !important; }
.fs-21 { font-size: 21px !important; }
.fs-22 { font-size: 22px !important; }
.fs-23 { font-size: 23px !important; }
.fs-24 { font-size: 24px !important; }
.fs-25 { font-size: 25px !important; }
.fs-26 { font-size: 26px !important; }
.fs-27 { font-size: 27px !important; }
.fs-28 { font-size: 28px !important; }
.fs-29 { font-size: 29px !important; }
.fs-30 { font-size: 30px !important; }
.fs-31 { font-size: 31px !important; }
.fs-32 { font-size: 32px !important; }
.fs-33 { font-size: 33px !important; }
.fs-34 { font-size: 34px !important; }
.fs-35 { font-size: 35px !important; }
.fs-36 { font-size: 36px !important; }
.fs-37 { font-size: 37px !important; }
.fs-38 { font-size: 38px !important; }
.fs-39 { font-size: 39px !important; }
.fs-40 { font-size: 40px !important; }
.fs-41 { font-size: 41px !important; }
.fs-42 { font-size: 42px !important; }
.fs-43 { font-size: 43px !important; }
.fs-44 { font-size: 44px !important; }
.fs-45 { font-size: 45px !important; }
.fs-46 { font-size: 46px !important; }
.fs-47 { font-size: 47px !important; }
.fs-48 { font-size: 48px !important; }
.fs-49 { font-size: 49px !important; }
.fs-50 { font-size: 50px !important; }
.fs-51 { font-size: 51px !important; }
.fs-52 { font-size: 52px !important; }
.fs-53 { font-size: 53px !important; }
.fs-54 { font-size: 54px !important; }
.fs-55 { font-size: 55px !important; }
.fs-56 { font-size: 56px !important; }
.fs-57 { font-size: 57px !important; }
.fs-58 { font-size: 58px !important; }
.fs-59 { font-size: 59px !important; }
.fs-60 { font-size: 60px !important; }
.fs-61 { font-size: 61px !important; }
.fs-62 { font-size: 62px !important; }
.fs-63 { font-size: 63px !important; }
.fs-64 { font-size: 64px !important; }
.fs-65 { font-size: 65px !important; }
.fs-66 { font-size: 66px !important; }
.fs-67 { font-size: 67px !important; }
.fs-68 { font-size: 68px !important; }
.fs-69 { font-size: 69px !important; }
.fs-70 { font-size: 70px !important; }
.fs-71 { font-size: 71px !important; }
.fs-72 { font-size: 72px !important; }
.fs-73 { font-size: 73px !important; }
.fs-74 { font-size: 74px !important; }
.fs-75 { font-size: 75px !important; }
.fs-76 { font-size: 76px !important; }
.fs-77 { font-size: 77px !important; }
.fs-78 { font-size: 78px !important; }
.fs-79 { font-size: 79px !important; }
.fs-80 { font-size: 80px !important; }
.fs-81 { font-size: 81px !important; }
.fs-82 { font-size: 82px !important; }
.fs-83 { font-size: 83px !important; }
.fs-84 { font-size: 84px !important; }
.fs-85 { font-size: 85px !important; }
.fs-86 { font-size: 86px !important; }
.fs-87 { font-size: 87px !important; }
.fs-88 { font-size: 88px !important; }
.fs-89 { font-size: 89px !important; }
.fs-90 { font-size: 90px !important; }
.fs-91 { font-size: 91px !important; }
.fs-92 { font-size: 92px !important; }
.fs-93 { font-size: 93px !important; }
.fs-94 { font-size: 94px !important; }
.fs-95 { font-size: 95px !important; }
.fs-96 { font-size: 96px !important; }
.fs-97 { font-size: 97px !important; }
.fs-98 { font-size: 98px !important; }
.fs-99 { font-size: 99px !important; }
.fs-100 { font-size: 100px !important; }
body {
  font-family: "DM Sans", sans-serif;
  background-color: #f8f9fa;
}

/* Sidebar styles */
#sidebar {
  min-height: 100vh;
  background-color:#011722;
  color: white;
  transition: all 0.3s;
  width: 250px;
  overflow-x: hidden;
}

#sidebar.collapsed {
  width: 80px;
}

#sidebar .nav-link {
	color: #adb5bd;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 15px;
	border-radius: 6px;
	transition: background 0.3s;
    font-size: 14px;
    font-weight: 500;
}
#sidebar .nav-link:hover {
	color: #fff;
}

#sidebar .nav-link.active,
#sidebar .nav-link:hover {
  background-color: #495057;
  color: white;
}

#sidebar .nav-link i {
  font-size: 1.2rem;
  min-width: 25px;
  text-align: center;
}

#sidebar .nav-text {
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display:block;
}

#sidebar.collapsed .nav-text {
	display:none;
}
#sidebar.collapsed .logoicon {
	 display:block;
}
#sidebar .logoicon {
	display:none;
}
/* Sidebar close button */
#closeSidebar {
  background: none;
  border: none;
  color: white;
  font-size: 1.5rem;
  position: absolute;
  top: 10px;
  right: 15px;
  cursor: pointer;
  display: none;
}

/* Collapse button (for desktop) */
#collapseSidebar {
  background: none;
  border: none;
  color: #adb5bd;
  font-size: 1.3rem;
  position: absolute;
  bottom: 20px;
  left: 15px;
  cursor: pointer;
  transition: color 0.2s;
}

#collapseSidebar:hover {
  color: white;
}

/* Content area */
#main-content {
  padding: 20px;
  transition: margin-left 0.3s;
}

#sidebar.collapsed + .col #main-content {
  margin-left: 80px;
}

/* Topbar */
#topbar {
	background-color: white;
	border-bottom: 1px solid #dee2e6;
	padding: 8.5px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: sticky;
    top: 0;
    z-index: 99;
}

/* Mobile behavior */
@media (max-width: 992px) {
  #sidebar {
	position: fixed !important;
	left: -250px;
	width: 250px;
	z-index: 1030;
  }
  #sidebar.active {
	left: 0;
  }
  #closeSidebar {
	display: block;
  }
  #main-content {
	margin-left: 0 !important;
	padding-top: 20px;
  }
}
.bg_profile_gradient {
    background-image: url(../../images/index_bg.jpg) !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
/* Start Accounts Sidebar Design for email User */
.profile-img {
  width: 100px;
  height: 100px;
  background-color: #e9ecef;
  border-radius: 50%;
  margin: 0 auto;
}
.offcanvas-body {
  text-align: center;
}
.help-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border-radius: 8px;
	transition: background-color 0.2s;
	font-weight: 500;
}
.help-item:hover {
	background-color: #f8f9fa;
	cursor:pointer;
}
.help-icon {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: white;
}
.help-icon.user-guide { background-color: #6f42c1; }
.help-icon.dev-guide { background-color: #7952b3; }
.help-icon.faq { background-color: #dc3545; }
.help-icon.security { background-color: #d63384; }
.help-icon.contact { background-color: #198754; }
/* End  Accounts Sidebar Design for email User */

.hover-bg {
    cursor: pointer !important;
	transition: background-color 0.2s;
}
.hover-bg:hover {
    background-color: #f2f3f4 !important;
	transition: background-color 0.2s;
}
.focus-none:focus {
	box-shadow:none;
}
.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #0000002b;
    --bs-backdrop-opacity: 0.5;
}
.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #0000002b;
}
.icon-Primary {
    width: unset;
}
.primary_tag {
    background-color: #2ebb961a;
    color: #2EBB96;
}
.profile_tags {
    position: relative;
    border-radius: 8px;
    margin-left: 0;
    margin-top: 0;
    display: inline-block;
    padding: 7px 10px;
    font-size: 16px;
    vertical-align: top;
    cursor: pointer;
}
.profile_tags:hover .tooltiptext {
    display: block;
    opacity: 1;
}
.profile_tags .tooltiptext {
    display: none;
    width: 240px;
    background-color: white;
    box-shadow: 0px 0px 10px #0000001a;
    color: black;
    border-radius: 10px;
    padding: 20px;
    position: absolute;
    z-index: 10;
    top: 0%;
    left: 100%;
    margin-left: 10px;
    opacity: 0;
    transition: opacity 0.1s;
	font-size:13px;
}
.recovery_tag {
    background-color: #fc91471a;
    color: #FC9147;
}
hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: .25;
    border-color: #ddd;
}
/* Add Event Box Styling */
.add-event-box {
	border: 2px dashed #0d6efd; /* Bootstrap primary color */
	background-color: #f8f9fa;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}

.add-event-box:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.add-event-box .event-icon {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background-color: #e7f1ff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0d6efd;
}

.add-event-box h4 {
	font-weight: 600;
}

.add-event-box p {
	font-size: 0.85rem;
}
/* Optional styling for consistency */
.eventbox {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.eventbox:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.eventbox h4 {
    font-weight: 600;
}

.eventbox p {
    font-size: 0.85rem;
}
.ck.ck-editor__main>.ck-editor__editable {
    border-color: var(--ck-color-base-border);
    height: 220px;
}
.ck-powered-by {
	display: none;;
}
.form-control:focus {
	border: 2px solid rgb(252, 90, 90) !important;
    box-shadow: none;
}
.border-bottom:focus {
	border: 0px solid rgb(252, 90, 90) !important;
	border-bottom: 2px solid rgb(252, 90, 90) !important;
}
.bg-green-success {
    background: linear-gradient(307deg, #307803, #91d90a);
}
.bg-danger-failed {
	background: linear-gradient(127deg, red, #7e0000);
}
.success-icons {
  width: 68px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 #fff;
  animation: l2 1.5s infinite linear;
  position: relative;
  margin-left: auto;
	margin-right: auto;
}
.success-icons:before,
.success-icons:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 0 #fff;
  animation: inherit;
  animation-delay: -0.5s;
}
.success-icons:after {
  animation-delay: -1s;
}
@keyframes l2 {
	100% {box-shadow: 0 0 0 40px #0000}
}
.success-icons i { 
	font-size: 45px;
	color: #007746;
}
.failed-icons {
  width: 68px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 #fff;
  animation: l2 1.5s infinite linear;
  position: relative;
  margin-left: auto;
	margin-right: auto;
}
.failed-icons:before,
.failed-icons:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 0 #fff;
  animation: inherit;
  animation-delay: -0.5s;
}
.failed-icons:after {
  animation-delay: -1s;
}
@keyframes l2 {
	100% {box-shadow: 0 0 0 40px #0000}
}
.failed-icons i { 
	font-size: 45px;
	color: red;
}
input[readonly] {
    background: #f8f9fa !important;
    border: 1px solid #ced4da !important;
    cursor: not-allowed !important;
}

input[readonly]:focus {
    outline: none !important;
    box-shadow: none !important;
	border: var(--bs-border-width) solid var(--bs-border-color) !important;
}
#profilePreview {
	width: 150px;
    height: 150px;
	border: 5px solid #fff !important;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.profile-wrapper {
    position: relative;
}
.upload-btn {
    width: 40px;
    height: 40px;
    background: #007bff;
    color: #fff;
    border-radius: 50%;
    bottom: 10px;
    right: 10px;
    position: absolute !important;
    cursor: pointer;
    border: 2px solid #fff;
}
/* Full-screen overlay */
#page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff; /* white background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Spinner */
.loader {
    border: 6px solid #f3f3f3; /* light gray */
    border-top: 6px solid #007bff; /* blue */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
}

/* Spin animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
