

	/* ################################################################################################  */
	/* ################################################################################################  */
	/* ################################################################################################  */
	/* ################################################################################################  */

	/* Base Functionality - Non-Accented Styling */

	.pop-in{
		transform: translateY(6px) scale(0.92);
		filter: blur(10px);
		opacity: 0;
		transform-origin: 50% 50%;
		will-change: transform, filter, opacity;

		transition:
			transform 520ms cubic-bezier(.2,.9,.2,1),
			filter 520ms cubic-bezier(.2,.9,.2,1),
			opacity 420ms ease;
	}

	.pop-in.is-in{
		transform: translateY(0) scale(1);
		filter: blur(0);
		opacity: 1;
	}

	@media (prefers-reduced-motion: reduce){
		.pop-in{
			transition: none;
			transform: none;
			filter: none;
			opacity: 1;
		}
	}


	@keyframes spin {
		from { transform: rotate(0deg); }
		to   { transform: rotate(360deg); }
	}

	/* ################################################################################################  */
	/* ################################################################################################  */
	/* ################################################################################################  */
	/* ################################################################################################  */

	/* Accented Styling  */


	.open-sans-500 {
	  font-family: "Open Sans", sans-serif;
	  font-optical-sizing: auto;
	  font-weight: 500;
	  font-style: normal;
	  font-variation-settings:
	    "wdth" 100;
	}
	.open-sans-300 {
	  font-family: "Open Sans", sans-serif;
	  font-optical-sizing: auto;
	  font-weight: 300;
	  font-style: normal;
	  font-variation-settings:
	    "wdth" 100;
	}


	.dark-gradient {
		background: #5c5c5c;
		background: -webkit-linear-gradient(128deg, rgba(92, 92, 92, 1) 0%, rgba(61, 61, 61, 1) 100%);
		background: -moz-linear-gradient(128deg, rgba(92, 92, 92, 1) 0%, rgba(61, 61, 61, 1) 100%);
		background: linear-gradient(128deg, rgba(92, 92, 92, 1) 0%, rgba(61, 61, 61, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#5C5C5C", endColorstr="#3D3D3D", GradientType=0);
	}

	.white-silhouette {
		background-image: url(../media/white-silhouette.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	/* Logo */

	.logo-symbol-white {
		width: 50px;
		height: 50px;
		background-image: url(../media/logo-img-white.png);
		background-position: center center;
		background-size: 100% 100%;
		background-repeat: no-repeat;
	}

	.logo-text-white {
		width: 200px;
		height: 40px;
		background-image: url(../media/logo-text-white.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	/* Link color  */

	/* Global link color override */
	a {
		color: #d1929a; /* Bootstrap orange */
		text-decoration-color: rgba(209, 146, 154, 0.55);
	}

	/* Hover / active */
	a:hover,
	a:active {
		color: #f5b5bd;
		text-decoration-color: rgba(245, 181, 188, 0.8);
	}

	/* Focus (keyboard accessibility) */
	a:focus-visible {
		outline: none;
		box-shadow: 0 0 0 0.2rem rgba(245, 181, 188, 0.35);
		border-radius: 0.25rem;
	}


	.form-divider {
		background-color: #dc3545;
		opacity: 1;
		height: 6px !important;
	}

	.icon {

		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.f-dark-orange {
		color: #ab1a28;
	}






	p {
		font-size: 0.875em;
		color: rgba(0,0,0,0.7);
	}



	.logo-inline {
	    display: inline-block;
	    height: 1.1em;
	    width: auto;
	    vertical-align: -0.275em;
	}
































	.fnt-100 {
		  font-family: "Lexend", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 100;
		  font-style: normal;
	}


	.fnt-200 {
		  font-family: "Lexend", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 200;
		  font-style: normal;
	}

	.fnt-300 {
		  font-family: "Lexend", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 300;
		  font-style: normal;
	}

	.fnt-400 {
		  font-family: "Lexend", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 400;
		  font-style: normal;
	}

	.fnt-500 {
		  font-family: "Lexend", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 500;
		  font-style: normal;
	}

	.fnt-600 {
		  font-family: "Lexend", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 600;
		  font-style: normal;
	}



	.bi-bedroom {
		width: 18px;
		height: 14px;
		margin-bottom: -2px;
		display: inline-block;
		background-image: url(../media/icon-bedroom-small.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.bi-bathroom {
		width: 18px;
		height: 14px;
		margin-bottom: -2px;
		display: inline-block;
		background-image: url(../media/icon-bathroom-small.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.bi-study {
		width: 18px;
		height: 14px;
		margin-bottom: -2px;
		display: inline-block;
		background-image: url(../media/icon-study-small.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}


	.icon-advanced-filter-geographical-radius {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/advanced-filter-geographical-radius.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.icon-advanced-filter-geographical-radius.small {
		width: 64px;
		height: 64px;
	}


	.icon-advanced-filter-address-search {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/advanced-filter-address-search.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.icon-search-no-results {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/icon-no-results.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.icon-advanced-filter-address-search.small {
		width: 64px;
		height: 64px;
	}



	.icon-red-no-results {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/icon-red-no-results.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.icon-red-general-error {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/icon-red-general-error.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.icon-red-email {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/icon-red-email.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.icon-red-tick {
		width: 128px;
		height: 128px;
		display: inline-block;
		background-image: url(../media/icon-red-tick.png);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}
	
	.floating-box {
		background: white;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		width: 400px;
		max-width: 100vw;
	}











	/* slider track */
.noUi-target {
	border: none;
	background: #e9ecef;
	border-radius: 6px;
	height: 8px;
	box-shadow: none;
}

/* active range between handles */
.noUi-connect {
	background: #dc3545 !important; /* bootstrap primary */
}

/* handles */
.noUi-handle {
	width: 18px;
	height: 18px;
	border-radius: 10px !important;
	background: white;
	border: 2px solid #dc3545 !important;
	box-shadow: none;
	cursor: pointer;
	top: -5px;
}

/* remove default bars inside handle */
.noUi-handle:before,
.noUi-handle:after {
	display: none;
}

/* hover effect */
.noUi-handle:hover {
	background: #f8f9fa;
}

/* focus ring similar to bootstrap */
.noUi-handle:focus {
	outline: none;
	box-shadow: 0 0 0 0.25rem rgba(220, 53, 70, 0.25);
}

#landStructureRatioSlider {
	width: 100%;
}




	/* Common */


	.bs-red {
		color: var(--bs-danger) !important;
	}

	.danger-check {
		accent-color: var(--bs-danger);
	}

	.danger-check {
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23c4c4c4'/%3e%3c/svg%3e") !important;
	}

	.danger-check:checked {
		background-color: var(--bs-danger);
		border-color: var(--bs-danger);
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
	}

	.danger-check:focus {
		border-color: var(--bs-danger);
		box-shadow: 0 0 0 .25rem rgba(220,53,69,.25);
	}

	.grey-empty:placeholder-shown {
		background-color: var(--bs-gray-200);
		color: var(--bs-gray-600);
		opacity: 0.5;
	}	

	.grey-empty {
		transition: background-color .2s ease;
	}

	.info-button {
		width:12px;
		height:12px; 
		font-size: 0.8em;
	}

	.special-rounded {
		border-radius: 15px !important;
	}

	.special-rounded-2 {
		border-radius: 10px !important;
	}

	/* Toast related */

		@media (min-width: 576px) {
			.bottom-sm-0 {
				top: auto !important;
				bottom: 0 !important;
			}
		}

	/* Spinner */

	.spinner {
		width: 40px;
		height: 40px;
		border: 4px solid rgba(255,0,0,0.15);
		border-top: 4px solid #ff0000;
		border-radius: 50%;
		animation: spin 0.8s linear infinite;
	}

	.spinner.large {
		border: 6px solid rgba(255,0,0,0.15);
		border-top: 6px solid #ff0000;
		width: 80px;
		height: 80px;
	}
	.spinner.small {
		width: 20px;
		height: 20px;
	}

	@keyframes spin {
		from {
			transform: rotate(0deg);
		}
		to {
			transform: rotate(360deg);
		}
	}

	hidden {
		display: none;
	}






	.link {
		color: #d1929a;
	    text-decoration-color: rgba(209, 146, 154, 0.55);
	    text-decoration: underline;
	    cursor: pointer;
	}














::-webkit-scrollbar {
	display: none;
}


.enlarge-y {
	height: 0;
}

.enlarge-y.visible {
	height: 50px;
}



.opacity-ease-in {
    opacity: 0;
	transition: opacity 0.15s ease-in;
}

.opacity-ease-in.visible {
    opacity: 1;
    transition: opacity 0.15s ease-in;
}

.transitional-0 {
    transition-delay: 0.1s !important;
}
.transitional-100 {
    transition-delay: 0.1s !important;
}
.transitional-200 {
    transition-delay: 0.2s !important;
}
.transitional-300 {
    transition-delay: 0.3s !important;
}
.transitional-400 {
    transition-delay: 0.4s !important;
}
.transitional-500 {
    transition-delay: 0.5s !important;
}
.transitional-600 {
    transition-delay: 0.6s !important;
}


.opacity-ease-in {
    opacity: 0;
}

.opacity-ease-in.visible {
    opacity: 1;
    transition: opacity 0.15s ease-in;
}

