
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

html,
body {
    font-family: "Poppins", sans-serif;
    color: var(--bs-gray-700);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-bottom: 0 !important;
    color: var(--bs-gray-900);
}

.input-group-text {
	color: var(--bs-dark) !important;
}

label {
    color: var(--bs-gray-600);
}

.modal-title {
	color: var(--bs-gray-900);
}

select[data-default-selected="1"] {
	color: var(--bs-dark) !important;
	opacity: 1; /* Firefox */
}

p {
    color: var(--bs-gray-700) !important;
}


/** ------- scrollbars ------- **/

::-webkit-scrollbar {
    width: 0.3em;
	height: 0.3em;
}
 
::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey;
}


/** ------- placeholder ------- **/
::placeholder {
  color: var(--bs-dark) !important;
  opacity: 1; /* Firefox */
}
  
::-ms-input-placeholder { /* Edge 12 -18 */
  color: var(--bs-dark) !important;
}


/** ------- input number hide arrows ------- **/

/* Chrome, Safari, Edge, Opera */
input.hide-arrows::-webkit-outer-spin-button,
input.hide-arrows::-webkit-inner-spin-button {
	-webkit-appearance: none;
  	margin: 0;
}

/* Firefox */
/* input[type=number].hide-arrows {
	-moz-appearance: textfield;
} */

div[class*="numkey"] span {
    cursor: pointer;
}



/** ------- navbar ------- **/

nav {
	background-color: var(--bs-dark);
	color: var(--bs-light);
}

.navbar-brand {
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-size: 1rem;
    background-color:  var(--bs-dark);
    box-shadow: inset -1px 0 0  var(--bs-dark);
    display: inline;
}

.navbar-nav .dropdown-menu {
	position: absolute;
}

.navbar .navbar-toggler {
    top: .25rem;
    right: 1rem;
}

.navbar.navbar-dark {
	background-color:  var(--bs-dark);
}

nav#sidebarMenu .nav-link {
	padding: .3rem 1rem !important;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	color: var(--bs-light);
}
/* 
nav#sidebarMenu .nav-link:focus, 
nav#sidebarMenu .nav-link:hover {
	background-color: var(--bs-light);
	color: var(--bs-primary);
} */

nav#sidebarMenu .nav-item.active {
	background-color: var(--bs-primary-bg-subtle);
	color: var(--bs-primary);
}

nav#sidebarMenu .nav-item.active > a {
	color: var(--bs-primary);
}

nav#sidebarMenu .navbar-nav .dropdown-menu {
	position: absolute;
}

nav#sidebarMenu > div {
	overflow-x: hidden;
    overflow-y: scroll;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

img.logo {
    height: 30px;
}

#offcanvasLeft {
    background-color: var(--bs-emphasis-color);
}

#offcanvasLeft .offcanvas-body {
    background-color: var(--bs-emphasis-color);
}

#offcanvasLeft .offcanvas-header .btn-close {
    color: var(--bs-white) !important;
}

.navbar-container {
    height: 100vh !important;
}


/** ------- sidebar ------- **/

.sidebar {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 999;
	padding: 0;
	box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

@media (max-width: 767.98px) {
  	/* .sidebar {
    	top: 2.1rem;
  	} */
}

.sidebar-sticky {
  	position: relative;
  	top: 0;
  	height: calc(100vh - 48px);
  	padding-top: .5rem;
  	overflow-x: hidden;
  	overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
  	.sidebar-sticky {
    	position: -webkit-sticky;
    	position: sticky;
  	}
}



/** ------- main ------- **/
main {
	color: var(--bs-primary);
}


.file-item { 
    display: flex; 
    justify-content: space-between; 
    padding: 5px; 
    background: #f4f4f4; 
    margin: 5px 0; 
    border-radius: 5px; 
    font-size: 0.8rem;
}

.remove-btn { 
    color: red; 
    cursor: pointer; 
    font-weight: bold; 
}

.nav-tabs .nav-item.show .nav-link, 
.nav-tabs .nav-link.active {
    background-color: var(--bs-nav-tabs-link-active-color);
    color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color);
}

.form-control.is-invalid {
    background-image: none !important;
}



/** ------- footer ------- **/

footer {
	background-color: var(--bs-light);
}

.fixed-bottom {
    z-index: 99 !important;
}



/** ------- general navs ------- **/

.list-group-item.active {
	color: #234c72;
	font-weight: bold;
	background-color: inherit;
	border-color: inherit;
}


/** ------- utilities ------- **/

/** button sizes **/
.btn-xs {
    padding: .125rem .25rem;
    font-size: .75rem;
    line-height: 1.5;
    border-radius: .15rem;
}


/** background colors **/


/** border colors **/


/** button colors **/


/** text colors **/


/** font sizes **/
small, .fs-small {
    font-size: 80%;
    font-weight: 400;
}




/** fixed table headers **/

.fixed-header {
	overflow-y: auto;
	height: 65vh;
	margin-bottom: 5px;
	border-bottom: 1px solid var(--bs-primary);
    position: relative;
}
  
.fixed-header thead th {
	position: sticky;
	top: 0;
	z-index: 100;
}

.fixed-header-50 {
	overflow-y: auto;
	height: 50vh;
	margin-bottom: 5px;
	border-bottom: 1px solid var(--bs-primary);
}
  
.fixed-header-50 thead th {
	position: sticky;
	top: 0;
	z-index: 999;
}

.fixed-header-deleted {
	overflow-y: auto;
	height: 40vh;
	margin-bottom: 5px;
	border-bottom: 1px solid var(--bs-primary);
}
  
.fixed-header-deleted thead th {
	position: sticky;
	top: 0;
	z-index: 999;
}

@media screen and (max-width: 575.98px)
{
    .fixed-header {
		height: 60vh;
	}
}



/** select2 **/

.select2 {
	width:100% !important;
	margin-right: .5em !important;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	border-radius: 0;
	border: 1px solid #ced4da;
}

.select2.select2-container.select2-container--default.is-invalid {
    border: 1px solid var(--bs-form-invalid-border-color);
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
	font-size: .875rem;
	font-weight: 400;
    color: #495057;
}

.select2-container .select2-selection--single {
    height: 31px;
}

.select2-container .select2-selection--multiple {
	min-height: 29px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 30px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
	height: 30px;
}

.select2-container--default .select2-selection--single .select2-selection__clear,
.select2-container--default .select2-selection--multiple .select2-selection__clear {
	font-size: x-large;
	color: crimson;
}

.select2-search__field:placeholder-shown {
    width: auto !important;
}

/* .select2-container .select2-search--inline .select2-search__field {
    margin-top: 8px;
} */

@media screen and (max-width: 575.98px)
{
    .select2 {
		width:100% !important;
		margin-right: 0 !important;
		margin-bottom: .3em !important;
	}
}



/** ------- card overlay ------- **/

.card-body .overlay {
	position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0.8;
    transition: .5s ease;
    background-color: var(--bs-light);
    z-index: 999;
}


/** ------- status ------- **/
.status {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size:small;
    font-family: "Poppins", sans-serif;
    margin-bottom: 0 !important;
    cursor: pointer;
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
}

.new            { background-color: #28a745; } /* Green */
.contacted      { background-color: #ff9800; } /* Orange */
.engaged        { background-color: #007bff; } /* Blue */
.disqualified   { background-color: #ee5b17; } /* Dark Orange */
.proposal-sent  { background-color: #673ab7; } /* Purple */
.negotiation    { background-color: #FFD700; } /* Yellow */
.final-review   { background-color: #343a40; } /* Dark Gray */
.closed-won     { background-color: #4CAF50; } /* Green */
.closed-lost    { background-color: #dc3545; } /* Red */

.preDiv {
    width: 200px;
    word-wrap: break-word;
}