/*
DESKTOP: > 1440px
LAPTOP: 1024px - 1439px
TABLET: 768px - 1023px
MOBILE-L: 600px - 767px
MOBILE-S: < 599px
*/

:root {
	--border_radius: 1rem;
	--header_height: 4rem;
	--footer_height: 12rem;
	--spacing_1: 0.05rem;
	--spacing_2: 0.1rem;
	--spacing_3: 0.15rem;
	--spacing_4: 0.2rem;
	--spacing_5: 0.25rem;
	--spacing_10: 0.5rem;
	--spacing_15: 0.75rem;
	--spacing_20: 1rem;
	--spacing_25: 1.25rem;
	--spacing_30: 1.5rem;
	--spacing_35: 1.75rem;
	--spacing_40: 2rem;
	--spacing_45: 2.25rem;
	--spacing_50: 2.5rem;
	--input_height: var(--spacing_50);
	--transition: all 0.3s ease;
	--transform: translateY(calc(var(--spacing_5) * -1));
	--border_color: #d3dee6;
	--hover_color: #e4f3ff;
	--placeholder_color: #7C7C7C;
	--overlay_color: rgba(211, 222, 230, 0.7);
	--box_shadow: rgba(0, 0, 0, 0.2) 0px var(--spacing_5) var(--spacing_5) 0px;
}

* {
	outline: none;
	box-shadow: none;
	transition: var(--transition);
	box-sizing: border-box;
	min-height: unset;
	min-width: unset;
	text-shadow: none;
	text-decoration: none;
	text-overflow: ellipsis;
	float: none;
	font-family: 'arial', sans-serif;
	line-height: 1.15;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

*:active,
*:focus-within,
*:target,
*:hover,
*:focus,
*:focus-visible {
	outline: unset;
	box-shadow: unset;
}

/*-------------------- UTILITIES --------------------*/
.block {display: block;} .flex {display: flex;} .grid {display: grid;} .inline-block {display: inline-block;} .hidden {display: none;}
.relative {position: relative;} .fixed {position: fixed;} .absolute {position: absolute;}
.gap-5 {gap: var(--spacing_5);} .gap-10 {gap: var(--spacing_10);} .gap-15 {gap: var(--spacing_15);} .gap-20 {gap: var(--spacing_20);} .gap-25 {gap: var(--spacing_25);}
.gap-30 {gap: var(--spacing_30);} .gap-35 {gap: var(--spacing_35);} .gap-40 {gap: var(--spacing_40);} .gap-45 {gap: var(--spacing_45);} .gap-50 {gap: var(--spacing_50);}
.padding-0 {padding: 0;}
.padding-5 {padding: var(--spacing_5);} .padding-10 {padding: var(--spacing_10);} .padding-15 {padding: var(--spacing_15);} .padding-20 {padding: var(--spacing_20);} .padding-25 {padding: var(--spacing_25);}
.padding-30 {padding: var(--spacing_30);} .padding-35 {padding: var(--spacing_35);} .padding-40 {padding: var(--spacing_40);} .padding-45 {padding: var(--spacing_45);} .padding-50 {padding: var(--spacing_50);}
.margin-0 {margin: 0;} .margin-auto {margin: auto;}
.margin-5 {margin: var(--spacing_5);} .margin-10 {margin: var(--spacing_10);} .margin-15 {margin: var(--spacing_15);} .margin-20 {margin: var(--spacing_20);} .margin-25 {margin: var(--spacing_25);}
.margin-30 {margin: var(--spacing_30);} .margin-35 {margin: var(--spacing_35);} .margin-40 {margin: var(--spacing_40);} .margin-45 {margin: var(--spacing_45);} .margin-50 {margin: var(--spacing_50);}
.z-5 {z-index: 5000;} .z-10 {z-index: 10000;} .z-15 {z-index: 15000;} .z-20 {z-index: 20000;} .z-25 {z-index: 25000;}
.z-30 {z-index: 30000;} .z-35 {z-index: 35000;} .z-40 {z-index: 40000;} .z-45 {z-index: 45000;} .z-50 {z-index: 50000;}
.z-55 {z-index: 55000;} .z-60 {z-index: 60000;} .z-65 {z-index: 65000;} .z-70 {z-index: 70000;} .z-75 {z-index: 75000;}
.z-80 {z-index: 80000;} .z-85 {z-index: 85000;} .z-90 {z-index: 90000;} .z-95 {z-index: 95000;} .z-100 {z-index: 100000;}
.border {border: 1px solid var(--border_color);} .radius {border-radius: var(--border_radius);} .border-none {border: none;}
.bg-white {background: white;} .bg-black {background: black;} .bg-red {background: red;} .bg-green {background: green;} .bg-border {background: var(--border_color);} .bg-none {background: none;} .bg-overlay {background: var(--overlay_color);} .bg-hover:hover {background: var(--hover_color);}
.bg-1 {background: var(--color_1);} .bg-2 {background: var(--color_2);} .bg-3 {background: var(--color_3);} .bg-4 {background: var(--color_4);} .bg-5 {background: var(--color_5);}
.color-white {color: white;} .color-black {color: black;} .color-red {color: red;} .color-green {color: green;}
.color-1 {color: var(--color_1);} .color-2 {color: var(--color_2);} .color-3 {color: var(--color_3);} .color-4 {color: var(--color_4);} .color-5 {color: var(--color_5);}
.width-5p {width: 5%;} .width-10p {width: 10%;} .width-15p {width: 15%;} .width-20p {width: 20%;} .width-25p {width: 25%;}
.width-30p {width: 30%;} .width-35p {width: 35%;} .width-40p {width: 40%;} .width-45p {width: 45%;} .width-50p {width: 50%;}
.width-55p {width: 55%;} .width-60p {width: 60%;} .width-65p {width: 65%;} .width-70p {width: 70%;} .width-75p {width: 75%;}
.width-80p {width: 80%;} .width-85p {width: 85%;} .width-90p {width: 90%;} .width-95p {width: 95%;} .width-100p {width: 100%;}
.width-5v {width: 5dvw;} .width-10v {width: 10dvw;} .width-15v {width: 15dvw;} .width-20v {width: 20dvw;} .width-25v {width: 25dvw;}
.width-30v {width: 30dvw;} .width-35v {width: 35dvw;} .width-40v {width: 40dvw;} .width-45v {width: 45dvw;} .width-50v {width: 50dvw;}
.width-55v {width: 55dvw;} .width-60v {width: 60dvw;} .width-65v {width: 65dvw;} .width-70v {width: 70dvw;} .width-75v {width: 75dvw;}
.width-80v {width: 80dvw;} .width-85v {width: 85dvw;} .width-90v {width: 90dvw;} .width-95v {width: 95dvw;} .width-100v {width: 100dvw;}
.width-auto {width: auto;} .height-auto {height: auto;}
.height-5p {height: 5%;} .height-10p {height: 10%;} .height-15p {height: 15%;} .height-20p {height: 20%;} .height-25p {height: 25%;}
.height-30p {height: 30%;} .height-35p {height: 35%;} .height-40p {height: 40%;} .height-45p {height: 45%;} .height-50p {height: 50%;}
.height-55p {height: 55%;} .height-60p {height: 60%;} .height-65p {height: 65%;} .height-70p {height: 70%;} .height-75p {height: 75%;}
.height-80p {height: 80%;} .height-85p {height: 85%;} .height-90p {height: 90%;} .height-95p {height: 95%;} .height-100p {height: 100%;}
.height-5v {height: 5dvh;} .height-10v {height: 10dvh;} .height-15v {height: 15dvh;} .height-20v {height: 20dvh;} .height-25v {height: 25dvh;}
.height-30v {height: 30dvh;} .height-35v {height: 35dvh;} .height-40v {height: 40dvh;} .height-45v {height: 45dvh;} .height-50v {height: 50dvh;}
.height-55v {height: 55dvh;} .height-60v {height: 60dvh;} .height-65v {height: 65dvh;} .height-70v {height: 70dvh;} .height-75v {height: 75dvh;}
.height-80v {height: 80dvh;} .height-85v {height: 85dvh;} .height-90v {height: 90dvh;} .height-95v {height: 95dvh;} .height-100v {height: 100dvh;}
.height-header {height: var(--header_height);} .height-footer {height: var(--footer_height);} .height-input {height: var(--input_height);} .width-input {width: var(--input_height);}
.grid-1 {grid-template-columns: repeat(1, 1fr);} .grid-2 {grid-template-columns: repeat(2, 1fr);} .grid-3 {grid-template-columns: repeat(3, 1fr);} .grid-4 {grid-template-columns: repeat(4, 1fr);} .grid-5 {grid-template-columns: repeat(5, 1fr);} .grid-6 {grid-template-columns: repeat(6, 1fr);} .grid-7 {grid-template-columns: repeat(7, 1fr);} .grid-8 {grid-template-columns: repeat(8, 1fr);}
.wrap {flex-wrap: wrap;} .nowrap {flex-wrap: nowrap;} .column {flex-direction: column;} .flex-1 {flex: 1;} .row {flex-direction: row;}
.justify-center {justify-content: center;} .justify-start {justify-content: start;} .justify-end {justify-content: end;} .justify-space {justify-content: space-between;} .justify-even {justify-content: space-evenly}
.align-center {align-items: center;} .align-start {align-items: start;} .align-end {align-items: end;}
.right-0 {right: 0;} .left-0 {left: 0;} .bottom-0 {bottom: 0;} .top-0 {top: 0;} .top-header {top: var(--header_height);}
.bold {font-weight: bold;} .italic {font-style: italic;} .uppercase {text-transform: uppercase;} .lowercase {text-transform: lowercase;}
.text-center {text-align: center;} .text-start {text-align: start;} .text-end {text-align: end;}
.font-size-10 {font-size: 1rem;} .font-size-15 {font-size: 1.5rem;} .font-size-20 {font-size: 2rem;} .font-size-25 {font-size: 2.5rem;} .font-size-30 {font-size: 3rem;} .font-size-35 {font-size: 3.5rem;}
.font-size-40 {font-size: 4rem;} .font-size-45 {font-size: 4.5rem;} .font-size-50 {font-size: 5rem;} .font-size-55 {font-size: 5.5rem;} .font-size-60 {font-size: 6rem;} .font-size-65 {font-size: 6.5rem;}
.font-size-html {font-size: clamp(.9rem, calc(.9rem + 0.1vw), 1.5rem);} .text-nowrap {white-space: nowrap;}
.form-group {width: 100%;} .form-row {display: flex; gap: var(--spacing_10); width: 100%; align-items: center;} .form-column {display: flex; gap: var(--spacing_10); flex-direction: column;}
.link {color: var(--color_2); cursor: pointer;} .link:hover {color: var(--hover_color);} .nav-link {cursor: pointer;} .nav-link:hover {color: var(--hover_color);}
.square-button {height: var(--input_height); width: var(--input_height);} .circle {border-radius: 50%;} .transform:hover {transform: var(--transform);}
.pill {padding-left: var(--spacing_10); padding-right: var(--spacing_10); border-radius: 5rem;} .banner {padding-top: 3rem; padding-bottom: 3rem;}
.disabled {opacity: 0.7;} .overflow-y {overflow-y: auto;} .overflow-x {overflow-x: auto;} .overflow-none {overflow: hidden;} .overflow {overflow: auto;}
.box-shadow {box-shadow: var(--box_shadow);} .transition-none {transition: none;}

/*-------------------- SCROLLBARS --------------------*/
*:not(.show-scrollbars) {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

*:not(.show-scrollbars)::-webkit-scrollbar {
	display: none;
}

*::-webkit-scrollbar-corner {
    background: transparent;
}

*::-webkit-scrollbar {
    width: var(--spacing_20);
    height: var(--spacing_20);
}

*::-webkit-scrollbar-track {
    background: transparent;
    border-radius: var(--border_radius);
}

*::-webkit-scrollbar-thumb {
    border-radius: var(--border_radius);
    border: var(--spacing_5) solid white;
    background: var(--color_1);
}

/*-------------------- DEV MODE --------------------*/
#dev-mode-banner {
	opacity: 0.3;
	pointer-events: none;
}

/*-------------------- HEADER --------------------*/
crm-header,
header {
	border-bottom: 1px solid var(--border_color);
}

/*-------------------- FOOTER --------------------*/
footer {
	border-top: 1px solid var(--border_color);
}

#footer-disclaimer {
	top: calc(100% - 1px);
	right: 0;
}

/*-------------------- NAVIGATION --------------------*/
@media (max-width: 1023px) {	
	header nav {
		display: flex;
		align-items: center;
	}
}

footer nav #desktop-nav {
	flex-direction: column;
	justify-content: start;
	align-items: end;
	padding: 0;
	gap: var(--spacing_10);
}

@media (max-width: 1023px) {	
	.mobile-menu-toggle {
		display: flex;
	}
}

.mobile-menu-links {
	height: calc(100dvh - var(--header_height));
	padding-bottom: var(--header_height);
}

@media (max-width: 1439px) {
	#desktop-nav .crm-nav-button {
		font-size: 1rem;
	}
}

@media (max-width: 1023px) {
	#desktop-nav {
		display: none;
	}
}

.crm-notification-count {
	width: calc(var(--spacing_5) * 5);
	height: calc(var(--spacing_5) * 5);
	background: red;
	top: calc(var(--spacing_10) * -1.2);
	right: calc((var(--spacing_5) / 2) * -1);
	font-size: 0.75rem;
} @media (max-width: 1439px) {
	.crm-notification-count {
		top: calc(var(--spacing_10) * -1);
		right: calc((var(--spacing_5) / 2) * 1);
		width: calc(var(--spacing_5) * 4);
		height: calc(var(--spacing_5) * 4);
	}
}

/*-------------------- PAGES --------------------*/
.overlay-open {
	overflow: hidden;
	position: fixed;
	width: 100dvw;
	height: 100dvh;
}

.overlay,
#authSection,
#auth-spinner,
#page-content,
#accountContentContainer {
	min-height: calc(100dvh - var(--header_height));
} @media (max-width: 767px) {	
	.overlay {
		background: white;
	}
}

:has(footer) .overlay,
:has(footer) #auth-spinner,
:has(footer) #authSection,
:has(footer) #page-content {
	min-height: calc(100dvh - var(--header_height) - var(--footer_height));
}

.overlay-open .overlay,
.overlay-open #authSection,
.overlay-open #page-content {
	height: calc(100dvh - var(--header_height));
	overflow: hidden;
	min-height: unset;
}

:has(footer) .overlay-open .overlay,
:has(footer) .overlay-open #authSection,
:has(footer) .overlay-open #page-content  {
    height: calc(100dvh - var(--header_height) - var(--footer_height));
	overflow: hidden;
    min-height: unset;
}

:has(#auth-spinner.flex) .overlay {
	display: none;
}

/*-------------------- TABLES --------------------*/
table {
	font-size: 1rem;
}

/*-------------------- FORMS --------------------*/
form {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing_10);
	background: white;
	width: 100%;
}

label {
	font-weight: bold;
	text-align: left;
	font-size: 1rem;
	white-space: nowrap;
}

input {
	width: 100%;
	padding: var(--spacing_10);
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	height: var(--input_height);
	background: white;
	font-size: 1rem;
}

input:hover {
	background: var(--hover_color);
}

input:focus {
	border: 2px solid var(--color_2);
}

input::placeholder {
	color: var(--placeholder_color);
}

textarea {
	margin: 0;
	box-sizing: border-box;
	border: 1px solid var(--border_color);
	padding: var(--spacing_10);
	white-space: pre-wrap;
	border-radius: var(--border_radius);
	resize: none;
	width: 100%;
	min-height: calc(var(--input_height) * 2);
	overflow-y: hidden;
	field-sizing: content;
	box-shadow: none;
	font-size: 1rem;
}

textarea:hover {
	background: var(--hover_color);
}

textarea:focus {
	border: 2px solid var(--color_2);
}

/*-------------------- TYPOGRAPHY --------------------*/
h1 {
	margin: 0;
	font-size: 3.5rem;
	text-align: center;
	text-transform: uppercase;
	color: var(--color_2);
}

h2 {
	margin: 0;
	font-size: 3rem;
	text-align: center;
	text-transform: uppercase;
	color: var(--color_2);
}

h3 {
	margin: 0;
	font-size: 2.5rem;
	text-align: center;
	text-transform: uppercase;
	color: var(--color_2);
}

h4 {
	margin: 0;
	font-size: 2rem;
	text-align: center;
	text-transform: uppercase;
	color: var(--color_2);
}

h5 {
	margin: 0;
	font-size: 1.5rem;
	text-align: center;
	text-transform: uppercase;
	color: var(--color_2);
}

h6 {
	margin: 0;
	font-size: 1rem;
	text-align: center;
	text-transform: uppercase;
	color: var(--color_2);
}

p {
	margin: 0;
	font-size: 1rem;
}

ul,
ol {
	margin-top: var(--spacing_10);
	margin-bottom: var(--spacing_10);
	padding-left: var(--input_height);
	gap: var(--spacing_10);
	display: flex;
	flex-direction: column;
	width: 100%;
	text-align: left;
}

li {
	position: relative;
	font-size: 1rem;
}

li.has-icon {
	padding-left: var(--spacing_20);
}

hr {
	border-color: var(--border_color);
	margin: 0;
	border-top: none;
	border-left: none;
}

code {
	background: var(--border_color);
	padding: var(--spacing_5);
	border-radius: var(--border_radius);
	font-family: monospace;
	border: 1px solid var(--border_color);
	font-size: 1rem;
}

pre {
	background: var(--border_color);
	padding: var(--spacing_10);
	border-radius: var(--border_radius);
	overflow-x: auto;
	font-family: monospace;
	border: 1px solid var(--color_4);
	margin: 0;
	font-size: 1rem;
}

/*-------------------- IFRAME --------------------*/
iframe {
	overflow: hidden;
	border: none;
	border-radius: var(--border_radius);
	width: 100%;
}

/*-------------------- BUTTONS --------------------*/
.fc-direction-ltr .fc-button-group > .fc-button:not(:last-child),
.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child),
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary,
.fc .fc-button,
.ql-snow.ql-toolbar button,
button:not(nav button) {
	padding: var(--spacing_10);
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	cursor: pointer;
	width: 100%;
	height: var(--input_height);
	background: var(--color_2);
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	text-align: center;
	color: white;
	text-transform: uppercase;
	font-size: 1.5rem;
	text-decoration: none;
} @media (max-width: 1439px) {
	.fc-direction-ltr .fc-button-group > .fc-button:not(:last-child),
	.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child),
	.fc .fc-button-primary:not(:disabled).fc-button-active,
	.fc .fc-button-primary,
	.fc .fc-button,
	.ql-snow.ql-toolbar button,
	button:not(nav button) {
		font-size: 1rem;
	}
}

button:not(nav button):hover {
	background: var(--hover_color) !important;
	border: 1px solid var(--border_color) !important;
	color: white !important;
}

button:disabled {
	background: none !important;
	pointer-events: none !important;
	color: var(--color_2) !important;
	opacity: 0.7 !important;
	border: 1px solid var(--border_color) !important;
}

.ql-snow.ql-toolbar button:focus {
	color: white !important;
}

@media (max-width: 767px) {
	.lead-nav-button {
		border-radius: 0 !important;
		border: none !important;
		border-bottom: 1px solid var(--border_color) !important;
	}
}

.ql-snow.ql-toolbar button:disabled,
.lead-nav-button:disabled {
	background: var(--color_2) !important;
} @media (max-width: 767px) {
	.lead-nav-button:disabled {
		border: none !important;
		border-bottom: 1px solid var(--border_color) !important;
	}
}

#pagination button.active {
	background: var(--color_2) !important;
	color: var(--color_1) !important;
}

.legal-nav-link button {
	border: var(--spacing_3) solid var(--color_1) !important;
}

.legal-nav-link button:hover {
	border-color: var(--color_1) !important;
}

/*-------------------- TABS --------------------*/
.tabs {
	display: flex;
	justify-content: center;
	cursor: pointer;
	overflow: hidden;
	height: var(--header_height);
	border-top-left-radius: var(--border_radius);
	border-top-right-radius: var(--border_radius);
	border-top: 1px solid var(--border_color);
	border-right: 1px solid var(--border_color);
	border-left: 1px solid var(--border_color);
} @media (max-width: 767px) {	
	.tabs {
		border-radius: 0;
		border-top: none;
	}
}

.tab {
	padding: var(--spacing_10);
	background: var(--border_color);
	cursor: pointer;
	display: flex;
	justify-content: center;
	text-align: center;
	width: 100%;
	align-items: center;
	color: var(--color_2);
	font-size: 1.5rem;
	font-weight: bold;
	text-transform: uppercase;
} @media (max-width: 1439px) {
	.tab {
		font-size: 1rem;
	}
}

.tab:not(.tab.active):hover {
	background: var(--hover_color);
}

.tab.active {
	background: white;
}

/*-------------------- DROPDOWNS --------------------*/
.custom-dropdown {
	width: 100%;
	padding: var(--spacing_10);
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	font-size: 1rem;
	text-align: left;
	position: relative;
	background: white;
	cursor: pointer;
	overflow: visible;
	display: flex;
	align-items: center;
	min-height: var(--input_height);
}

.custom-dropdown:hover {
	background: var(--hover_color);
}

.dropdown-selected {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	position: relative;
	overflow: visible;
	white-space: normal;
	word-wrap: break-word;
	cursor: pointer;
	font-weight: normal;
	color: #7C7C7C;
	font-size: 1rem;
    overflow-wrap: anywhere;
}

.dropdown-selected.active {
	color: black;
}

.dropdown-options {
	position: absolute;
	left: -2px;
	width: calc(100% + 4px);
	background: white;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	display: none;
	z-index: 20000;
	top: 0;
	overflow-y: auto;
}

.modal-content .dropdown-options {
	position: fixed;
}

.dropdown-open {
	display: block;
}

.custom-dropdown:has(.dropdown-open) {
    border-top: 2px solid var(--color_2);
	border-left: 2px solid var(--color_2);
	border-right: 2px solid var(--color_2);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.custom-dropdown .dropdown-open {
    border-bottom: 2px solid var(--color_2);
	border-left: 2px solid var(--color_2);
	border-right: 2px solid var(--color_2);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.custom-dropdown.dropdown-above:has(.dropdown-open) {
    border-top: none;
	border-bottom: 2px solid var(--color_2);
	border-left: 2px solid var(--color_2);
	border-right: 2px solid var(--color_2);
    border-bottom-left-radius: var(--border_radius);
    border-bottom-right-radius: var(--border_radius);
	border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.custom-dropdown.dropdown-above .dropdown-open {
    border-bottom: none;
	border-top: 2px solid var(--color_2);
	border-left: 2px solid var(--color_2);
	border-right: 2px solid var(--color_2);
    border-top-left-radius: var(--border_radius);
    border-top-right-radius: var(--border_radius);
	border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.dropdown-options .virtual-scroll-container {
	overflow-y: auto;
	max-height: calc(var(--spacing_10) * 30);
}

.virtual-scroll-option {
	position: relative;
	width: 100%;
	min-height: var(--input_height);
	overflow: visible;
	border-bottom: 1px solid var(--border_color);
}

.virtual-scroll-sentinel {
	height: 1px;
	visibility: hidden;
	pointer-events: none;
}

.dropdown-option {
	padding: var(--spacing_10);
	text-align: left;
	cursor: pointer;
	font-size: 1rem;
	align-items: center;
	gap: var(--spacing_5);
	display: flex;
	width: 100%;
	white-space: normal;
    overflow-wrap: anywhere;
	border-bottom: 1px solid var(--border_color);
}

.dropdown-options input {
	border-radius: 0;
	border: none;
	border-bottom: 1px solid var(--border_color);
}

.dropdown-option:hover {
	background: var(--hover_color);
}

.autocomplete-list {
	position: absolute;
	background: white;
	border: 1px solid var(--border_color);
	overflow-y: auto;
}

/*-------------------- CUSTOM CHECKBOXES --------------------*/
.custom-checkbox {
	display: inline-block;
	position: relative;
	height: var(--spacing_25);
	aspect-ratio: 1 / 1;
}

.custom-checkbox input {
	display: none;
}

.custom-checkbox .checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: calc(var(--input_height) / 2);
	aspect-ratio: 1 / 1;
	background: white;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	cursor: pointer;
}

.custom-checkbox .checkmark:hover {
	background: var(--hover_color);
}

.custom-checkbox input:checked + .checkmark {
	background: var(--color_2);
	border-color: var(--color_2);
}

.custom-checkbox .checkmark::after {
	content: "";
	position: absolute;
	display: none;
}

.custom-checkbox input:checked + .checkmark::after {
	display: block;
}

/*-------------------- VIEWS --------------------*/
@media (max-width: 1023px) {
	#view-people {
		padding: 0;
	}
	
	#view-inbox {
		height: calc(100dvh - (var(--header_height) * 2));
	}
	
	#view-calendar {
		height: calc(100dvh - (var(--header_height) * 2));
	}

	#view-profile {
		height: calc(100dvh - (var(--header_height) * 2) - var(--input_height) - var(--spacing_10));
		margin-top: calc(var(--input_height) + var(--spacing_10));
	}
	
	#view-tools {
		height: calc(100dvh - var(--header_height));
	}
} @media (max-width: 767px) {
	#view-profile {
		padding: 0;
		height: calc(100dvh - (var(--header_height) * 2) - var(--input_height));
		margin-top: var(--input_height);
	}
	
	#view-settings,
	#view-calendar,
	#view-tools,
	#view-inbox,
	#view-deals {
		padding: 0;
	}
}

/*-------------------- LOADING OVERLAY --------------------*/
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.spinner {
	border: var(--spacing_10) solid white;
	border-top: var(--spacing_10) solid;
	border-top-color: var(--color_2);
	aspect-ratio: 1 / 1;
	animation: spin 1s linear infinite;
} @media (max-width: 1023px) {	
	.spinner {
		width: 20dvw;
	}
} @media (max-width: 767px) {	
	.spinner {
		width: 30dvw;
	}
}

/*-------------------- VIEW LAYOUT HEIGHTS --------------------*/
#lead-list-container,
#lead-profile,
#calendar-view-layout,
#deals-view-layout,
#inbox-layout,
#tools-column,
#crm-settings-column {
	height: calc(100dvh - var(--header_height) - var(--spacing_20));
} @media (max-width: 1439px) {	
	#calendar-view-layout {
		height: calc(100dvh - (var(--header_height) * 2) - var(--spacing_20));
	}
} @media (max-width: 1023px) {	
	#lead-list-container,
	#lead-profile,
	#calendar-view-layout,
	#inbox-layout,
	#tools-column,
	#crm-settings-column {
		height: auto;
	}
} @media (max-width: 767px) {	
	#deals-view-layout {
		height: calc(100dvh - var(--header_height));
	}
	
	#calendar-view-layout {
		height: calc(100dvh - (var(--header_height) * 2));
	}
}

.leads-column {
	height: calc(100dvh - var(--header_height) - var(--spacing_20));
} @media (max-width: 1023px) {	
	.leads-column {
		height: 100dvh;
	}
} @media (max-width: 767px) {	
	.leads-column {
		gap: 0;
	}
}

/*-------------------- CALL UI ACTIVE HEIGHT OVERRIDES --------------------*/
.call-ui-active #lead-list-container,
.call-ui-active #lead-profile,
.call-ui-active #calendar-view-layout,
.call-ui-active #deals-view-layout,
.call-ui-active #inbox-layout,
.call-ui-active #tools-column,
.call-ui-active #crm-settings-column {
	height: calc(100dvh - var(--header_height) - var(--header_height) - (var(--spacing_10) * 3));
} @media (max-width: 1023px) {	
	.call-ui-active #lead-list-container,
	.call-ui-active #lead-profile,
	.call-ui-active #calendar-view-layout,
	.call-ui-active #deals-view-layout,
	.call-ui-active #inbox-layout,
	.call-ui-active #tools-column,
	.call-ui-active #crm-settings-column {
		height: auto;
	}
}

.call-ui-active .leads-column {
	height: calc(100dvh - (var(--header_height) * 2) - (var(--spacing_10) * 3));
} @media (max-width: 1023px) {	
	.call-ui-active .leads-column {
		height: auto;
	}
}

/*-------------------- PEOPLE VIEW --------------------*/
@media (max-width: 1023px) {	
	.lead-layout {
		flex-direction: column;
		height: auto;
	}
} @media (max-width: 767px) {	
	.lead-layout {
		gap: 0;
	}
}

#lead-sidebar {
	overflow-y: auto;
} @media (max-width: 1023px) {	
	#lead-sidebar {
		width: 100%;
		height: auto;
	}
} @media (max-width: 767px) {	
	#lead-sidebar {
		overflow: visible;
	}
}

@media (max-width: 1023px) {	
	#lead-filter-form {
		padding: var(--spacing_10);
		padding-bottom: 0;
	}
}@media (max-width: 767px) {	
	#lead-filter-form {
		padding: 0;
		gap: 0;
	}
}

@media (max-width: 1023px) {	
	.leads-column {
		width: 100%;
	}
}

@media (max-width: 1023px) {	
	.scrollbar-gutter {
		border-radius: 0;
		border: none;
		border-top: 1px solid var(--border_color);
		padding: 0;
	}
}

#lead-table-container {
	scrollbar-gutter: stable;
	scroll-snap-type: y mandatory;
} @media (max-width: 1023px) {	
	#lead-table-container {
		border-radius: 0;
	}
}

#lead-list {
	border-collapse: separate;
	border-spacing: 0;
}

#lead-list tr {
	height: var(--header_height);
}

#lead-list thead th {
	position: sticky;
    top: 0;
    background: white;
    z-index: 2;
	border: 1px solid var(--border_color);
	border-bottom: none;
	padding: var(--spacing_10);
	text-align: left;
	height: var(--header_height);
	white-space: nowrap;
	font-weight: bold;
	cursor: pointer;
	border-left: none;
	border-right: none;
	color: var(--color_2);
}

#lead-list thead th:hover {
	background: var(--hover_color);
}

#lead-list thead th:last-child {
	border-right: 1px solid var(--border_color);
}

#lead-list tbody tr {
	scroll-snap-align: start;
    scroll-snap-stop: always;
	scroll-margin-top: var(--header_height);
}

#lead-list tbody td {
	border-top: 1px solid var(--border_color);
	border-left: none;
	border-right: none;
	border-bottom: none;
	padding: var(--spacing_10);
	text-align: left;
	height: var(--header_height);
	white-space: nowrap;
}

#lead-list tbody td:last-child {
	border-right: 1px solid var(--border_color);
}

#lead-list tbody tr:last-child td {
	border-bottom: 1px solid var(--border_color);
}

#lead-list th,
#lead-list td {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

#lead-list th:first-child,
#lead-list td:first-child {
	border-left: none;
}

#lead-list th:last-child {
	border-right: none;
}

#lead-list tr:first-child th {
	border-top: none;
}

#lead-list tbody tr:hover {
	background: var(--hover_color);
	cursor: pointer;
}

#lead-list thead th.sorted {
	background: var(--hover_color);
}

#lead-list thead th.sorted::after {
	content: attr(data-sort-icon);
	position: absolute;
	right: var(--spacing_5);
}

#lead-list .dropdown-selected {
	white-space: unset;
}

/*-------------------- BULK UPLOAD --------------------*/
@media (max-width: 1023px) {	
	#bulk-actions {
		padding-left: var(--spacing_10);
		padding-right: var(--spacing_10);
	}
} @media (max-width: 767px) {	
	#bulk-actions {
		flex-wrap: wrap;
		padding: var(--spacing_10);
	}
}

@media (max-width: 767px) {	
	#bulk-actions button {
		flex: 1 1 calc(20% - var(--spacing_10) * 4 / 5);
		min-width: calc(20% - var(--spacing_10) * 4 / 5);
	}
}

/*-------------------- LEAD PROFILE --------------------*/
.wishlist-list {
	margin-left: var(--spacing_20);
	list-style-type: disc;
}

@media (max-width: 767px) {	
	.lead-section.delete-lead-1 {
		display: none;
	}

	.lead-section.delete-lead-2 {
		display: flex;
	}
}

#lead-profile {
	overflow-y: auto;
} @media (max-width: 767px) {	
	#lead-profile {
		flex-direction: column;
	}
}

.lead-profile-indicator {
	white-space: nowrap;
} @media (max-width: 767px) {
	.lead-profile-indicator {
		border-radius: 0;
		border-top: none;
	}
}

@media (max-width: 1439px) {	
	#lead-profile .left-column,
	#lead-profile .right-column {
		width: calc(100% * 17 / 60);
	}
} @media (max-width: 1023px) {	
	#lead-profile .left-column,
	#lead-profile .right-column {
		width: 50%;
	}
} @media (max-width: 767px) {
	#lead-profile .left-column,
	#lead-profile .right-column {
		width: 100%;
		gap: 0;
	}
	
	#lead-profile .right-column {
		margin-top: calc(var(--spacing_10) * -1);
	}
}

@media (max-width: 1439px) {	
	#lead-profile .center-column {
		width: calc(100% * 13 / 30);
	}
} @media (max-width: 1023px) {	
	#lead-profile .center-column {
		display: none;
		width: 100%;
	}
} @media (max-width: 767px) {	
	#lead-profile .center-column {
		gap: 0;
	}
}

@media (max-width: 1023px) {	
	.lead-profile-mobile-tabs {
		position: fixed;
		bottom: 0;
		right: 0;
		width: 100%;
		height: var(--header_height);
		background: var(--border_color);
		border-top: 1px solid var(--border_color);
		display: flex;
	}
}

@media (max-width: 1023px) {	
	.lead-profile-mobile-tabs .mobile-tab.active {
		background: white;
	}
	
	.communication-tab-active #lead-profile .left-column,
	.communication-tab-active #lead-profile .right-column {
		display: none;
	}
	
	.communication-tab-active #lead-profile .center-column {
		display: flex;
	}
} @media (max-width: 767px) {	
	.lead-profile-mobile-tabs .mobile-tab {
		font-size: 1rem;
	}
}

#lead-properties .field-group > div {
	border-radius: var(--border_radius);
	border: 1px solid var(--border_color);
	padding: var(--spacing_5);
}

#lead-timeline {
	overflow-y: auto;
	overflow-x: hidden;
	flex-shrink: 0;
	max-height: 100dvh;
} @media (max-width: 767px) {
	#lead-timeline {
		gap: 0;
	}
}

@media (max-width: 767px) {
	#lead-forwarding-address-container {
		border: none;
		border-bottom: 1px solid var(--border_color);
		border-radius: 0;
	}
}

.timeline-attachments {
	margin-top: var(--spacing_5);
}

.lead-section {
	overflow: hidden;
	flex-shrink: 0;
} @media (max-width: 1023px) {	
	.lead-nav {
		position: fixed;
		border-radius: 0;
		top: var(--header_height);
		right: 0;
		padding-top: var(--spacing_10);
		padding-left: var(--spacing_10);
		padding-right: var(--spacing_10);
	}

	.lead-section.lead-navigation-2 {
		display: flex;
	}
} @media (max-width: 767px) {
	.lead-section {
		border-left: none;
		border-right: none;
		border-radius: 0;
		border-top: none;
	}
	
	.lead-section.lead-nav {
		padding: 0;
		gap: 0;
	}
}

#lead-shared-users-list > * {
	padding: var(--spacing_5);
}

.field-group {
	font-size: 1rem;
	padding: var(--spacing_5);
	width: 100%;
} @media (max-width: 1439px) {
	.field-group {
		font-size: 0.8rem;
	}
} @media (max-width: 1023px) {
	.field-group {
		font-size: 1rem;
	}
}

#lead-properties-list .address-field-group,
#lead-name-display .field-group,
#lead-phones .field-group,
#lead-phones .phone-field-group,
#lead-emails .field-group,
#lead-emails .email-field-group {
	font-weight: bold;
}

#lead-properties-list .dropdown-option {
	font-weight: normal;
}

#lead-properties .field-group,
#lead-emails .field-group,
#lead-emails .email-field-group,
#lead-phones .field-group,
#lead-phones .phone-field-group {
	cursor: pointer;
}

.edit-container {
	justify-content: space-between;
	background: var(--border_color);
	cursor: pointer;
	height: calc(var(--spacing_10) * 3);
}

.edit-container:hover {
	background: var(--hover_color);
}

.edit-container > span {
	color: var(--color_2);
}

.tag-container {
	flex-wrap: wrap;
	margin-top: var(--spacing_5);
}

#lead-profile .task-name {
	white-space: nowrap;
}

@media (max-width: 1439px) {
	#lead-profile .task-entry,
	#lead-profile .lead-file-row {
		font-size: 0.8rem;
	}
} @media (max-width: 1023px) {
	#lead-profile .task-entry,
	#lead-profile .lead-file-row {
		font-size: 1rem;
	}
}

#lead-profile .task-due,
#lead-profile .appointment-due {
	font-weight: bold;
	white-space: nowrap;
}

#lead-profile .task-due-nodate {
	color: red;
}

.timeline-entry {
	max-height: var(--footer_height);
	overflow: hidden;
	cursor: pointer;
	flex-shrink: 0;
} @media (max-width: 767px) {
	.timeline-entry {
		border: none;
		border-bottom: 1px solid var(--border_color);
		border-radius: 0;
	}
}

.timeline-entry.expanded {
	max-height: unset;
}

.timeline-entry:hover {
	background: var(--hover_color);
}

.timeline-message img {
	width: calc(var(--input_height) * 5);
}

.timeline-message .listing-link {
	color: var(--color_2);
}

.timeline-message .listing-link:hover {
	color: var(--hover_color);
}

.linked-lead-btn {
	height: auto;
	padding: 0;
}

#lead-logcall-message,
#lead-text-message,
#lead-note-message {
	height: calc(var(--input_height) * 2);
}

.timeline-entry-wrap {
	flex: 1;
	min-width: 0;
}

.timeline-entry-wrap * {
	font-size: 1rem !important;
}

.timeline-entry-wrap > strong {
	text-decoration: underline;
}

.timeline-message {
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  width: 100%;
}

.timeline-message span {
	color: var(--color_1);
	font-style: italic;
	font-size: .75rem;
}

.timeline-message > div:nth-child(1) > div,
.timeline-message > div.gmail_quote.gmail_quote_container {
	display: none;
}


#lead-com-actions {
	gap: var(--spacing_10);
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

#lead-com-actions .active-tab-content {
	gap: var(--spacing_10);
	flex-direction: column;
}

.appointment-name {
	font-weight: bold;
}

.listing-address-text {
	width: fit-content;
}


#page-views-list .field-group strong {
	color: green;
}

#page-views-list a {
	width: 100%;
}

.page-view-item {
	overflow-wrap: break-word;
}

/*-------------------- LEAD FILTERS --------------------*/
@media (max-width: 767px) {
	#lead-stats {
		padding: 0;
		gap: 0;
	}
}

#lead-stats > *:not(#test-user-limit-indicator) {
	width: calc((100% / 3) - (var(--spacing_10) * (2 / 3)));
} @media (max-width: 1023px) {
	#lead-stats > * {
		gap: 0;
	}
} @media (max-width: 767px) {
	#lead-stats > * {
		border: none;
		border-radius: 0;
		height: auto;
	}
	
	#lead-stats > *:not(#test-user-limit-indicator) {
		width: calc(100% / 3);
		border-right: 1px solid var(--border_color);
		border-bottom: 1px solid var(--border_color);
	}
	
	#lead-stats #lead-total-count {
		border-right: none;
	}
	
	#lead-stats #test-user-limit-indicator {
		border-bottom: 1px solid var(--border_color);
	}
}

#test-user-limit-indicator.danger {
	background: red;
}

#test-user-limit-indicator.warning {
	background: orange;
}

#filters-container {
	border-radius: var(--border_radius);
	border: 1px solid var(--border_color);
	overflow-y: auto;
} @media (max-width: 1023px) {
	#filters-container {
		height: auto;
	}
} @media (max-width: 767px) {
	#filters-container {
		border: none;
		border-radius: 0;
		padding: 0;
		gap: 0;
	}
}

.filter-column,
.save-filter-column {
	background: var(--border_color);
} @media (max-width: 767px) {
	.save-filter-column,
	.filter-column {
		border: none;
		border-bottom: 1px solid var(--border_color);
		border-radius: 0;
	}
}

#filter-save-name {
	margin-bottom: 0;
}

#saved-filters-options .dropdown-option {
	justify-content: space-between;
}

/*-------------------- FLATPICKR --------------------*/
.flatpickr-current-month {
	padding: 0 !important;
}

.flatpickr-calendar {
	max-height: unset !important;
	line-height: unset !important;
	font-size: unset !important;
	box-shadow: unset !important;
	border: 1px solid var(--border_color) !important;
}

.numInput.flatpickr-hour,
.numInput.flatpickr-minute {
	margin: 0 !important;
	border: none !important;
}

.flatpickr-monthDropdown-months {
	margin: 0 !important;
	border: none !important;
	padding: 0 !important;
	text-align: center !important;
}

.flatpickr-monthDropdown-months {
	pointer-events: none !important;
	border: none !important;
}

.numInputWrapper .arrowDown,
.numInputWrapper .arrowUp {
	display: none !important;
}

/*-------------------- LEAD FILES --------------------*/
.lead-file-row {
	justify-content: space-between;
	height: calc(var(--input_height) * 0.7);
}

/*-------------------- CALENDAR VIEW --------------------*/
@media (max-width: 1023px) {	
	#calendar-view-layout {
		flex-direction: column;
	}
}

#calendar-view-layout .right-column,
#calendar-view-layout .left-column {
	width: 25%;
} @media (max-width: 1439px) {
	#calendar-view-layout .left-column {
		width: 100%;
		height: auto;
		width: calc(50% - var(--spacing_5));
	}
	
	#calendar-view-layout .right-column {
		width: 100%;
		width: calc(50% - var(--spacing_5));
		height: auto;
	}
} @media (max-width: 1023px) {
	#calendar-view-layout .left-column {
		width: 100%;
	}
	
	#calendar-view-layout .right-column {
		width: 100%;
		display: none;
	}
} @media (max-width: 1023px) {
	#calendar-view-layout .left-column,
	#calendar-view-layout .right-column {
		height: 100%;
	}
}

#calendar-view-layout .center-column {
	width: 50%;
} @media (max-width: 1439px) {
	#calendar-view-layout .center-column {
		width: 100%;
		display: none;
	}
}

.calendar-mobile-tabs {
} @media (max-width: 1439px) {
	.calendar-mobile-tabs {
		position: fixed;
		bottom: 0;
		right: 0;
		width: 100%;
		height: var(--header_height);
		background: var(--border_color);
		border-top: 1px solid var(--border_color);
		display: flex;
	}
}

.calendar-mobile-tabs .mobile-tab {
	cursor: pointer;
} @media (max-width: 1439px) {	
	.calendar-mobile-tabs .mobile-tab.active {
		background: white;
	}
	
	.calendar-mobile-tabs .mobile-tab.three-tab,
	.calendar-tab-active #calendar-view-layout .left-column,
	.calendar-tab-active #calendar-view-layout .right-column,
	.tasks-appointments-tab-active #calendar-view-layout .center-column {
		display: none;
	}
	
	.tasks-appointments-tab-active #calendar-view-layout .left-column,
	.tasks-appointments-tab-active #calendar-view-layout .right-column,
	.calendar-tab-active #calendar-view-layout .center-column {
		display: flex;
	}
} @media (max-width: 1023px) {	
	.appointments-tab-active #calendar-view-layout .left-column,
	.appointments-tab-active #calendar-view-layout .center-column,
	.calendar-tab-active #calendar-view-layout .left-column,
	.calendar-tab-active #calendar-view-layout .right-column,
	.tasks-tab-active #calendar-view-layout .center-column,
	.tasks-tab-active #calendar-view-layout .right-column {
		display: none;
	}
	
	.calendar-tab-active #calendar-view-layout .center-column,
	.appointments-tab-active #calendar-view-layout .right-column,
	.tasks-tab-active #calendar-view-layout .left-column {
		display: flex;
	}
} @media (max-width: 767px) {	
	.calendar-mobile-tabs .mobile-tab {
		font-size: 1rem;
	}
}

#tab-completed-tasks,
#tab-current-tasks,
#tab-current-appointments,
#tab-past-appointments {
	font-size: 1rem;
} @media (max-width: 1439px) {
	#tab-completed-tasks,
	#tab-current-tasks,
	#tab-current-appointments,
	#tab-past-appointments {
		font-size: 0.8rem;
	}
} @media (max-width: 1023px) {
	#tab-completed-tasks,
	#tab-current-tasks,
	#tab-current-appointments,
	#tab-past-appointments {
		font-size: 1rem;
	}
}

#calendar-view-layout .tasks-tabbed-section,
#calendar-view-layout .appointments-tabbed-section {
	height: 100%;
	width: 100%;
}

#calendar-view-layout .tasks-tab-content,
#calendar-view-layout .appointments-tab-content {
	flex-direction: column;
	gap: var(--spacing_5);
	background: white;
	border-bottom-left-radius: var(--border_radius);
	border-bottom-right-radius: var(--border_radius);
	padding: var(--spacing_10);
	overflow-y: auto;
	height: calc(100% - var(--header_height));
	width: 100%;
	border-bottom: 1px solid var(--border_color);
	border-right: 1px solid var(--border_color);
	border-left: 1px solid var(--border_color);
} @media (max-width: 1023px) {
	#calendar-view-layout .tasks-tab-content,
	#calendar-view-layout .appointments-tab-content {
		height: calc(100% - var(--header_height));
	}
} @media (max-width: 767px) {
	#calendar-view-layout .tasks-tab-content,
	#calendar-view-layout .appointments-tab-content {
		height: calc(100% - var(--header_height));
		border-radius: 0;
		border: none;
	}
}

#calendar-view-layout .calendar-section {
	overflow-y: hidden;
} @media (max-width: 767px) {
	#calendar-view-layout .calendar-section {
		border-radius: 0;
		border: none;
	}
}

/* Default text display for larger screens */
.calendar-mobile-tabs .mobile-tab .tab-text-short {
} @media (max-width: 767px) {
	.calendar-mobile-tabs .mobile-tab.three-tab .tab-text-short {
		display: block;
	}
}

.calendar-mobile-tabs .mobile-tab .tab-text-full {
} @media (max-width: 767px) {
	.calendar-mobile-tabs .mobile-tab.three-tab .tab-text-full {
		display: none;
	}
}

#full-calendar {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	height: 100% !important;
}

.fc .fc-scrollgrid-section-body table,
.fc .fc-daygrid-body,
.fc .fc-scroller-liquid-absolute {
	height: 100% !important;
}

#full-calendar *:not(.event-dot):not(.fc-event) {
	width: 100% !important;
}

.fc-view-harness,
.fc .fc-scrollgrid,
.fc .fc-view-harness-active > .fc-view {
	border-radius: var(--border_radius) !important;
	overflow: hidden !important;
}

.fc .fc-scrollgrid tr,
.fc .fc-scrollgrid thead,
.fc .fc-scrollgrid th {
	border-top-right-radius: var(--border_radius) !important;
	border-top-left-radius: var(--border_radius) !important;
	overflow: hidden !important;
}

.fc .fc-scrollgrid tbody,
.fc .fc-scrollgrid tr,
.fc .fc-scrollgrid td {
	border-bottom-right-radius: var(--border_radius) !important;
	border-bottom-left-radius: var(--border_radius) !important;
	overflow: hidden !important;
}

.fc-header-toolbar {
	margin-bottom: var(--spacing_10) !important;
}

.fc-daygrid-day-top {
	background: var(--border_color) !important;
}

.fc-button-group {
	gap: var(--spacing_10) !important;
}

.fc-event {
	padding: var(--spacing_5) !important;
	border-radius: var(--border_radius) !important;
	margin: 0 !important;
	background: none !important;
	border: none !important;
	overflow: hidden !important;
	margin-left: var(--spacing_5) !important;
	margin-right: var(--spacing_5) !important;
	width: calc(100% - var(--spacing_10)) !important;
}

.fc-event:hover {
	background: var(--border_color) !important;
	border: none !important;
	overflow: hidden !important;
}

.fc-event-title,
.fc-event-title-container {
	white-space: normal !important;
	word-break: break-word !important;
	color: black !important;
	font-weight: bold !important;
	padding: 0 !important;
}

.fc-header-toolbar .fc-toolbar-chunk {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--spacing_10) !important;
}

.fc-toolbar {
	margin-bottom: var(--spacing_10) !important;
} @media (max-width: 767px) {
	.fc-toolbar {
		flex-wrap: wrap !important;
		gap: var(--spacing_10) !important;
	}
}

.fc-toolbar button {
	margin: 0 !important;
}

.fc-header-toolbar .fc-button-group {
	display: flex !important;
	align-items: center !important;
	gap: var(--spacing_10) !important;
}

.fc-header-toolbar > *:last-child {
  justify-content: right !important;
}

#fc-dom-1 {
	margin: 0 !important;
	font-size: 1rem !important;
}

.fc .fc-button-primary:focus {
	box-shadow: none !important;
}

.fc-event-time {
	display: none !important;
}

.event-dot {
	display: inline-block !important;
	width: var(--spacing_10) !important;
	height: var(--spacing_10) !important;
	line-height: var(--spacing_10) !important;
	border-radius: 50% !important;
	margin: 0 !important;
	margin-right: var(--spacing_5) !important;
	vertical-align: middle !important;
	border: none !important;
	flex-shrink: unset !important;
}

.calendar-event-item {
	display: flex !important;
	align-items: center !important;
}

#calendar-view-layout .task-row,
#calendar-view-layout .appointment-row {
	height: calc((1.15rem * 2) + (var(--spacing_10) * 3) - 2px);
}

#calendar-view-layout .appointment-entry,
#calendar-view-layout .task-entry {
	justify-content: space-between;
	white-space: nowrap;
	width: calc(100% - var(--input_height) - (var(--spacing_10) * 4) - 4px);
}

#calendar-view-layout .appointment-entry {
	width: calc(100% - var(--input_height) - var(--spacing_10));
}

#calendar-view-layout .task-due-nodate {
	color: red;
}

#calendar-view-layout .appointment-name-date,
#calendar-view-layout .task-name-date {
	justify-content: space-between;
	gap: var(--spacing_10);
}

#calendar-view-layout .task-name,
#calendar-view-layout .appointment-name {
	overflow: hidden;
}

/*-------------------- DEALS VIEW --------------------*/
#deals-view-layout {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.deals-column {
	width: 20%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
} @media (max-width: 1439px) {
	.deals-column {
		flex: 0 0 calc((100% / 3) - (var(--spacing_10) * (2 / 3)));
		margin-bottom: var(--spacing_10);
	}
} @media (max-width: 1023px) {
	.deals-column {
		flex: 0 0 calc(50% - var(--spacing_5));
	}
} @media (max-width: 767px) {
	.deals-column {
		flex: 0 0 100%;
		border-radius: 0;
		border-top: none;
		margin: 0;
	}
}

.deals-list {
	scroll-snap-type: y mandatory;
	overflow-y: auto;
}

.deal-card {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.deal-edit-btn {
	margin-top: var(--spacing_10);
}

.deals-summary-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--spacing_10);
	padding: 0;
}

/*-------------------- INBOX VIEW --------------------*/
@media (max-width: 1023px) {	
	#inbox-layout {
		flex-direction: column;
	}
}

.inbox-preview-list {
	width: 30%;
	overflow-y: auto;
} @media (max-width: 1023px) {	
	.inbox-preview-list {
		width: 100%;
	}
} @media (max-width: 767px) {
	.inbox-preview-list {
		border-radius: 0;
		border: none;
	}
}

.inbox-preview-items {
	list-style: none;
	margin: 0;
	padding: 0;
}

#inbox-preview-empty {
	padding: var(--spacing_10);
}

.inbox-preview-item {
	cursor: pointer;
	margin: 0;
}

.inbox-preview-item.selected,
.inbox-preview-item:hover {
	background: var(--hover_color);
}

.inbox-preview-type {
	color: var(--color_1);
	font-weight: bold;
}

.inbox-preview-from {
	font-weight: bold;
	color: black;
}

.inbox-preview-snippet {
	color: var(--color_2);
	overflow: hidden;
}

.inbox-preview-time {
	color: var(--color_1);
	align-self: flex-end;
	font-style: italic;
	font-size: .75rem;
}

.inbox-message-detail {
	width: 70%;
	overflow-y: auto;
} @media (max-width: 1023px) {	
	.inbox-message-detail {
		width: 100%;
		display: none;
	}
} @media (max-width: 767px) {
	.inbox-message-detail {
		border-radius: 0;
		border: none;
	}
}

.message-detail-header {
	justify-content: space-between;
}

.inbox-message-content {
	padding-bottom: 0;
	height: auto;
}

.inbox-message-sent {
	margin-top: var(--spacing_10);
}

#inbox-email-editor {
	border: 1px solid var(--border_color);
	border-bottom-right-radius: var(--border_radius);
	border-bottom-left-radius: var(--border_radius);
	overflow-y: auto;
}

.message-attachments {
	margin-top: var(--spacing_10);
}

.attachment-download-link {
	color: #007bff;
	text-decoration: underline;
}

@media (max-width: 1023px) {	
	.inbox-mobile-tabs {
		position: fixed;
		bottom: 0;
		right: 0;
		width: 100%;
		height: var(--header_height);
		background: var(--border_color);
		border-top: 1px solid var(--border_color);
		display: flex;
	}
}

.inbox-mobile-tabs .mobile-tab {
	cursor: pointer;
} @media (max-width: 1023px) {	
	.inbox-mobile-tabs .mobile-tab.active {
		background: white;
	}

	.details-tab-active #inbox-layout .inbox-preview-list {
		display: none;
	}
	
	.details-tab-active #inbox-layout .inbox-message-detail {
		display: flex;
	}
} @media (max-width: 767px) {	
	.inbox-mobile-tabs .mobile-tab {
		font-size: 1rem;
	}
}

/*-------------------- TOOLS VIEW --------------------*/
#tools-column {
	overflow-y: auto;
} @media (max-width: 1439px) {
	#tools-column {
		width: 60%;
	}
} @media (max-width: 1023px) {
	#tools-column {
		width: 100%;
	}
}

@media (max-width: 767px) {
	#tools-grid {
		gap: 0;
	}
}

@media (max-width: 767px) {
	.tool-category-section {
		border-top: none;
		border-right: none;
		border-left: none;
		border-radius: 0;
	}
}

.tool-card {
	cursor: pointer;
}

.tool-card-title {
	text-align: left;
} @media (max-width: 1023px) {
	.tool-card-title {
		max-width: 10ch;
	}
}

@media (max-width: 1023px) {
	.tool-overlay {
		height: auto;
		background: white;
	}
	
	#charts-tool-overlay {
		height: 100dvh;
	}
}


.tool-overlay-content {
	height: calc(100dvh - var(--header_height));
	overflow-y: auto;
} @media (max-width: 1023px) {
	#charts-tool-overlay .tool-overlay-content {
		flex-direction: column;
		height: auto;
		justify-content: unset;
	}
}

.tool-overlay-header {
	justify-content: right;
	width: 100dvw;
	height: var(--header_height);
}

.tool-overlay-close {
	border: none;
	background: none;
}

.tool-content {
	overflow-y: auto;
}

#tools-sidebar {
	width: 20%;
	overflow-y: auto;
	border-right: 1px solid var(--border_color);
	padding-right: var(--spacing_10);
} @media (max-width: 1023px) {
	#tools-sidebar {
		flex-direction: row;
		width: 100%;
		flex-wrap: wrap;
		overflow-y: unset;
		padding: 0;
		border: none;
		height: auto;
	}
}

@media (max-width: 1023px) {
	.tools-sidebar-option {
		width: calc(50% - var(--spacing_5));
	}
} @media (max-width: 767px) {
	.tools-sidebar-option {
		width: 100%;
	}
}

.tools-sidebar-option.selected,
.tools-sidebar-option:hover {
	background: var(--hover_color);
}

@media (max-width: 1023px) {
	#charts-content {
		flex-direction: column;
	}
}

@media (max-width: 1023px) {
	.chart-container {
		width: 100%;
	}
}

#dealsChart {
	height: 100% !important;
} @media (max-width: 1023px) {
	#dealsChart {
		height: unset !important;
		aspect-ratio: 5 / 3 !important;
	}
} @media (max-width: 767px) {
	#dealsChart {
		height: unset !important;
		aspect-ratio: 5 / 3 !important;
	}
}

@media (max-width: 1023px) {
	#selling-calculators-content {
		width: 60%;
	}
} @media (max-width: 767px) {
	#selling-calculators-content {
		width: 100%;
	}
}

/*-------------------- SETTINGS VIEW --------------------*/
@media (max-width: 1439px) {
	.settings-column {
		width: 60%;
	}
} @media (max-width: 1023px) {
	.settings-column {
		width: 100%;
	}
} @media (max-width: 767px) {
	.settings-column {
		gap: 0;
	}
}

@media (max-width: 767px) {
	.settings-section {
		border-top: none;
		border-left: none;
		border-right: none;
		border-radius: 0;
	}
}

#user-id-display {
	min-height: var(--input_height);
}

#user-id-display:hover {
	background: var(--hover_color);
}

#api-key-value {
	cursor: pointer;
}

#api-key-value:hover {
	background: var(--hover_color);
}

#form-message:not(:empty) {
	display: block;
}

#website-domain {
	color: black;
}

.crm-info-box {
	cursor: pointer;
}

.crm-info-box:hover {
	background: var(--hover_color);
}

@media (max-width: 1439px) {
	.phone-number-row {
		flex-direction: column;
	}
}

/*-------------------- Bulk Update Progress Bar --------------------*/
.bulk-progress-container {
	overflow: hidden;
}

.bulk-progress-bar {
	height: var(--spacing_20);
	width: 0%;
}

.bulk-cancel-btn:hover {
	background: none;
	color: black;
}

/*-------------------- QUILL --------------------*/
.ql-toolbar.ql-snow {
	display: flex !important;
	align-items: center !important;
	background: var(--border_color) !important;
	padding: var(--spacing_10) !important;
	border-top-right-radius: var(--border_radius) !important;
	border-top-left-radius: var(--border_radius) !important;
	flex-wrap: wrap !important;
	border: 1px solid var(--border_color) !important;
	width: 100% !important;
}

.modal-content .ql-toolbar.ql-snow {
	background: white !important;
}

.ql-toolbar.ql-snow .btn-secondary {
	border-radius: var(--border_radius) !important;
	width: calc(50% - var(--spacing_5)) !important;
	margin-top: var(--spacing_10) !important;
	margin-right: var(--spacing_5) !important;
}

.ql-editor {
	padding: var(--spacing_10) !important;
	height: 100% !important;
	font-size: 1rem !important;
	background: white !important;
	border-bottom-right-radius: var(--border_radius) !important;
	border-bottom-left-radius: var(--border_radius) !important;
}

.ql-editor:hover {
	background: var(--hover_color) !important;
}

.ql-editor:focus {
	border: 2px solid var(--color_2) !important;
}

.ql-formats {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	width: 100% !important;
	border-radius: var(--border_radius) !important;
	overflow: hidden !important;
	border: 1px solid var(--border_color) !important;
}

.ql-formats button {
	border-radius: 0 !important;
	border: none !important;
	border-right: 1px solid var(--border_color) !important;
}

.ql-formats button:last-child {
	border: none !important;
}

.ql-stroke.ql-thin,
.ql-stroke {
	stroke: white !important;
}

.ql-fill {
	fill: white !important;
}

.ql-picker-label {
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
}

.ql-editor s {
	text-decoration: line-through !important;
}

/*-------------------- COLOR PICKER --------------------*/
.colorpick-eyedropper-input-trigger {
	display: none !important;
}

.picker_arrow {
	display: none !important;
}

.picker_arrow::before {
	display: none !important;
}

.picker_wrapper {
	margin: 0 !important;
	border-radius: var(--border_radius) !important;
	box-shadow: none !important;
	border: 1px solid var(--border_color) !important;
	left: unset !important;
	top: unset !important;
	right: var(--spacing_10) !important;
	bottom: var(--spacing_10) !important;
	width: auto !important;
	padding: var(--spacing_20)  !important;
	gap: var(--spacing_10) !important;
	position: fixed !important;
	background: white !important;
}

.picker_wrapper::before {
	display: none !important;
}

.picker_wrapper * {
	box-shadow: none !important;
	margin: 0 !important;
}

.picker_wrapper button {
	background-image: none !important;
}

.picker_wrapper input {
	padding: var(--spacing_10) !important;
	font-size: 1rem !important;
	border-radius: var(--border_radius) !important;
	border: 1px solid var(--border_color) !important;
	width: calc(6ch + var(--spacing_20)) !important;
	font-family: monospace !important;
}

.picker_sl {
	border-radius: var(--border_radius) !important;
	height: 100% !important;
	width: 100% !important;
	border: 2px solid var(--border_color) !important;
	flex: unset !important;
}

.picker_sl::before {
	border-radius: var(--border_radius) !important;
}

.picker_editor {
	height: var(--input_height) !important;
	width: auto !important;
}

.picker_sample {
	height: var(--input_height) !important;
	border-radius: var(--border_radius) !important;
	border: 1px solid var(--border_color) !important;
}

.picker_sample::before {
	border-radius: var(--border_radius) !important;
}

.picker_hue.picker_slider {
	border: 2px solid var(--border_color);
}

.picker_selector {
	border-radius: 50% !important;
	border: 2px solid var(--border_color);
}

.picker_hue.picker_slider {
	border-radius: var(--border_radius) !important;
	margin-bottom: var(--spacing_5) !important;
}

/*-------------------- MODALS --------------------*/
.modal-content {
	max-height: 90dvh;
	overflow-y: auto;
} @media (max-width: 1439px) {	
	.modal-content {
		width: 45%;
	}
} @media (max-width: 1023px) {	
	.modal-content {
		width: 60%;
	}
} @media (max-width: 767px) {	
	.modal-content {
		max-height: unset;
		height: 100%;
		width: 100%;
		border: none;
		border-radius: 0;
		padding: var(--spacing_10);
	}
}

.overlay[data-section="bulk_upload"] .modal-content,
.overlay[data-section="email_templates"] .modal-content,
.overlay[data-section="bulk_email"] .modal-content {
	width: 40%;
} @media (max-width: 1439px) {	
	.overlay[data-section="bulk_upload"] .modal-content,
	.overlay[data-section="email_templates"] .modal-content,
	.overlay[data-section="bulk_email"] .modal-content {
		width: 50%;
	}
} @media (max-width: 1023px) {	
	.overlay[data-section="bulk_upload"] .modal-content,
	.overlay[data-section="email_templates"] .modal-content,
	.overlay[data-section="bulk_email"] .modal-content {
		width: 60%;
	}
} @media (max-width: 767px) {	
	.overlay[data-section="bulk_upload"] .modal-content,
	.overlay[data-section="email_templates"] .modal-content,
	.overlay[data-section="bulk_email"] .modal-content {
		height: auto;
		width: 100%;
	}
}

.modal-section {
	width: 100%;
	flex-direction: column;
	gap: var(--spacing_10);
	border-radius: var(--border_radius);
	border: var(--border_color);
	padding: var(--spacing_10);
	background: var(--border_color);
} @media (max-width: 767px) {	
	.modal-section {
		padding-left: var(--spacing_10);
		padding-right: var(--spacing_10);
	}
}

.modal-section.empty {
	padding: 0;
	border: none;
	background: none;
	border-radius: 0;
}

#modal-saved-listings-section,
#modal-saved-searches-section,
#deals-list-modal,
#property-list {
	background: white;
	padding: 0;
	border-radius: 0;
	border: none;
}

.file-display-name {
	cursor: pointer;
}

.modal-section .saved-search-edit-card,
.modal-section .saved-listing-edit-card,
.modal-section .deal-row,
.modal-section .property-block {
	background: var(--border_color);
}

.modal-section .saved-listing-edit-card .delete-listing-btn {
	margin-left: auto;
}

#bulk-upload-preview-error-message {
	margin-top: var(--spacing_10);
}

/*-------------------- BULK-UPLOAD PREVIEW TABLE --------------------*/
.table-scroll-wrapper {
	overflow-x: auto;
	border-radius: var(--border_radius);
	background: white;
}

.bulk-upload-preview-table {
	width: max-content;
	border-collapse: separate;
	border-spacing: 0;
	white-space: nowrap;
	overflow: hidden;
	width: 100%;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
}

.bulk-upload-preview-table thead th {
	border-top: 1px solid var(--border_color);
	padding: var(--spacing_5);
	text-align: left;
	white-space: nowrap;
	font-weight: bold;
	cursor: pointer;
	color: var(--color_2);
}

.bulk-upload-preview-table tbody td {
	padding: var(--spacing_5);
	text-align: left;
	white-space: nowrap;
	border-top: 1px solid var(--border_color);
	padding: var(--spacing_10);
}

.bulk-upload-preview-table tbody td:first-child {
	border-left: none;
}

.bulk-upload-preview-table tbody td:last-child {
	border-right: none;
}

.bulk-upload-preview-table tbody tr:last-child td {
	border-bottom: 1px solid var(--border_color);
}

.bulk-upload-preview-table th:first-child,
.bulk-upload-preview-table td:first-child {
	border-left: none;
}

.bulk-upload-preview-table th:last-child {
	border-right: none;
}

.bulk-upload-preview-table tr:first-child th {
	border-top: none;
}

.bulk-upload-preview-table tbody tr:hover {
	background: var(--hover_color);
	cursor: pointer;
}

.bulk-upload-preview-table th + th,
.bulk-upload-preview-table td + td {
	border-left: none;
}

/*-------------------- CSV COLUMN MAPPER --------------------*/
.csv-mapper-container {
	margin-top: var(--spacing_20);
}

.csv-mapper-header {
	align-items: flex-start;
	margin-bottom: var(--spacing_20);
	flex-wrap: wrap;
}

.csv-mapper-header h4 {
	margin: 0;
	flex: 1 1 100%;
}

.csv-file-info {
	flex: 1 1 auto;
}

.csv-info-item {
	display: inline-block;
}

.csv-mapper-actions {
	flex: 0 0 auto;
}

.csv-notice {
	padding: var(--spacing_12);
	border-radius: var(--border_radius_default);
	margin-bottom: var(--spacing_20);
	font-size: 14px;
}

.csv-notice-success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.csv-mapping-table-wrapper {
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius_default);
	overflow: hidden;
	margin-bottom: var(--spacing_20);
}

.csv-mapping-table {
	width: 100%;
	border-collapse: collapse;
}

.csv-mapping-table thead {
	background: var(--hover_color);
}

.csv-mapping-table th {
	padding: var(--spacing_12);
	text-align: left;
	border-bottom: 2px solid var(--border_color);
	font-weight: 600;
}

.csv-mapping-table th:nth-child(2) {
	width: 40px;
	text-align: center;
}

.csv-mapping-table th:nth-child(4) {
	width: 80px;
	text-align: center;
}

.csv-mapping-table td {
	padding: var(--spacing_10);
	border-bottom: 1px solid var(--border_color);
}

.csv-mapping-table tbody tr:last-child td {
	border-bottom: none;
}

.csv-mapping-table tbody tr:hover {
	background: var(--hover_color);
}

.csv-column-name {
	font-weight: 500;
	color: var(--text_primary);
}

.csv-column-sample {
	font-size: 13px;
	color: var(--text_secondary);
	margin-top: 4px;
	font-style: italic;
}

.csv-mapping-arrow {
	text-align: center;
	color: var(--text_secondary);
	font-size: 18px;
}

.status-warning {
	color: lightyellow;
}

.csv-mapping-legend {
	color: var(--text_secondary);
	margin-bottom: var(--spacing_20);
}

.legend-item {
	margin-left: var(--spacing_15);
}

.csv-warnings {
	background: lightyellow;
	margin-bottom: var(--spacing_20);
}

.csv-warnings.active {
	display: block;
}

.csv-mapper-footer {
	margin-top: var(--spacing_20);
}

/*-------------------- EMAIL TEMPLATES MODAL --------------------*/
.email-templates-list {
	overflow-y: auto;
}

.template-editor-header {
	margin-bottom: var(--spacing_10);
}

#template-subject-input {
	margin-bottom: var(--spacing_10);
}

.template-owner {
	margin-top: var(--spacing_10);
}

/*-------------------- EMAIL EDITORS --------------------*/
#lead-email-attachments {
	padding-bottom: var(--spacing_10);
}

.email-attachment {
	background: #f5f5f5;
}

.forwarding-address-copy {
	cursor: pointer;
	margin-top: var(--spacing_5);
	height: var(--input_height);
	background: lightyellow;
} @media (max-width: 1023px) {
	.forwarding-address-copy {
		height: auto;
	}
}

.forwarding-address-copy:hover {
	background: var(--hover_color);
}

.forwarding-address-container > p,
#forwarding-address-value {
	font-size: 1rem;
	white-space: normal;
    overflow-wrap: anywhere;
} @media (max-width: 1439px) {
	.forwarding-address-container > p,
	#forwarding-address-value {
		font-size: 0.8rem;
	}
} @media (max-width: 1023px) {
	.forwarding-address-container > p,
	#forwarding-address-value {
		font-size: 1rem;
	}
}

.email-merge-fields-dropdown {
	width: calc(50% - var(--spacing_5));
	margin-top: var(--spacing_10);
	margin-left: var(--spacing_5);
}

#inbox-email-file-list .email-attachment {
	margin-top: var(--spacing_10);
}

/*-------------------- NOTIFICATION PANEL --------------------*/
.notification-icons {
	gap: var(--spacing_10);
}

@media (max-width: 1023px) {
	.mobile-notification-icons {
		display: flex;
	}
}

#crmNotificationPanel {
	position: absolute;
	background: white;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	overflow-y: auto;
	z-index: 11000;
	right: var(--spacing_10);
	top: calc(var(--spacing_10) + var(--header_height));
	overflow-y: auto;
	max-height: calc(100dvh - var(--header_height) - var(--spacing_20));
	box-shadow: var(--box_shadow);
	width: 30dvw;
} @media (max-width: 1439px) {
	#crmNotificationPanel {
		width: 40dvw;
	}
} @media (max-width: 1023px) {
	#crmNotificationPanel {
		right: unset;
		left: var(--spacing_10);
		top: calc(var(--spacing_10) + var(--header_height));
		width: 50dvw;
	}
} @media (max-width: 767px) {
	#crmNotificationPanel {
		left: 0;
		top: var(--header_height);
		width: 100dvw;
		height: calc(100dvh - var(--header_height));
		border: none;
		border-radius: 0;
		overflow: auto;
		max-height: unset;
		box-shadow: none;
	}
	
	.notification-panel-open {
		position: fixed;
	}
}

#crm-notification-empty {
	align-items: center;
	justify-content: center;
	padding: var(--spacing_10);
}

.crm-notification-item {
	border-bottom: 1px solid var(--border_color);
}

.crm-notification-item:hover {
	background: var(--hover_color);
}

.crm-notification-item:last-child {
	border-bottom: none;
} @media (max-width: 767px) {
	.crm-notification-item:last-child {
		border-bottom: 1px solid var(--border_color);
	}
}

.crm-notification-message {
	word-break: break-word;
	text-align: center;
	width: 100%;
}

.crm-notification-message a {
	color: var(--color_2);
}

.crm-notification-date {
	white-space: nowrap;
}

/*-------------------- Message Icon (Floating Nav) --------------------*/
#crmHelpPanel {
	z-index: 11000;
	right: var(--spacing_10);
	top: calc(var(--spacing_10) + var(--header_height));
	box-shadow: var(--box_shadow);
	width: 30dvw;
} @media (max-width: 1439px) {
	#crmHelpPanel {
		width: 40dvw;
		
	}
} @media (max-width: 1023px) {
	#crmHelpPanel {
		right: unset;
		left: var(--spacing_10);
		top: calc(var(--spacing_10) + var(--header_height));
		width: 50dvw;
	}
} @media (max-width: 767px) {
	#crmHelpPanel {
		left: 0;
		top: var(--header_height);
		width: 100dvw;
		height: calc(100dvh - var(--header_height));
		border: none;
		border-radius: 0;
		overflow: auto;
		max-height: unset;
		justify-content: center;
		box-shadow: none;
	}
	
	.help-panel-open {
		position: fixed;
	}
}

.crm-bug-toggle-row {
	text-align: left;
}

.crm-bug-note {
	color: var(--color_2);
	margin-top: var(--spacing_10);
	text-align: center;
}

/*-------------------- BULK EMAIL MODAL STYLES --------------------*/
#profile-email-html-editor,
#inbox-email-html-editor,
#bulk-email-html-editor,
#signature-html-editor,
#inbox-email-editor,
#template-html-editor,
#template-content-editor,
#email-signature-editor,
#lead-email-editor,
#bulk-email-editor {
	border-radius: 0 !important;
	height: calc(var(--input_height) * 5) !important;
	border: 1px solid var(--border_color) !important;
	border-bottom-right-radius: var(--border_radius) !important;
	border-bottom-left-radius: var(--border_radius) !important;
	border-top: none !important;
	font-size: 1rem !important;
}

#profile-email-html-editor:focus,
#inbox-email-html-editor:focus,
#bulk-email-html-editor:focus,
#signature-html-editor:focus,
#inbox-email-editor:focus,
#template-html-editor:focus,
#template-content-editor:focus,
#email-signature-editor:focus,
#lead-email-editor:focus,
#bulk-email-editor:focus {
	border: 2px solid var(--color_2) !important;
}

#bulk-email-attachments {
	padding: var(--spacing_10);
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
}

#bulk-email-attachment-list {
	flex-wrap: wrap;
}

#bulk-email-attachment-list .email-attachment {
	margin-top: var(--spacing_10);
	margin-right: var(--spacing_10);
}

#bulk-email-recipient-count {
	padding: var(--spacing_10);
	font-weight: bold;
	color: var(--color_2);
	background: white;
	border-radius: var(--border_radius);
}

/*-------------------- ICONS --------------------*/
i {
	width: 1.5rem !important;
	height: 1.5rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.crm-edit-label i {
	margin-left: auto !important;
}

.lead-section i {
	color: black !important;
	margin-left: auto !important;
}

.delete-call-btn i,
.delete-note-btn i {
	margin: 0 !important;
	color: white !important;
}

.next-lead-btn i,
.prev-lead-btn i {
	color: white !important;
}

.lead-nav-button i {
	margin: 0 !important;
}

.timeline-audio-player-container i {
	color: white !important;
}

.address-container i {
	cursor: pointer !important;
	margin: 0 !important;
}

.address-search-icon {
	cursor: pointer !important;
	color: black !important;
	margin: 0 !important;
}

.address-search-icon:hover {
	color: var(--hover_color) !important;
}

.tool-card i {
	width: auto !important;
	color: var(--color_2) !important;
}

.tool-overlay-header i {
	width: auto !important;
}

.notification-icons i {
	color: var(--color_4) !important;
	font-size: 1.5rem !important;
} @media (max-width: 1439px) {
	.notification-icons i {
		font-size: 1rem !important;
	}
} @media (max-width: 1023px) {
	.notification-icons i {
		font-size: 1.5rem !important;
	}
} @media (max-width: 767px) {
	.notification-icons i {
		font-size: 1.2rem !important;
	}
}

.notification-icons i:hover {
	color: var(--hover_color) !important;
}

.crm-nav-button i,
.mobile-nav-button i {
	width: auto !important;
}

.mobile-menu-close i,
.mobile-menu-toggle i {
	width: 100% !important;
	height: 100% !important;
	font-size: 1.5rem !important;
	color: var(--color_4) !important;
	cursor: pointer !important;
} @media (max-width: 1023px) {
	.mobile-menu-close i,
	.mobile-menu-toggle i {
		font-size: 1.5rem !important;
	}
} @media (max-width: 767px) {
	.mobile-menu-close i,
	.mobile-menu-toggle i {
		font-size: 1.2rem !important;
	}
}

.edit-container i {
	font-size: 1rem;
}

#address-container .nav-btn i {
	font-size: 7rem !important;
	color: var(--color_2) !important;
} @media (max-width: 1439px) {	
	#address-container .nav-btn i {
		font-size: 6rem !important;
	}
} @media (max-width: 1023px) {	
	#address-container .nav-btn i {
		font-size: 5rem !important;
	}
} @media (max-width: 767px) {	
	#address-container .nav-btn i {
		font-size: 4rem !important;
	}
}

button:disabled i:not(.next-lead-btn i, .prev-lead-btn i) {
	color: var(--color_2);
}

/*-------------------- CALL INDICATOR --------------------*/
#call-status {
	background: #fff;
	padding: var(--spacing_10);
	width: 100%;
	height: var(--header_height);
	z-index: 10000;
	justify-content: space-between;
	align-items: center;
	border: 3px solid var(--color_2);
	margin: var(--spacing_10);
	margin-bottom: 0;
	border-radius: var(--border_radius);
	width: calc(100% - 20px);
}

#phone-search-loading-text {
	text-align: center;
	color: var(--color_1);
}

#phone-search-no-results-text {
	text-align: center;
	color: var(--color_1);
	padding: var(--spacing_10);
}

#phone-search-error-text {
	text-align: center;
	color: #d32f2f;
	padding: var(--spacing_10);
}

/*-------------------- ONBOARDING MODAL STYLES --------------------*/
.onboarding-item.completed {
	background: #f8fff8;
	border-color: #28a745;
}

.onboarding-item.completed .btn {
	display: none;
}

/*-------------------- UPGRADE POPUP STYLES --------------------*/
.upgrade-popup {
	width: 30%;
	max-height: 90dvh;
	overflow-y: auto;
} @media (max-width: 1439px) {	
	.upgrade-popup {
		width: 45%;
	}
} @media (max-width: 1023px) {	
	.upgrade-popup {
		width: 60%;
	}
} @media (max-width: 767px) {	
	.upgrade-popup {
		max-height: unset;
		height: auto;
		width: 100dvh;
		border-radius: 0;
		padding: 0;
		border: none;
		padding: var(--spacing_10);
	}
}

.upgrade-popup-title {
	color: var(--color_1);
	font-size: 1.5rem;
	font-weight: bold;
}

.upgrade-popup-description {
	color: var(--color_1);
}

.upgrade-popup-features {
	text-align: left;
}

.upgrade-popup-features ul {
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: center;
}

.upgrade-popup-features li {
	color: #555;
	position: relative;
	padding: var(--spacing_5);
	padding-left: var(--spacing_20) ;
}

.upgrade-popup-features li::before {
	content: "✓";
	color: #28a745;
	font-weight: bold;
	position: absolute;
	left: 0;
	top: var(--spacing_5);
}

.upgrade-popup-btn {
	padding: var(--spacing_10);
	border: none;
	border-radius: var(--border_radius);
	font-weight: bold;
	cursor: pointer;
}

.upgrade-primary {
	background: var(--color_2);
	color: white;
}

.upgrade-secondary {
	background: #f8f9fa;
	color: var(--color_1);
	border: 1px solid #ddd;
}

/*-------------------- RADIO BUTTONS --------------------*/
.radio-container {
	flex-shrink: 0;
}

.radio-label {
	display: flex;
	align-items: center;
	gap: var(--spacing_10);
	cursor: pointer;
}

.radio-label span {
	text-align: center;
}

.radio-label input[type="radio"] {
	height: var(--input_height);
	width: var(--input_height);
}

.radio-label input[type="radio"]:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.radio-label:has(input[type="radio"]:disabled) {
	opacity: 0.7;
	cursor: not-allowed;
}

/*-------------------- LISTING CARDS --------------------*/
.listing-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: auto;
	gap: var(--spacing_10);
	padding-top: var(--spacing_10);
	padding-left: var(--spacing_10);
	padding-right: var(--spacing_10);
} @media (max-width: 1439px) {	
	.listing-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.save-listing {
	display: inline-block;
	position: absolute;
	top: var(--spacing_10);
	right: var(--spacing_10);
	z-index: 2;
	cursor: pointer;
	font-size: 2rem;
	color: var(--border_color);
}

.save-listing.saved .fa-heart {
	color: red;
}

.save-listing:hover .fa-heart {
	color: red;
}

.listing-card {
	flex-shrink: 0 !important;
	width: 23.25rem !important;
	aspect-ratio: 1 / 1.15 !important;
} @media (max-width: 767px) {	
	.listing-card {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

.settings-container .listing-card {
	width: 100% !important;
	aspect-ratio: unset !important;
	box-shadow: none !important;
	aspect-ratio: 3 / 1 !important;
} @media (max-width: 767px) {	
	.settings-container .listing-card {
		width: 23.25rem !important;
		aspect-ratio: 1 / 1.15 !important;
	}
}

#map .listing-card:hover {
	transform: none !important;
} @media (max-width: 1023px) {	
	#map .listing-card:hover {
		transform: none !important;
	}
}

.listing-card img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.settings-container .listing-card img {
	aspect-ratio: 3 / 2;
	width: 40%;
} @media (max-width: 767px) {	
	.settings-container .listing-card img {
		aspect-ratio: 16 / 9;
		width: 100%;
	}
}

.settings-container .listing-card a {
	display: flex;
	flex-direction: row;
	gap: var(--spacing_10);
} @media (max-width: 767px) {	
	.settings-container .listing-card a {
		flex-direction: column;
		gap: 0;
	}
}

.settings-container .listing-card .price {
	font-size: 2.5rem;
} @media (max-width: 1439px) {	
	.settings-container .listing-card .price {
		font-size: 2rem;
	}
} @media (max-width: 1023px) {	
	.settings-container .listing-card .price {
		font-size: 2.5rem;
	}
} @media (max-width: 767px) {	
	.settings-container .listing-card .price {
		font-size: 2rem;
	}
}

.settings-container .listing-card .address {
	font-size: 2rem;
} @media (max-width: 1439px) {	
	.settings-container .listing-card .address {
		font-size: 1.5rem;
	}
} @media (max-width: 1023px) {	
	.settings-container .listing-card .address {
		font-size: 2rem;
	}
} @media (max-width: 767px) {	
	.settings-container .listing-card .address {
		font-size: 1.5rem;
	}
}

.settings-container .listing-card .features {
	font-size: 1.5rem;
} @media (max-width: 1439px) {	
	.settings-container .listing-card .features {
		font-size: 1rem;
	}
} @media (max-width: 1023px) {	
	.settings-container .listing-card .features {
		font-size: 1.5rem;
	}
} @media (max-width: 767px) {	
	.settings-container .listing-card .features {
		font-size: 1rem;
	}
}

.price-change-bubble {
	position: absolute;
	top: var(--spacing_10);
	left: var(--spacing_10);
	background: var(--color_2);
	color: white;
	padding: var(--spacing_5);
	border-radius: var(--spacing_5);
	font-weight: bold;
	z-index: 10;
}

#about-page .save-listing {
	display: none;
}

/*-------------------- REVIEW CARDS --------------------*/
.review-card {
	flex-shrink: 0;
	width: 23.25rem;
	height: auto;
	min-height: 18rem;
} @media (max-width: 1439px) {
	.review-card {
		width: 20rem;
		min-height: 16rem;
	}
}

.review-rating .star {
	line-height: 3rem;
	color: #eeeeee;
}

.review-rating .star.filled {
	color: #ffd700;
}

.review-message {
	text-align: center;
}

/*-------------------- MAPS --------------------*/
.map-container {
	flex: 1;
	position: relative;
} @media (max-width: 767px) {
	.map-container {
		display: none;
	}
}

.map-zoom-hint {
	top: var(--spacing_10);
	left: 50%;
	transform: translateX(-50%);
	border-radius: var(--border_radius);
	pointer-events: none;
	white-space: nowrap;
} @media (max-width: 1439px) {
	.map-zoom-hint {
		display: none;
	}
}

.listing-right-side-bar #map {
	aspect-ratio: 1 / 1;
} @media (max-width: 767px) {	
	.listing-right-side-bar #map {
		border-radius: 0;
		border-top: none;
		border-right: none;
		border-left: none;
	}
}

.mapboxgl-ctrl-attrib-inner,
.mapboxgl-ctrl-bottom-left,
.mapboxgl-popup .mapboxgl-popup-close-button,
.listing-right-side-bar #map .mapboxgl-control-container {
	display: none !important;
}

.mapboxgl-popup-content,
.listing-card-popup {
	max-width: unset !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	background: unset !important;
}

.mapbox-marker {
	cursor: pointer !important;
	border-radius: 0 !important;
	background-image: url(/images/house.webp) !important;
	background-size: cover !important;
	width: 32px !important;
	height: 32px !important;
}

.listing-page-layout .mapboxgl-popup-content {
	padding: var(--spacing_10) !important;
	white-space: nowrap !important;
	width: max-content !important;
	text-align: center !important;
	font-weight: bold !important;
	background: white !important;
	border-radius: var(--border_radius) !important;
}

.mapboxgl-ctrl-top-right button {
	border-radius: unset !important;
}

/*-------------------- SWIPER --------------------*/
.swiper-container {
	width: 100% !important;
	padding-right: var(--spacing_10) !important;
	padding-left: var(--spacing_10) !important;
	overflow: hidden !important;
} @media (max-width: 767px) {	
	.swiper-container {
		padding: 0 !important;
	}
}

.swiper-pagination {
	display: flex !important;
	justify-content: space-between !important;
	height: var(--spacing_20) !important;
	align-items: center !important;
	border: 1px solid var(--border_color) !important;
	border-radius: var(--border_radius) !important;
	width: calc(100dvw - var(--spacing_20) - 2px) !important;
	margin-right: calc(var(--spacing_10) + 1px) !important;
	margin-left: calc(var(--spacing_10) + 1px) !important;
	position: unset !important;
} @media (max-width: 767px) {	
	.swiper-pagination {
		border-radius: 0 !important;
		width: 100dvw !important;
		margin: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}
}

.swiper-pagination-bullet {
	margin: 0 !important;
	width: 100% !important;
	height: var(--spacing_20)  !important;
	border-radius: 0 !important;
	background: var(--color_1) !important;
}

.swiper-pagination-bullet-active {
	background: var(--color_2) !important;
}

.swiper-pagination > .swiper-pagination-bullet:first-child {
	border-top-left-radius: var(--border_radius) !important;
	border-bottom-left-radius: var(--border_radius) !important;
} @media (max-width: 767px) {	
	.swiper-pagination > .swiper-pagination-bullet:first-child {
		border-radius: 0 !important;
	}
}

.swiper-pagination > .swiper-pagination-bullet:last-child {
	border-top-right-radius: var(--border_radius) !important;
	border-bottom-right-radius: var(--border_radius) !important;
} @media (max-width: 767px) {	
	.swiper-pagination > .swiper-pagination-bullet:last-child {
		border-radius: 0 !important;
	}
}

.swiper-slide {
	display: flex !important;
	justify-content: center !important;
	aspect-ratio: 16 / 9 !important;
	height: auto !important;
	overflow: hidden !important;
	border-radius: var(--border_radius) !important;
	backface-visibility: hidden !important;
	will-change: transform !important;
	width: calc((100dvw / 3) - (var(--spacing_20) * (2 / 3))) !important;
} @media (max-width: 1439px) {	
	.swiper-slide {
		width: calc(50dvw - (var(--spacing_5) * 3)) !important;
	}
} @media (max-width: 1023px) {	
	.swiper-slide {
		width: 100% !important;
	}
} @media (max-width: 767px) {	
	.swiper-slide {
		border-radius: 0 !important;
	}
}

.swiper-slide img {
	object-fit: cover !important;
	width: 100% !important;
	border-radius: var(--border_radius) !important;
	transform: translateZ(0) !important;
} @media (max-width: 767px) {	
	.swiper-slide img {
		border-radius: 0 !important;
	}
}

.swiper-button-prev,
.swiper-button-next {
	color: var(--color_2) !important;
	padding-top: calc(var(--spacing_20) * 2) !important;
	padding-bottom: calc(var(--spacing_20) * 2) !important;
	padding-left: calc(var(--spacing_10) * 3) !important;
	padding-right: calc(var(--spacing_10) * 3) !important;
	background: var(--color_1) !important;
	border-radius: var(--border_radius) !important;
	opacity: 0.7 !important;
}

.swiper-button-next {
    right: var(--spacing_20) !important;
}

.swiper-button-prev {
    left: var(--spacing_20) !important;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	font-weight: bold !important;
}

.swiper-notification {
	display: none !important;
}

/*-------------------- LISTING PAGE --------------------*/
:has(#listing-error-container:not(.hidden)) #page-content {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 767px) {	
	#photos {
		gap: 0;
	}
}

@media (max-width: 1439px) {	
	.listing-page-layout {
		flex-direction: column;
	}
} @media (max-width: 767px) {	
	.listing-page-layout {
		padding: 0;
		gap: 0;
	}
}

.listing-left-side-bar {
	width: fit-content;
} @media (max-width: 1439px) {	
	.listing-left-side-bar {
		order: 3;
		width: 100%;
	}
}

.listing-right-side-bar {
	width: fit-content;
} @media (max-width: 1439px) {	
	.listing-right-side-bar {
		order: 2;
		width: 100%
	}
} @media (max-width: 767px) {	
	.listing-right-side-bar {
		gap: 0;
	}
}

#listing-details {
	flex: 1;
} @media (max-width: 1439px) {	
	#listing-details {
		order: 1;
	}
} @media (max-width: 767px) {	
	#listing-details {
		gap: 0;
	}
}

#listing-details section {
	background: white;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	padding: var(--spacing_10);
} @media (max-width: 767px) {	
	#listing-details section {
		padding: 0;
		border-radius: 0;
		border-right: none;
		border-left: none;
		border-top: none;
	}
}

#listing-details section p,
#listing-details section div {
} @media (max-width: 767px) {	
	#listing-details p,
	#listing-details div {
		padding: var(--spacing_10);
	}
}

#listing-details p {
	font-size: 1.5rem;
} @media (max-width: 1439px) {	
	#listing-details p {
		font-size: 1rem;
	}
}

.virtual-tour-section p {
	text-align: center;
	color: black;
}

.virtual-tour-section a {
	color: var(--color_2);
	font-weight: bold;
}

.virtual-tour-section a:hover {
	color: var(--hover_color);
}

#listing-details h2 {
	text-align: left;
	padding: var(--spacing_10);
	border-bottom: 1px solid var(--border_color);
	margin-bottom: var(--spacing_10);
} @media (max-width: 1439px) {	
	#listing-details h2 {
		font-size: 2.5rem;
	}
} @media (max-width: 1023px) {	
	#listing-details h2 {
		font-size: 1.5rem;
	}
} @media (max-width: 767px) {	
	#listing-details h2 {
		margin: 0;
	}
}

.section-columns ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(var(--spacing_20) * 2);
	width: 100%;
	padding-left: var(--spacing_20);
	margin: 0;
	list-style-type: disc;
} @media (max-width: 1439px) {	
	.section-columns ul {
		gap: var(--spacing_10);
	}
}

.section-columns li {
	break-inside: avoid;
	margin-bottom: var(--spacing_10);
	font-size: 1.5rem;
	margin-bottom: var(--spacing_20) ;
} @media (max-width: 1439px) {	
	.section-columns li {
		font-size: 1rem;
	}
}

.status,
.price {
	font-weight: bold;
	background: none;
} @media (max-width: 1439px) {	
	.status,
	.price {
		font-size: 2.5rem;
	}
}

.price.active,
.status.active {
	color: #28a745;
}

.price.pending,
.status.pending {
	color: #ffc107;
}

.price.closed,
.status.closed {
	color: #dc3545;
}

.listing-price-change {
	display: inline-block;
	margin-left: 10px;
	font-size: 0.6em;
	font-weight: normal;
	color: #666;
}

@media (max-width: 1439px) {	
	#address-container {
		gap: var(--spacing_10);
	}
} @media (max-width: 767px) {	
	#address-container {
		margin: 0;
		border: none;
		border-radius: 0;
	}
}

@media (max-width: 1439px) {	
	#address-container #property-address {
		font-size: 3rem;
	}
} @media (max-width: 1023px) {	
	#address-container #property-address {
		font-size: 2.5rem;
	}
} @media (max-width: 767px) {	
	#address-container #property-address {
		font-size: 1.5rem;
	}
}

#address-container .nav-btn {
	height: 7rem;
	width: 7rem;
	visibility: hidden;
} @media (max-width: 1439px) {	
	#address-container .nav-btn {
		height: 6rem;
		width: 6rem;
	}
} @media (max-width: 1023px) {	
	#address-container .nav-btn {
		height: 5rem;
		width: 5rem;
	}
} @media (max-width: 767px) {	
	#address-container .nav-btn {
		height: 4rem;
		width: 4rem;
	}
}

@media (max-width: 1439px) {	
	#similar-listing-cards {
		flex-direction: row;
		width: auto;
		overflow: auto;
		padding-left: var(--spacing_10);
		padding-right: var(--spacing_10);
		padding-bottom: var(--spacing_10);
	}
}

.listing-container {
	background: white;
} @media (max-width: 1023px) {	
	.actions-container {
		flex-direction: row;
	}
	
	.similar-listings {
		padding: 0;
	}
} @media (max-width: 767px) {	
	.listing-container {
		border-top: none;
		border-right: none;
		border-left: none;
		border-radius: 0;
	}
	
	.similar-listings {
		border: none;
	}
}

@media (max-width: 1023px) {	
	.similar-listings h5 {
		padding-top: var(--spacing_10);
	}
}

@media (max-width: 1439px) {	
	#status-container-1 {
		display: flex;
	}
	
	#status-container-2 {
		display: none;
	}
} @media (max-width: 767px) {	
	#status-container-1 {
		border-right: none;
		border-left: none;
		border-top: none;
		border-radius: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
}

/*-------------------- BUYING PAGE --------------------*/
#listings-message {
	padding-bottom: 0;
}

@media (max-width: 767px) {
	.map-sidebar-container {
		height: auto;
	}
}

.listings-side-bar {
	overflow-y: auto;
} @media (max-width: 767px) {	
	.listings-side-bar {
		width: 100%;
		height: auto;
	}
}

#about-page .listings-side-bar {
	border-top: 1px solid var(--border_color);
} @media (max-width: 767px) {	
	#about-page .listings-side-bar {
		padding-top: var(--spacing_10);
	}
}

.listings-side-bar #listings-sort-dropdown {
	width: auto;
}

.search-top-container {
	padding-bottom: 0;
} @media (max-width: 767px) {	
	.search-top-container {
		padding-top: 0;
	}
}

#pagination {
	margin-top: var(--spacing_10);
	margin-bottom: var(--spacing_10);
}

.pagination-dots {
	margin: 0 5px;
	color: #888;
}

@media (max-width: 1023px) {	
	#listings-search-form {
		grid-template-columns: repeat(4, 1fr);
	}
} @media (max-width: 767px) {	
	#listings-search-form {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1439px) {
	#listings-search-form #search {
		order: 13;
	}
	
	#listings-search-form #clear-filters {
		order: 14;
	}
}

/*-------------------- ABOUT PAGE --------------------*/
.about-form-container {
	border: 2px solid var(--color_2);
} @media (max-width: 1439px) {
	.agent-profile {
		gap: var(--spacing_10);
		justify-content: space-evenly;
		flex-wrap: wrap;
	}
	
	#agent-bio {
		padding: var(--spacing_10);
	}
	
	.agent-credentials {
		width: 70%;
		padding: var(--spacing_10);
	}
	
	.about-me {
		width: 45%;
	}
	
	.about-form-container {
		width: 45%;
		padding: var(--spacing_10);
	}	
} @media (max-width: 1023px) {
	.about-form-container,
	.about-me,
	.agent-credentials {
		width: 80%;
	}
} @media (max-width: 767px) {
	.about-form-container,
	.about-me  {
		width: 100%;
	}
	
	.agent-credentials {
		width: 100%;
		flex-direction: column;
	}
}

.agent-credentials .agent-contact-info {
	border-left: 1px solid var(--color_2);
} @media (max-width: 767px) {
	.agent-credentials .agent-contact-info {
		flex-direction: column;
	}
}

 @media (max-width: 767px) {
	.agent-photo-container {
		width: 80%;
	}
}

.agent-photo-container img {
	object-fit: cover;
	border-radius: var(--border_radius);
}

@media (max-width: 1023px) {
	#agent-statistics {
		grid-template-columns: repeat(3, 1fr);
	}
} @media (max-width: 767px) {
	#agent-statistics {
		grid-template-columns: repeat(2, 1fr);
	}
}

.service-area-badge {
	padding-left: var(--spacing_20);
	padding-right: var(--spacing_20);
}

@media (max-width: 1439px) {
	.team-member-card  {
		width: 20%;
	}
} @media (max-width: 1023px) {
	.team-member-card  {
		width: 30%;
	}
} @media (max-width: 767px) {
	.team-member-card  {
		width: 50%;
	}
}

.team-member-card img {
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

.member-contact-info * {
	overflow: hidden;
}

.social-facebook button {
	background-color: #1877F2;
}

.social-linkedin button {
	background-color: #0A66C2;
}

.social-instagram button {
	background: linear-gradient(45deg, #F58529, #DD2A7B, #8134AF, #515BD4);
}

.social-twitter button {
	background-color: #000000;
}

.social-pinterest button {
	background-color: #E60023;
}

.social-youtube button {
	background-color: #FF0000;
}

.social-tiktok button {
	background-color: #000000;
}

.team-member-email a,
.team-member-phone a,
#agent-email a,
#agent-phone a {
	color: var(--color_2);
}

.team-member-email a:hover,
.team-member-phone a:hover,
#agent-email a:hover,
#agent-phone a:hover {
	color: var(--hover_color);
}

#about-page #listings-search-form,
#about-page #save-search-btn,
#about-page #listings-sort-dropdown {
	display: none;
}

/*-------------------- AUTH FORM STYLES --------------------*/
.auth-tab-page {
	padding: var(--spacing_20) ;
	padding-top: var(--spacing_10);
}

.auth-card {
	width: 30%;
	background: white;
	border-radius: var(--border_radius);
	box-shadow: var(--box_shadow);
	border: 1px solid var(--border_color);
	overflow: hidden;
} @media (max-width: 1439px) {	
	.auth-card {
		width: 45%;
	}
} @media (max-width: 1023px) {	
	.auth-card {
		width: 60%;
	}
} @media (max-width: 767px) {	
	.auth-card {
		max-height: unset;
		min-height: calc(100dvh - var(--header_height) - var(--footer_height));
		width: 100dvw;
		border: none;
		border-radius: 0;
		box-shadow: none;
	}
}

#popup-overlay .auth-card {
	width: 100%;
}

.auth-link-container {
	text-align: center;
}

.auth-link {
	color: #2563eb;
	text-decoration: none;
	font-weight: bold;
}

.auth-link:hover {
	color: var(--hover_color);
}

.auth-instructions,
.auth-disclaimer {
	text-align: center;
}

.error-message {
	background: #fef2f2;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	padding: var(--spacing_10);
}

.error-message p {
	color: #dc2626;
	text-align: center;
}

.success-message {
	background: #f0fdf4;
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	padding: var(--spacing_10);
}

.success-message p {
	color: #16a34a;
	text-align: center;
}

.signup-logo {
	width: 100%;
}

.signup-logo-visible {
	display: block;
	width: 100%;
}

.unsubscribe-icon {
	width: 3.5rem;
	height: 3.5rem;
	background: #dc2626;
	border-radius: 50%;
}

.unsubscribe-icon svg {
	width: 2rem;
	height: 2rem;
	color: white;
}

.unsubscribe-container p {
	color: #6b7280;
	text-align: center;
}

.unsubscribe-footer p {
	color: #6b7280;
	text-align: center;
}

#resetPasswordForm {
	padding: var(--spacing_20);
}

#resetPasswordForm p {
	text-align: center;
}

.error-container {
	margin-top: var(--spacing_10);
}

/*-------------------- MORTGAGE PAGE --------------------*/
.mortgage-container {
	min-height: calc(100dvh - var(--header_height));
} @media (max-width: 767px) {	
	.mortgage-container {
		padding: 0;
		gap: 0;
	}
}

.calculator-container {
	border: 1px solid var(--border_color);
	border-radius: var(--border_radius);
	background: white;
	width: 100%;
	grid-template-columns: 1fr 2fr 1fr;
} @media (max-width: 1023px) {	
	.calculator-container {
		display: flex;
		flex-direction: column;
	}
} @media (max-width: 767px) {	
	.calculator-container {
		border-top: none;
		border-left: none;
		border-right: none;
		border-radius: 0;
	}
}

.calculator-container > * {
	border-right: 1px solid var(--border_color);
	border-bottom: 1px solid var(--border_color);
} @media (max-width: 1023px) {	
	.calculator-container > * {
		border-right: none;
	}
}

.calculator-container > *:nth-child(3n) {
	border-right: none;
}

.mortgage-contact-faq {
} @media (max-width: 767px) {
	.mortgage-contact-faq {
		flex-direction: column;
		gap: 0;
	}
}

.mortgage-contact-faq .form-container {
	background: white;
}

#mortgageShareContainer {
	width: auto;
	border-radius: var(--border_radius);
	border: 1px solid var(--border_color);
}

.faq-container {
	background: white;
} @media (max-width: 767px) {	
	.faq-container {
		border-radius: 0;
		border: none;
	}
}

.accordion-toggle {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: none;
}

.accordion-icon {
	font-weight: bold;
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
}

.accordion-inner {
	padding: var(--spacing_10);
}

#mortgage-rates {
	padding: var(--spacing_10);
	flex-wrap: wrap;
	text-align: center;
	border-radius: var(--border_radius);
	border: 1px solid var(--border_color);
	background: white;
} @media (max-width: 767px) {	
	#mortgage-rates {
		border-top: none;
		border-left: none;
		border-right: none;
		border-radius: 0;
	}
}

.rates-container {
	margin-top: var(--spacing_5);
}

.rate-box {
	background: var(--border_color);
	justify-content: space-between;
}

.result-section {
	text-align: center;
}

#amortizationSlider {
	padding-top: 0;
	padding-bottom: 0;
}

.amortization-section {
	text-align: center;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	position: relative;
}

#amortizationTableContainer {
	top: calc((1.5rem * 1.15) + var(--spacing_20));
	left: var(--spacing_10);
	right: var(--spacing_10);
	bottom: var(--spacing_10);
	overflow-y: auto;
} @media (max-width: 1023px) {	
	#amortizationTableContainer {
		position: unset;
		height: 50dvh;
	}
}

#paymentChart {
	width: calc(20dvw - (var(--spacing_5) * 3)) !important;
	height: unset !important;
	aspect-ratio: 1 / 1 !important;
	padding: var(--spacing_10) !important;
} @media (max-width: 1023px) {	
	#paymentChart {
		width: calc(60dvw - (var(--spacing_5) * 3)) !important;
	}
} @media (max-width: 767px) {	
	#paymentChart {
		width: calc(90dvw - (var(--spacing_5) * 3)) !important;
	}
}

#chartOverlay {
	top: 0;
	left: 0;
	background: var(--overlay_color);
	border-radius: 50%;
	z-index: 10;
	pointer-events: none;
	width: calc(20dvw - (var(--spacing_5) * 3));
	height: unset;
	aspect-ratio: 1 / 1;
} @media (max-width: 1023px) {	
	#chartOverlay {
		width: calc(60dvw - (var(--spacing_5) * 3));
	}
} @media (max-width: 767px) {	
	#chartOverlay {
		width: calc(90dvw - (var(--spacing_5) * 3));
	}
}


#chartLegend {
	flex-wrap: wrap;
	gap: var(--spacing_20);
}

.legend-color {
	display: inline-block;
	width: calc(var(--spacing_5) * 3);
	aspect-ratio: 1 / 1;
	border-radius: var(--border_radius);
	margin-right: var(--spacing_5);
}

.legend-principal {
	background: #4CAF50;
}

.legend-interest {
	background: #FF5722;
}

.legend-insurance {
	background: #03A9F4;
}

.legend-taxes {
	background: #FFC107;
}

.legend-pmi {
	background: #9C27B0;
}

#savingsMessage {
	color: #2e7d32;
}

#maxPurchaseContainer {
	text-align: center;
}

.max-price-content {
	color: #1a73e8;
	text-align: center;
}

#maxPurchaseValue {
	font-size: 2rem;
}

.closing-row {
	justify-content: space-between;
}

#buyVsRentContainer {
	text-align: left;
}

.br-box {
	justify-content: space-between;
}

.br-value {
	color: #1a73e8;
}

#brRecommendation {
	color: #2e7d32;
	text-align: center;
	border-top: 1px solid var(--border_color);
	padding-bottom: 0;
}

.br-explanation {
	padding-top: 0;
}

.calculator-disclaimer {
	text-align: center;
	grid-column: span 3;
	border-right: none;
	border-bottom: none;
}

.amortization-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--border_radius);
}

.amortization-table thead {
	border-top-right-radius: var(--border_radius);
	border-top-left-radius: var(--border_radius);
}

.amortization-table thead tr {
	font-weight: bold;
	border-top-right-radius: var(--border_radius);
	border-top-left-radius: var(--border_radius);
}

.amortization-table tbody tr:hover {
	background: var(--hover_color);
}

.amortization-table thead tr th:first-child {
	border-top-left-radius: var(--border_radius);
}

.amortization-table thead tr th:last-child {
	border-top-right-radius: var(--border_radius);
}

.amortization-table th {
	padding: var(--spacing_5);
	border-bottom: none;
	border-left: none;
	border-right: none;
}

.amortization-table td {
	padding: var(--spacing_5);
	border-top: 1px solid var(--border_color);
	border-bottom: none;
	border-left: none;
	border-right: none;
}

.cashflow-results {
	padding-top: 0;
}

.cf-positive {
	color: #4CAF50;
}

.cf-negative {
	color: #F44336;
}

/*-------------------- HOME PAGE CRM --------------------*/
.optin-feature-card,
.phase-card,
.advantage-card,
.testimonial-card,
.addon-card,
.pricing-card,
.solution-card,
.feature-card {
	border-radius: var(--border_radius);
	box-shadow: var(--box_shadow);
	border: 2px solid var(--border_color);
}

.optin-feature-card:hover,
.phase-card:hover,
.advantage-card:hover,
.testimonial-card:hover,
.addon-card:hover,
.pricing-card:hover,
.solution-card:hover,
.feature-card:hover {
	transform: var(--transform);
	border: 2px solid var(--color_2);
} @media (max-width: 1023px) {
	.optin-feature-card:hover,
	.phase-card:hover,
	.advantage-card:hover,
	.testimonial-card:hover,
	.addon-card:hover,
	.pricing-card:hover,
	.solution-card:hover,
	.feature-card:hover {
		transform: none;
	}
}

.section-gray,
.section-dark {
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-right: 6rem;
	padding-left: 6rem;
} @media (max-width: 1023px) {
	.section-gray,
	.section-dark {
		padding-top: 2rem;
		padding-bottom: 2rem;
		padding-right: 4rem;
		padding-left: 4rem;
	}
} @media (max-width: 767px) {
	.section-gray,
	.section-dark {
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-right: 2rem;
		padding-left: 2rem;
	}
}

.section-dark {
	background: var(--color_1);
	color: white;
}

.section-header {
	text-align: center;
}

.section-title {
} @media (max-width: 1023px) {
	.section-title {
		font-size: 2rem;
	}
} @media (max-width: 767px) {
	.section-title {
		font-size: 1.5rem;
	}
}

.section-subtitle {
	color: var(--color_1);
}

.section-dark .section-title,
.section-dark .section-subtitle {
	color: white;
}

.features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing_20) ;
} @media (max-width: 1023px) {
	.features-grid {
		grid-template-columns: repeat(2, 1fr);
	}
} @media (max-width: 767px) {
	.features-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.advantages-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing_20) ;
} @media (max-width: 1023px) {
	.advantages-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.feature-title {
} @media (max-width: 1023px) {
	.feature-title {
		font-size: 1.5rem;
	}
}

.pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing_20) ;
} @media (max-width: 1023px) {
	.pricing-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.addons-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacing_20) ;
} @media (max-width: 1023px) {
	.addons-grid {
		grid-template-columns: repeat(2, 1fr);
	}
} @media (max-width: 767px) {
	.addons-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.solutions-grid,
.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing_20) ;
} @media (max-width: 767px) {
	.solutions-grid,
	.testimonials-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

.feature-icon,
.advantage-icon,
.solution-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
}

.feature-icon {
	background: var(--color_1);
}

.solution-icon {
	background: var(--color_2);
}

.advantage-icon.green {
	background: #10b981;
}

.advantage-icon.blue {
	background: #3b82f6;
}

.advantage-icon.orange {
	background: #f97316;
}

.solution-features,
.addon-features,
.pricing-features {
	list-style: none;
	padding: 0;
}

.trial-feature-item,
.solution-feature,
.addon-feature,
.pricing-feature {
	border-bottom: 1px solid var(--border_color);
	padding-bottom: var(--spacing_5);
}

.trial-feature-item::before,
.solution-feature::before,
.addon-feature::before,
.pricing-feature::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #10b981;
	font-weight: bold;
}

.cta-primary button,
.pricing-button button,
.contact-sales-button button,
.trial-button button,
.final-cta-button button {
	padding: var(--spacing_20) ;
	border-radius: 10000px;
	height: unset;
}

.cta-primary button {
	background: #f97316;
}

.cta-primary button:hover {
	background: #ea580c;
	transform: var(--transform);
} @media (max-width: 1023px) {
	.cta-primary button:hover {
		transform: none;
	}
}

.pricing-button button {
	background: #fb923c;
}

.pricing-button button:hover {
	background: #3b82f6;
	transform: var(--transform);
} @media (max-width: 1023px) {
	.pricing-button button:hover {
		transform: none;
	}
}

.contact-sales-button {
	background: #2563eb;
	margin-top: var(--spacing_10);
}

.contact-sales-button:hover {
	background: #1d4ed8;
	transform: var(--transform);
} @media (max-width: 1023px) {
	.contact-sales-button:hover {
		transform: none;
	}
}

.trial-button button {
	background: white;
	color: #059669;
}

.trial-button button:hover {
	background: #f3f4f6;
}

.final-cta-button button {
	background: #10b981;
	width: auto;
}

.final-cta-button button:hover {
	background: #f3f4f6;
	transform: var(--transform);
} @media (max-width: 1023px) {
	.final-cta-button button:hover {
		transform: none;
	}
}

@media (max-width: 1023px) {
	.trial-features-title {
		font-size: 1.5rem;
	}
}

.guarantee-text {
	margin-top: var(--spacing_10);
}

.hero-section {
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-right: 6rem;
	padding-left: 6rem;
	overflow: hidden;
} @media (max-width: 1023px) {
	.hero-section {
		padding-top: 2rem;
		padding-bottom: 2rem;
		padding-right: 4rem;
		padding-left: 4rem;
	}
} @media (max-width: 767px) {
	.hero-section {
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-right: 2rem;
		padding-left: 2rem;
	}
}

.hero-title {
	color: white;
} @media (max-width: 1023px) {
	.hero-title {
		font-size: 3rem;
	}
} @media (max-width: 767px) {
	.hero-title {
		font-size: 2rem;
	}
}

.hero-subtitle {
	color: var(--color_1);
} @media (max-width: 767px) {
	.hero-subtitle {
		font-size: 1rem;
	}
}

@media (max-width: 767px) {
	.hero-buttons {
		flex-direction: column;
	}
}

.button-like {
	border-radius: var(--spacing_10);
	width: auto;
}@media (max-width: 1439px) {
    .button-like {
        font-size: 1rem;
    }
}

.free-trial-badge,
.guarantee-badge {
	background: #10b981;
	padding: var(--spacing_20) ;
	border-radius: 10000px;
}

.feature-description {
	color: var(--color_1);
}

.trial-inner {
	background: rgba(255, 255, 255, 0.1);
}

.trial-features-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing_20) ;
}

.trial-features-list {
	list-style: none;
} @media (max-width: 1023px) {
	.trial-features-list {
		padding-left: var(--spacing_20);
	}
}

.trial-disclaimer,
.final-cta-disclaimer {
	color: white;
}

.pricing-title,
.solution-title {
	color: var(--color_1);
} @media (max-width: 1023px) {
	.pricing-title,
	.solution-title {
		font-size: 1.5rem;
	}
}

.addon-price,
.pricing-amount {
} @media (max-width: 1023px) {
	.addon-price,
	.pricing-amount {
		font-size: 3rem;
	}
}

.advantage-title,
.addon-title {
} @media (max-width: 1023px) {
	.advantage-title,
	.addon-title {
		font-size: 1.5rem;
	}
}

.addon-card,
.testimonial-card,
.advantage-text {
	color: black;
}

.advantage-card {
	border-top: 5px solid;
}

.advantage-card.green {
	border-top-color: #10b981;
}

.advantage-card.blue {
	border-top-color: #3b82f6;
}

.advantage-card.orange {
	border-top-color: #f97316;
}

.solution-features-list {
	list-style: none;
	text-align: left;
	padding: 0;
	margin: 0;
}

.testimonial-quote-begin,
.testimonial-quote-end {
	position: absolute;
	top: calc(var(--spacing_5) * -1);
	font-size: 3.5rem;
	color: var(--color_2);
}

.testimonial-quote-begin {
	left: var(--spacing_20) ;
}

.testimonial-quote-end {
	right: var(--spacing_20) ;
}

.testimonial-text {
	font-style: italic;
	padding-left: calc(var(--spacing_5) * 5);
	padding-right: calc(var(--spacing_5) * 5);
	font-size: 1.5rem;
} @media (max-width: 1023px) {
    .testimonial-text {
        font-size: 1rem;
    }
}

.testimonial-author {
	font-weight: bold;
	color: var(--color_2);
}

.faq-list {
	width: 60dvw;
} @media (max-width: 1023px) {
    .faq-list {
        width: 80dvw;
    }
}

.faq-item {
	background: white;
	border-radius: var(--border_radius);
	box-shadow: var(--box_shadow);
	overflow: hidden;
}

.faq-question {
	background: var(--color_1);
	color: white;
	padding: var(--spacing_10);
	cursor: pointer;
} @media (max-width: 1023px) {
    .faq-question {
        font-size: 1.5rem;
    }
} @media (max-width: 767px) {
    .faq-question {
        font-size: 1rem;
    }
}

.faq-question:hover {
	background: #374151;
}

.faq-answer {
	padding: var(--spacing_20) ;
}

.faq-text {
	color: var(--color_1);
}

.value-prop-text,
.value-prop-title {
	color: white;
}

.comparison-table {
	background: white;
	border-radius: var(--border_radius);
	overflow-x: auto;
	border: 1px solid var(--border_color);
	width: 100%;
	width: 90dvw;
} @media (max-width: 767px) {
    .comparison-table {
        width: 100dvw;
		border-radius: 0;
		border-left: none;
		border-right: none;
    }
}

.comparison-table .table {
	border-radius: var(--border_radius);
	overflow: hidden;
	border-collapse: collapse;
	width: 100%;
} @media (max-width: 767px) {
    .comparison-table .table {
        border-radius: 0;
    }
}

.comparison-table .table-header {
	background: var(--color_2);
	color: white;
}

.comparison-table .table-header tr {
	background: inherit;
}

.comparison-table .table-header th {
	padding: var(--spacing_20) ;
	text-align: left;
	font-weight: bold;
	background: inherit;
	white-space: nowrap;
}

.comparison-table .table-header th:not(:first-child) {
	text-align: center;
}

.comparison-table .table-row {
	border-bottom: 1px solid var(--border_color);
}

.comparison-table .table-row:nth-child(even) {
	background: var(--border_color);
}

.comparison-table .table-cell {
	padding: var(--spacing_20) ;
	background: inherit;
	white-space: nowrap;
}

.comparison-table .table-cell-bold {
	font-weight: bold;
}

.comparison-table .table-cell-center {
	text-align: center;
}

.comparison-table .table-cell-green {
	color: #059669;
	font-weight: bold;
}

.comparison-table .table-cell-red {
	color: #dc2626;
}

.comparison-table .table-cell-yellow {
	color: #d97706;
}

.sticky-cta {
	position: fixed;
	bottom: var(--spacing_20) ;
	right: var(--spacing_20) ;
	background: #fb923c;
	color: white;
	padding: var(--spacing_20) ;
	font-weight: bold;
	border-radius: 10000px;
	z-index: 50;
	opacity: 0;
	transform: translateY(5rem);
}

.sticky-cta:hover {
	background: #3b82f6;
}

.sticky-cta.show {
	opacity: 1;
	transform: translateY(0);
}

/*-------------------- HOME PAGE EXTERNAL --------------------*/
.hero {
	aspect-ratio: 16 / 9;
} @media (max-width: 1023px) {
	.hero {
		aspect-ratio: 8 / 5;
	}
} @media (max-width: 767px) {
	.hero {
		aspect-ratio: 4 / 3;
	}
}

.hero-bg {
	object-fit: cover;
	object-position: center;
}

.hero-search-container {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--overlay_color);
} @media (max-width: 1439px) {
    .hero-search-container {
		width: 60dvw;
    }
} @media (max-width: 1023px) {
    .hero-search-container {
		width: 80dvw;
    }
}

@media (max-width: 1439px) {
    .quick-searches {
		grid-template-columns: repeat(3, 1fr);
    }
} @media (max-width: 767px) {
    .quick-searches {
		grid-template-columns: repeat(2, 1fr);
    }
}

/*-------------------- API DOCS PAGE --------------------*/
#api-docs li {
	margin-bottom: var(--spacing_10);
}

/*-------------------- ROADMAP PAGE --------------------*/
.roadmap-progress-bar-labels {
	margin-bottom: var(--spacing_5);
}

.roadmap-progress-bar {
	height: var(--spacing_10);
	background: var(--border_color);
}

.feature-status.completed {
	color: green;
}

.feature-status.in-progress {
	color: orange;
}

.feature-status.pending {
	color: grey;
}

.timeline-container {
	padding-top: calc(var(--spacing_10) * 2);
	padding-bottom: calc(var(--spacing_10) * 2);
}

.timeline-line {
	left: 50%;
	width: var(--spacing_10);
	transform: translateX(-50%);
}

.timeline-dot {
	left: 50%;
	top: 50%;
	width: 1.5rem;
	height: 1.5rem;
	transform: translate(-50%, -50%);
	z-index: 2;
	border: var(--spacing_5) solid white;
}

.timeline-content {
	border: var(--spacing_3) solid var(--border_color);
}

.timeline-content:hover {
	border-color: var(--color_2);
}

.timeline-item:nth-child(odd) .timeline-content {
	margin-right: auto;
	margin-left: 0;
}

.timeline-item:nth-child(even) .timeline-content {
	margin-left: auto;
	margin-right: 0;
}

.timeline-badge.completed {
	background: green;
}

.timeline-badge.current {
	background: orange;
}

.timeline-badge.planned {
	background: grey;
}

.timeline-content p {
	border-top: 1px solid var(--border_color);
	border-bottom: 1px solid var(--border_color);
	padding-top: var(--spacing_10);
	padding-bottom: var(--spacing_10);
}

/*-------------------- LEGAL PAGE --------------------*/
.legal-column {
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-right: 6rem;
	padding-left: 6rem;
} @media (max-width: 1439px) {
	.legal-column {
		width: 75dvw;
	}
} @media (max-width: 1023px) {
	.legal-column {
		width: 90dvw;
		padding-top: 2rem;
		padding-bottom: 2rem;
		padding-right: 4rem;
		padding-left: 4rem;
	}
} @media (max-width: 767px) {
	.legal-column {
		width: 100dvw;
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-right: 2rem;
		padding-left: 2rem;
	}
}

.legal-nav {
	border-bottom: var(--spacing_1) solid var(--border_color);
} @media (max-width: 767px) {
	.legal-nav {
		height: unset;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.legal-nav-link {
		width: 100%;
	}
}

.legal-major-section {
	border-top: var(--spacing_3) solid var(--color_1);
	scroll-margin-top: var(--header_height);
}

.legal-major-section:first-child {
	border-top: none;
}

@media (max-width: 1023px) {
	.legal-major-title {
		font-size: 2.5rem;
	}
}

.legal-heading {
	margin-bottom: var(--spacing_10);
	padding-bottom: var(--spacing_10);
	border-bottom: var(--spacing_2) solid var(--color_1);
} @media (max-width: 1023px) {
	.legal-heading {
		font-size: 1.5rem;
	}
}

.legal-subheading {
	margin-bottom: var(--spacing_10);
	margin-top: var(--spacing_10);
} @media (max-width: 1023px) {
	.legal-subheading {
		font-size: 1rem;
	}
}

.legal-notice {
	background: var(--border_color);
	border-left: var(--spacing_5) solid var(--color_2);
}

/*-------------------- CONTACT PAGE --------------------*/
#contact-us-page {
	min-height: calc(100dvh - var(--header_height) - var(--footer_height));
}

@media (max-width: 1023px) {
	.contact-section {
		flex-direction: column;
	}
	
	.contact-card {
		width: 60%;
	}
} @media (max-width: 1023px) {
	.contact-card {
		width: 100%;
	}
}

.contact-card {
	border: var(--spacing_3) solid var(--border_color);
}

.contact-card:hover {
	border-color: var(--color_2);
}

.contact-info-item {
	background: var(--border_color);
}

.contact-info-icon {
	width: 2.5rem;
	height: 2.5rem;
}

/*-------------------- OPT-IN PAGE --------------------*/
#opt-in-page {
	min-height: calc(100dvh - var(--header_height) - var(--footer_height));
}

.optin-links-section {
	margin-top: var(--spacing_10);
}

@media (max-width: 1023px) {
	.optin-features-section {
		flex-direction: column;
	}
	
	.optin-feature-card {
		width: 60%;
	}
} @media (max-width: 767px) {
	#optin {
		padding-top:0;
		gap: 0;
	}
	
	#optin .auth-card {
		min-height: unset;
	}
}

/*-------------------- SETTINGS PAGE --------------------*/
@media (max-width: 767px) {	
	.settings-container {
		padding: 0;
	}
}

.settings-container .saved-search-card .sub-type,
.settings-container .saved-search-card .year {
	grid-column: span 2;
}

@media (max-width: 767px) {
	.settings-container .saved-search-card .search-fields {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.settings-container .saved-search-card .sub-type,
	.settings-container .saved-search-card .year {
		grid-column: span 1;
	}
}

/*-------------------- CAROUSELS --------------------*/
@keyframes carousel-scroll {
	from {transform: translateX(0);}
	to {transform: translateX(calc(-23.25rem * var(--carousel-count) - 0.625rem * var(--carousel-count)));}
}

.carousel-animated {
	animation: carousel-scroll 120s linear infinite;
}

.carousel-animated:hover {
	animation-play-state: paused;
}

@media (max-width: 1023px) {
    .banner {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
} @media (max-width: 768px) {
    .banner {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

@media (max-width: 1023px) {
    .banner h1 {
        font-size: 3rem;
    }
} @media (max-width: 767px) {
    .banner h1 {
        font-size: 2rem;
    }
}

#about-page .banner {
	border-top: 1px solid var(--border_color);
	position: relative;
	z-index: 10000;
}

.carousel {
	padding-top: var(--spacing_20);
	padding-bottom: var(--spacing_20);
}