:root {
	--color-1: #2d80ff;
	/* #007BFF */
	--color-2: #1867df;
	--color-red-1: #ff0000;
	--color-red-2: #bb0000;
	--form-blue-2: #f0f8ff;
	--form-secondary-text: #777;
	--form-border-1: #ccc;
	--form-border-2: #f1f1f1;
	--form-grey-1: #ddd;
	--form-grey-2: #f1f1f1;
	--form-grey-3: #f9f9f9;
	--form-body-1: #171718;
	--form-body-2: #888;
	--form-body-3: #bbb;
	--form-radius-1: 8px;
	--form-radius-2: 4px;
	--form-side-padding: 20px;
}

body.template-map {
	margin: 0;
	padding: 0;
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-size: 16px;
	font-style: normal;
	font-variation-settings: "wdth" 87.5;
}

.lm-loading {
	width: 48px;
	height: 48px;
	border: 5px solid var(--color-1);
	border-bottom-color: transparent;
	border-radius: 50%;
	display: none;
	box-sizing: border-box;
	animation: loading_rotation 1s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 100000;
	pointer-events: none;
	margin-top: -24px;
	margin-left: -24px;
}

.lm-loading.lm-active {
	display: block;
}

.lm-hide {
	display: none !important;
}

.lm-no-pointer-events {
	pointer-events: none !important;
}

@keyframes loading_rotation {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.template-map a:link,
.template-map a:visited,
.template-map a:active {
	color: var(--color-1);
	text-decoration: none;
	transition: all 0.3s linear;
}

.template-map a:hover {
	color: var(--color-2);
}

.template-map a.button {
	background: var(--color-1);
	color: #fff;
	text-decoration: none;
	line-height: 1;
	vertical-align: middle;
	padding: 0.3em 0.5em;
	border-radius: 5px;
	display: inline-block;
}

.template-map a.button:hover {
	background: var(--color-2);
}

.template-map a.button.lm-small {
	font-size: 0.95em;
}

button {
	transition: all 0.3s linear;
}

.lm-text-with-button {
	display: inline-flex;
	gap: 7px;
	flex-wrap: wrap;
}

.lm-map-container {
	position: relative;
	max-width: 100%;
	overflow-x: hidden;
}

.lm-map-container[data-fullscreen="1"] {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10;
}

.admin-bar .lm-map-container[data-fullscreen="1"] {
	top: 32px;
}

.lm-bg-terrain,
.lm-bg-svg,
.leaflet-overlay-pane>svg.leaflet-zoom-animated {
	user-select: none;
}

.lm-map-container .leaflet-overlay-pane {
	opacity: 0;
	transition: opacity 0.3s linear;
}

.lm-map-container .lm-map-loaded .leaflet-overlay-pane {
	opacity: 1;
}

.lm-map-container .lm-map-filters {
	display: none;
	flex-direction: column;
	max-height: calc(100% - 30px);
	box-sizing: border-box;
	background: #fff;
	position: absolute;
	left: 15px;
	top: 15px;
	padding: 1em;
	z-index: 10000;
	max-width: min(80%, 400px);
	border-radius: 5px;
	box-shadow: 2px 4px 8px 0px rgb(0 0 0 / 15%);
}

.lm-map-container .lm-map-filters.lm-active {
	display: flex;
}

.lm-map-filter-group .lm-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0;
	font-size: 1.1em;
	font-weight: 600;
	margin: 0 0 0.4em;
}

.lm-map-filter-group .lm-title span {
	line-height: 1;
}

.lm-map-filter-group .lm-title a {
	display: block;
	padding: 0.2em 0.4em;
	line-height: 1;
	margin-top: 2px;
}

.lm-map-filter-group .lm-title a img {
	width: auto;
	height: 1em;
	opacity: 0.5;
}

.lm-map-filter-group .lm-filter-category {
	display: flex;
	gap: 10px;
	cursor: pointer;
	align-items: center;
	margin: 0.6em 0;
}

.lm-map-filter-group .lm-filter-category input {
	width: 17px;
	height: 17px;
}

.lm-map-filter-group .lm-filter-category img {
	width: 20px;
	height: auto;
}

.lm-map-filter-group .lm-filter-category .category-label {
	white-space: nowrap;
	line-height: 1;
	user-select: none;
}

.lm-map-container .lm-map-feature-info {
	display: none;
	flex-direction: column;
	max-height: calc(100% - 30px);
	box-sizing: border-box;
	background: #fff;
	position: absolute;
	right: 15px;
	top: 15px;
	padding: 1em;
	z-index: 10001;
	max-width: min(80%, 400px);
	border-radius: 5px;
	box-shadow: -2px 4px 8px 0px rgb(0 0 0 / 22%);
}

.lm-map-container .lm-map-feature-info.lm-active {
	display: flex;
}

.lm-map-container .feature-info-header {
	/*display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 5px;*/
}

.lm-map-container a.feature-info-close {
	display: block;
	background: #fff;
	z-index: 10001;
	padding: 5px;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 0;
}

.lm-map-container a.feature-info-close svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: var(--color-red-1);
}

.lm-map-container a.feature-info-close:hover svg {
	fill: var(--color-red-2);
}

.lm-map-container .feature-info-title {
	margin: 0.2em 0 0.4em;
	padding-right: 5px;
	font-size: 1.3em;
	font-weight: 600;
	/*color: var(--color-1);*/
}

.lm-map-feature-info .feature-info-tags {
	display: flex;
	gap: 10px;
	margin: 0.2em 0 0.8em;
}

.lm-map-feature-info .feature-info-tag {
	color: #fff;
	padding: 0.3em 0.5em;
	line-height: 1;
	white-space: nowrap;
	border-radius: 5px;
}

.lm-map-feature-info .feature-info-tag-for-sale {
	background: #e30000;
}

.lm-map-feature-info .feature-info-tag-for-rent {
	background: #005be3;
}

.lm-map-feature-info .feature-info-tag-default {
	background: #005be3;
}

.lm-map-feature-info .feature-info-tag-registered-lots {
	background: #008917;
}

.lm-map-container .feature-info-image {}

.lm-map-container .feature-info-title+.feature-info-image {
	margin-top: 0.8em;
}

.lm-map-container .feature-info-image img {
	display: block;
	width: 100%;
	height: 190px;
	border-radius: 5px;
}

.lm-map-container .feature-info-grid {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px;
	/* Adjust gap between columns if needed */
	margin: 1.2em 0 0.5em;
	flex: 1 1 auto;
	overflow: auto;
}

.lm-map-container .feature-info-title+.feature-info-grid {
	margin-top: 0;
}

.lm-map-container .feature-info-grid:first-child {
	margin-top: 0.5em;
}

.lm-map-container .feature-info-grid>div {}

.lm-map-container .feature-info-grid div.label span {
	display: block;
	padding: 7px 8px;
	background-color: #f2f2f2;
	font-weight: 700;
	font-size: 0.9em;
	border-radius: 5px;
}

.lm-map-container .feature-info-grid div.value {
	vertical-align: middle;
	padding: 5px 8px;
}

.marker-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: inline-block;
}

.marker-wrapper img {
	width: 100% !important;
	height: auto !important;
	display: block;
}

.marker-wrapper.lm-premium img {
	object-fit: contain;
	animation: shine 2s infinite ease-in-out;
}

@keyframes shine {

	0%,
	100% {
		filter: brightness(1.1) saturate(1.1);
	}

	50% {
		filter: brightness(1) saturate(1);
	}
}

.marker-wrapper.lm-premium::before,
.marker-wrapper.lm-premium::after {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	background-color: rgba(255, 255, 255, 0.9);
	clip-path: polygon(48% 6%,
			54% 47%,
			92% 51%,
			53% 56%,
			48% 93%,
			43% 56%,
			5% 50%,
			44% 48%);
	opacity: 0;
	animation: twinkle 2s infinite ease-in-out;
	z-index: 5;
}

.marker-wrapper.lm-premium::before {
	top: 3px;
	left: 57%;
	animation-delay: 0.5s;
}

.marker-wrapper.lm-premium::after {
	bottom: 35%;
	left: 20%;
}

@keyframes twinkle {

	0%,
	100% {
		opacity: 0;
		transform: scale(0.5);
	}

	50% {
		opacity: 1;
		transform: scale(1.4);
	}
}

.lm-cluster-icon {
	background: transparent;
	color: #fff;
	padding: 0.85em 0.6em;
	font-size: 1.3em;
	line-height: 1;
	white-space: nowrap;
	text-align: center;
	/*border-radius: 50%;
		border: 2px solid #fff;*/
}

.lm-cluster-icon-inner::before,
.lm-cluster-icon-inner::after {
	clip-path: polygon(0% 50%, 50% 0%, 100% 50%, 50% 100%);
	/*	clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);*/
}

.lm-cluster-icon-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.lm-cluster-icon-inner::before {
	content: "";
	position: absolute;
	top: -2px;
	left: -2px;
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	background: #fff;
	z-index: 11;
}

.lm-cluster-icon-inner::after {
	content: attr(data-value);
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #555;
	z-index: 12;
	display: flex;
	justify-content: center;
	align-items: center;
}

.lm-cluster-icon.lm-cluster-icon-for-sale .lm-cluster-icon-inner::after {
	background: #e30000;
}

.lm-cluster-icon.lm-cluster-icon-for-rent .lm-cluster-icon-inner::after {
	background: #005be3;
}

.lm-cluster-icon.lm-cluster-icon-registered-lots .lm-cluster-icon-inner::after {
	background: #008917;
}

.lm-cluster-icon.lm-cluster-icon-registered-lots {
	z-index: 10 !important;
}

.lm-map-section-label {
	font-size: 40px;
	font-weight: bold;
	color: black;
	transition: font-size 0.2s;
	pointer-events: none !important;
	white-space: nowrap;
	width: 300px;
	height: 60px;
	line-height: 60px;
	vertical-align: middle;
	text-align: center;
	/*    text-shadow: 0 0 2px #585858, 0 0 2px #585858;*/
}

.lm-map-container button {
	border: none;
	padding: 0.4em 0.8em;
	font-size: 16px;
	background: #5291f1;
	color: #fff;
	transition: all 0.3s linear;
	cursor: pointer;
	border-radius: 5px;
}

.lm-map-container button:hover {
	background: #3673d1 !important;
}

#lm-map {
	width: 100%;
	height: 100%;
	min-height: 450px;
}

.map-popup-container {
	background: rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100000000;
	box-sizing: border-box;
}

.map-popup-container:not(.map-active) {
	display: none;
}

.map-popup {
	display: flex;
	flex-direction: column;
	position: relative;
	background: #fff;
	width: 750px;
	max-width: 100%;
	max-height: 100%;
	/* padding: 10px 20px; */
	box-sizing: border-box;
	border-radius: 10px;
}

.map-popup>* {
	padding-left: 20px;
	padding-right: 50px;
}

.map-popup>*:first-child {
	padding-top: 20px;
}

.map-popup>*:last-child {
	padding-bottom: 15px;
}

.map-popup-header {}

.map-popup-body {
	overflow-y: auto;
}

.map-popup-body>*:first-child,
.map-popup-body>input[type="hidden"]:first-child+* {
	margin-right: 25px !important;
}

.map-popup-footer {
	padding-top: 10px;
	background-color: #fff;
	border-radius: 10px;
}

a.map-popup-close {
	position: absolute;
	top: 10px;
	right: 15px;
	/*background-color: #fff;*/
	color: #000;
	line-height: 1.6em;
	font-size: 1.3em;
	/* padding: 8px; */
	border-radius: 50%;
	width: 1.6em;
	height: 1.6em;
	text-align: center;
	vertical-align: middle;
}

a.map-popup-close svg {
	display: block;
	width: 30px;
	height: 30px;
}

a.map-popup-close:hover {
	color: red;
}

@media (min-width: 560px) {
	.lm-map-filter-group .lm-title a {
		display: none;
	}
}

@media (max-width: 479px) {
	.map-popup>* {
		padding-left: 15px;
		padding-right: 15px;
	}

	.map-popup>*:first-child {
		padding-top: 15px;
	}

	.map-popup>*:last-child {
		padding-bottom: 15px;
	}
}

.leaflet-control-attribution {
	display: none !important;
}

/* >>> REGISTRATION FORM */

:root {}

svg.facebook {
	fill: #1877f2;
}

svg.youtube {
	fill: #ff0000;
}

svg.linkedin {
	fill: #0a66c2;
}

svg.twitter {
	fill: #000;
}

svg.telegram {
	fill: #0088cc;
}

svg.globe {
	fill: #0082d5;
}

.ml-marker-icon {
	position: relative;
	display: inline-block;
	line-height: 1;
	flex: 0 0 auto;
}

.lot-marker-selection-box .ml-content,
.lot-premium-add-ons .ml-content {
	user-select: none;
}

.ml-content>.ml-label {
	font-weight: 700;
	display: block;
}

.ml-content>.ml-meta {
	display: block;
	font-size: 0.9em;
	margin: 0.3em 0;
}

.ml-content>.ml-meta .ml-price {
	font-size: 1.1em;
}

.ml-content>.ml-description {
	font-size: 0.9em;
	display: block;
	margin: 0.15em 0 0.3em;
}

.lot-marker-selection-box>h4,
.lot-premium-add-ons>h4 {
	margin: 1.2em 0 0.7em;
}

.lot-marker-selection-box>label,
.lot-premium-add-ons>label {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0.7em 0;
	border: 1px solid var(--form-border-1);
	padding: 8px;
	background: var(--form-grey-3);
	border-radius: var(--form-radius-1);
	cursor: pointer;
}

.lm-or {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 7px;
	margin: 1em 0;
	max-width: 257px;
}

.lm-or hr {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
}

a.lm-connect-email-password {
	display: inline-block;
	min-width: min(259px, 100%);
}

a.lm-connect-email-password.lm-active {
	margin-bottom: 15px;
}

a.lm-connect-email-password>.nsl-button {
	color: #fff;
	padding: 8px 10px;
	text-align: center;
	background: #047857;
	transition: all 0.3s linear;
	border-radius: 5px;
}

a.lm-connect-email-password:hover>.nsl-button {
	background: #044633;
}

.lm-connect-email-password.lm-active>.nsl-button {
	border: 2px solid red;
	background: #044633;
}

.form-step.step-thank-you h3 {
	font-size: 14px;
	color: #044633;
	line-height: 1.25;
}

.step-owner-lot-info[data-logged-in="1"]>.lm-login,
/*.step-owner-lot-info[data-logged-in="1"] > label[for="email-address"],
	.step-owner-lot-info[data-logged-in="1"] > label[for="email-address"] + div,*/
.step-owner-lot-info[data-logged-in="1"]>label[for="password"],
.step-owner-lot-info[data-logged-in="1"]>label[for="password"]+div,
.step-owner-lot-info[data-logged-in="1"]>label[for="profilePhoto"],
.step-owner-lot-info[data-logged-in="1"]>.upload-box,
.step-owner-lot-info[data-logged-in="1"]>.uploaded-file-info,
.step-owner-lot-info[data-logged-in="0"]>.email-password-container,
.step-owner-lot-info[data-logged-in="1"]>.email-password-container,
.step-owner-lot-info[data-logged-in="0"]>.email-password-container~* {
	display: none !important;
}

.step-owner-lot-info[data-logged-in="2"] .email-password-container hr {
	margin: 25px 0 10px;
}

.form-step>p.ml-label {
	margin: 0.8em 0 0.4em;
}

.form-step .ml-yes-no-box {
	flex: 1 1 auto;

	max-width: 50%;
}

.form-step .ml-yes-no-box .field-description {
	display: block;

	width: max-content;

	max-width: 100%;
}

.form-step .ml-yes-no-box .field-radio-values {
	display: flex;

	align-items: center;

	gap: 10px;
}

.form-step .ml-yes-no-box .field-radio-values input[type="radio"] {
	margin-right: 6px;
	width: auto;
}

.form-step .ml-yes-no-box .field-radio-values label {
	/*display: flex;
							
				align-items: center;
							
				gap: 4px;
							
				padding: 0.4em 0;
							
				margin: 0;
							
				font-size: 0.9em;*/
	white-space: nowrap;
}

.form-step .uploaded-file-info {
	display: flex;
	align-items: center;
	gap: 8px;
}

.form-step .uploaded-file-info img {
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: var(--form-radius-1);
}

.form-step .uploaded-file-info a.ml-remove, .form-step .uploaded-file-info a.ml-remove2 {
	text-decoration: none;
}

.form-step .uploaded-file-info a.ml-remove svg, .form-step .uploaded-file-info a.ml-remove2 svg {
	fill: var(--color-red-1);
	display: block;
	width: 17px;
	height: auto;
}

.form-step .uploaded-file-info .ml-file-name {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	max-width: 240px;
}

.form-step .uploaded-file-info img[src=""],
.form-body .upload-box:not(.ml-active),
.form-body .uploaded-file-info:not(.ml-active),
.form-body h4.ml-total-price:not(.ml-active),
.lot-premium-add-ons:not(.ml-active),
.lot-premium-add-ons>label:not(.ml-active) {
	display: none !important;
}

.lot-marker-selection-box>label:hover,
.lot-premium-add-ons>label:hover {
	background-color: var(--form-blue-2);
}

.lot-marker-selection-box>label.ml-selected,
.lot-premium-add-ons>label.ml-selected {
	border-color: var(--color-1);
	background-color: var(--form-blue-2);
}

.lot-marker-selection-box label>input[type="radio"],
.lot-premium-add-ons label>input[type="checkbox"] {
	flex: 0 1 auto;
	width: auto;
	margin: 0;
}

.lot-marker-selection-box label>span.ml-label,
.lot-premium-add-ons label>span.ml-label {
	flex: 1 1 auto;
}

.form-step.step-links>label {
	margin-left: 28px;
}

.form-step label[for] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 5px;
	max-width: max-content;
}

.form-step label.ml-error,
.form-step .ml-label.ml-error {
	color: var(--color-red-1);
}

.form-step .ml-fields-error {
	display: none;
	color: var(--color-red-1);
}

.form-step .ml-fields-error.ml-active {
	display: block;
}

.form-step label.ml-error+.ml-input-container>input,
.form-step label.ml-error+.ml-input-container>textarea,
.form-step label.ml-error+input,
.form-step .ml-label.ml-error+input,
.form-step input.ml-error,
.form-step label.ml-error+textarea,
.form-step label.ml-error+.upload-box {
	border-color: var(--color-red-1) !important;
}

.form-step .optional-text {
	white-space: nowrap;
	line-height: 1;
	vertical-align: middle;
}

.ml-flex-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.ml-input-container>svg {
	width: 20px;
	height: auto;
}

.ml-input-container input {
	margin: 0;
}

.secondary-text,
label .field-description {
	font-size: 12px;
	color: var(--form-secondary-text);
}

label .field-description {
	display: block;
	flex: 1 1 auto;
	width: 100%;
}

/* Button positioned at 200px from top and left */
#claimLotButton {
	position: absolute;
	top: 200px;
	left: 200px;
	z-index: 10000;
	background-color: var(--color-1);
	color: #fff;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

#claimLotButton:hover {
	background-color: #0056b3;
}

/* Popup overlay with padding for small screens */
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	background: rgba(0, 0, 0, 0.5);
	justify-content: center;
	align-items: center;
	padding: 20px;
	/* Ensure 20px padding */
	z-index: 10000;
	box-sizing: border-box;
}

.form-container {
	display: flex;
	position: relative;
	flex-direction: column;
	max-width: 500px;
	width: 100%;
	padding: 32px 12px 32px 28px;
	margin: 0;
	gap: 16px;
	border-radius: var(--form-radius-1);
	background-color: #fff;
}

/* Separate content and navigation in a column layout */
/*.form-step-wrapper {
		display: flex;
		flex-direction: column;
		flex: 1;
		overflow: hidden;
	}*/

.owner-icons {
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	margin: 1em 0 0;
}

.owner-icons a {
	display: block;
	text-decoration: none;
}

.owner-icons a:hover {
	opacity: 0.7;
}

.form-header {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.form-header .logo-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}

.form-header .logo-image {
	width: 30px;
	height: 30px;
}

.form-header .logo-text {
	font-size: 20px;
	font-weight: 900;
	background-image: linear-gradient(30deg, #e00004, #0054d2);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.step-owner-lot-info {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.form-body .field-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.form-body label {
	margin-top: 0;
	font-size: 14px;
	line-height: 1.25;
}

.form-body h4.ml-total-price {
	text-align: right;
	margin: 0.3em 0;
}

/* Navigation bar always visible */
.form-nav {
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	padding-right: 16px;
	gap: 5px;
}

.form-nav button.with-icon>span {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 7px;
}

.form-nav .next-btn:first-child {
	margin-left: auto;
}

.form-nav .lot-form-btn {
	width: 100%;
	height: 44px;
	background-color: #047857;
	border-radius: var(--form-radius-2);
	font-size: 16px;
	text-align: center;
}

.form-body .fields-wrapper {
	display: flex;
	flex-direction: column;
	padding-right: 8px;
	gap: 16px;
	max-height: 480px;
	overflow-y: auto;
}

/* Scrollbars only for step content */
.form-body .fields-wrapper::-webkit-scrollbar {
	width: 8px;
}

.form-body .fields-wrapper::-webkit-scrollbar-thumb {
	background-color: var(--form-body-3);
	border-radius: 10px;
}

.form-body .fields-wrapper::-webkit-scrollbar-track {
	background-color: var(--form-border-2);
}

/* Close button */
button.close-btn {
	position: absolute;
	top: 1rem;
	right: 0.5rem;
	width: 36px;
	height: 36px;
	padding: 0;
	background: none;
	border: none;
	font-size: 28px;
	cursor: pointer;
	color: var(--color-red-1);
	line-height: 1;
}

button.close-btn:hover {
	color: var(--color-red-2);
	background: none;
}

.form-header button.close-btn {
	color: #666;
}

.form-header button.close-btn:hover {
	color: #171718;
}

button.prev-btn svg,
button.next-btn svg {
	width: 12px;
	height: auto;
	fill: #fff;
	flex: 0 0 auto;
}

button.prev-btn svg {
	fill: var(--form-body-1);
	opacity: 0.4;
}

button.prev-btn {
	background: var(--form-grey-2);
	color: var(--form-body-1);
	max-width: 50%;
}

button.prev-btn:hover {
	background: var(--form-grey-1);
}

/* Step info under progress bar */
.step-info {
	font-size: 0.8em;
	color: var(--form-secondary-text);
	text-align: center;
	margin: 5px 30px 15px;
}

.progress-bar {
	height: 8px;
	background-color: #e0e0e0;
	position: relative;
	border-top-left-radius: var(--form-radius-1);
	border-top-right-radius: var(--form-radius-1);
}

.progress {
	width: 0;
	height: 100%;
	background-color: var(--color-1);
	transition: width 0.5s;
	border-top-left-radius: var(--form-radius-1);
}

.progress-full {
	border-top-right-radius: var(--form-radius-1);
}

.upload-box {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px dashed var(--form-border-1);
	padding: 20px;
	text-align: center;
	cursor: pointer;
	border-radius: 5px;
	transition: all 0.3s linear;
	width: 120px;
	height: 120px;
}

.upload-box .secondary-text {
	margin-bottom: 0;
}

.upload-box:hover {
	background-color: var(--form-blue-2);
}

.upload-box.drag-over {
	background-color: var(--form-blue-2);
	border-color: var(--color-1);
}

/* Custom dashed file input visibility */
#profilePhoto {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

/* Form steps */
.form-step {
	display: none;
}

.form-step.active {
	display: flex;
	flex-direction: column;
}

.form-header .step-title {
	margin: 0;
	font-size: 22px;
	text-align: left;
	font-weight: bold;
	color: var(--form-body-1);
}

.form-header p {
	margin: 0.7em 0 1.2em;

	font-size: 0.92em;
}

label {
	margin-top: 10px;
}

input,
textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 10px;
	margin-top: 5px;
	margin-bottom: 15px;
	border: 1px solid var(--form-border-1);
	border-radius: 5px;
}

input[type="number"] {
	max-width: 200px;
}

/* Navigation buttons */
button {
	background-color: var(--color-1);
	color: #fff;
	padding: 10px 15px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

button:hover {
	background-color: #0056b3;
}

.success-message h2 {
	color: #28a745;
}

/* <<< REGISTRATION FORM */
#registration-form {
	padding: 0;
}

#registration-form .form-container {
	padding: 32px 24px;
}

.lm-login {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#registration-form .title-wrapper {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#registration-form .form-title {
	margin: 0;
	font-size: 22px;
	font-weight: bold;
	color: #171718;
	text-align: start;
}

#registration-form .form-desc {
	margin: 0;
	font-size: 14px;
	color: #64748b;
	text-align: start;
	line-height: 1;
}

#registration-form .field-label {
	font-size: 14px;
	color: #171718;
	font-weight: 600;
}

#registration-form .field-wrapper {
	display: flex;
	flex-direction: column;
	text-align: start;
	gap: 8px;
}

#registration-form .forgot-password-btn {
	padding: 0;
	font-size: 12px;
	font-weight: bold;
	color: #047857;
	background-color: transparent;
}

#registration-form .email-password-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#registration-form .keep-signin-wrapper {
	display: flex;
	gap: 8px;
}

#registration-form .keep-signin-wrapper input {
	width: 16px;
	height: 16px;
	margin: 0;
}

#registration-form .keep-signin-wrapper input[type="checkbox"] {
	background-color: #2b7857 !important;
	color: white;
}

#registration-form .lm-or {
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	color: #4b5768;
}

.nsl-container-buttons {
	width: 100%;
	display: flex;
	gap: 8px;
}

div.nsl-container div.nsl-container-buttons a[data-plugin="nsl"] {
	margin: 0;
}

.leaflet-left {
	display: none;
}

/* Modal Background */
#profileModal {
	display: none;
	/* Hidden by default */
	position: fixed;
	/* Stay in place */
	z-index: 1000;
	/* Sit on top */
	left: 0;
	top: 0;
	width: 100%;
	/* Full width */
	height: 100%;
	/* Full height */
	overflow: auto;
	/* Enable scroll if needed */
	background-color: rgba(0, 0, 0, 0.5);
	/* Black with opacity */
}

/* Modal Content Box */
.modal-dialog {
	position: relative;
	margin: 10% auto;
	/* Center vertically and horizontally */
	background-color: #fff;
	border-radius: 10px;
	padding: 20px;
	max-width: 600px;
	/* Adjust width as needed */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	animation: fadeIn 0.3s ease-in-out;
}

/* Modal Header */
.modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}

.modal-title {
	font-size: 1.5rem;
	margin: 0;
}

.modal-header .close {
	background: none;
	border: none;
	font-size: 1.2rem;
	cursor: pointer;
}

/* Modal Body */
.modal-body {
	margin-top: 15px;
	margin-bottom: 15px;
}

/* Modal Footer */
.modal-footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

/* Buttons */
.modal-footer .btn {
	padding: 8px 15px;
	font-size: 0.9rem;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.modal-footer .btn-primary {
	background-color: #007bff;
	color: #fff;
}

.modal-footer .btn-primary:hover {
	background-color: #0056b3;
}

.modal-footer .btn-secondary {
	background-color: #6c757d;
	color: #fff;
}

.modal-footer .btn-secondary:hover {
	background-color: #5a6268;
}

/* Animation for Modal Appearance */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}