﻿/* #region Variables */

:root {
	--light-gray: #ebedf4;
	--dark-gray: #333333;
	--green: #72be44;
	--dark-green: #5b9836;
	--yellow: #feed00;
	--dark-yellow: #e5d500;
	--gradient-yellow: rgba(254, 237, 0, 0.7);
	--purple: #5e6a9b;
	--light-purple: #b4bbd7;
	--dark-purple: #475280;
	--placeholder: #9ea1ad;
}

/* #endregion */

/* #region Common */

html, body, form {
    height: 100%;
}

body {
    font-family: 'Lato', sans-serif;
	font-size: 16px;
	color: var(--purple);
	background-color: transparent;
}

* {
    /*outline: solid 1px red;*/		/* Uncomment this to outline all element on the page */
}

a,
a:hover,
a:focus,
a:visited {
    color: var(--purple);
	text-decoration: none;
}

a img {
    border: none;
}

a > i {
    margin-right: 7px;
}

h1 {
	font-size: 1.3rem;
	color: var(--purple);
	margin-bottom: 15px;
}

h1 > span {
	font-weight: 900;
}

h2 {
	font-size: 26px;
	color: var(--purple);
	margin-top: 0;
}

h3 {
	font-size: 20px;
	font-weight: bold;
	margin: 10px 0;
}

.form-control {
	background-color: transparent;
	border: none;
	border-bottom: solid 1px var(--purple);
	border-radius: 0;
}

.form-control:focus {
    background-color: transparent;
    border-color: none;
    outline: 0;
    box-shadow: none;
}

.form-control::-webkit-input-placeholder { /* Edge */
	font-size: 16px;
	font-style: italic;
	color: var(--placeholder);
}

.form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-size: 16px;
	font-style: italic;
	color: var(--placeholder);
}

.form-control::placeholder {
	font-size: 16px;
	font-style: italic;
	color: var(--placeholder);
}

.form-floating > textarea.form-control {
 	height: 130px;
}

.form-select {
	background-color: transparent;
	border: none;
	border-bottom: solid 1px var(--purple);
	border-radius: 0;
}

.form-select:focus {
    background-color: transparent;
    border-color: none;
    outline: 0;
    box-shadow: none;
}

.form-control.is-invalid,
.form-select.is-invalid {
	border-bottom: solid 1px var(--bs-danger);
}

.form-control.is-invalid:focus, 
.was-validated .form-control:invalid:focus {
	box-shadow: none;
}

.btn {
	font-weight: bold;
	border-radius: 60px;
    padding: 1rem 2.5rem;
}

.btn + .btn {
  margin-left: 15px;
}

.btn-sm {
	padding: .500rem 1rem;
}

.btn-xl {
	padding: 1.3rem 3rem;
}

.btn-block {
    display: block;
    width: 100%;
}

.btn > i {
	font-size: 1.7rem;
	vertical-align: middle!important;
	margin-right: 15px;
}

.btn-primary,
.btn-primary:visited,
.btn-primary.focus,
.btn-primary:focus {
	color: var(--purple);
	background-color: var(--yellow) !important;
	border-color: var(--yellow) !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus {
	color: var(--bs-white);
	background-color: var(--dark-yellow) !important;
	border-color: var(--dark-yellow) !important;
}

.btn-secondary,
.btn-secondary:visited,
.btn-secondary.focus,
.btn-secondary:focus {
	color: var(--dark-gray);
	background-color: var(--light-purple) !important;
	border-color: var(--light-purple) !important;
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:active:hover,
.btn-secondary:active:focus,
.btn-secondary:not(:disabled):not(.disabled).active, 
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus {
	color: var(--bs-white);
	background-color: var(--purple) !important;
	border-color: var(--purple) !important;
}

.btn-outline-primary,
.btn-outline-primary:visited,
.btn-outline-primary.focus,
.btn-outline-primary:focus {
	color: var(--purple);
	border-color: var(--purple) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary:active:hover,
.btn-outline-primary:active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active, 
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus {
	color: var(--bs-white);
	background-color: var(--purple) !important;
}

.btn-container  {
	display: flex;
    justify-content: center!important;
}

.nav-pills .nav-link {
	color: var(--purple);
	border: solid 1px var(--yellow)!important;
	border-radius: 30px;
	padding: 0.75rem 1.5rem;
	margin-right: 15px;
	position: relative;
	cursor: pointer;
}

.nav-pills .nav-link.active, 
.nav-pills .show>.nav-link {
    color: var(--bs-white);
	background-color: var(--yellow)!important;
}

.nav-pills .nav-link .badge {
	color: var(--bs-white);
	background-color: var(--purple);
	position: absolute;
	top: -5px;
	right: -5px;
}

.table {
	color: var(--purple);
}

.table.table-hover tbody tr:hover td {
	color: var(--bs-white);
	background-color: var(--purple);
}

.card {
	background-color: transparent;
	border: none;
	border-radius: 8px;
	margin-bottom: 30px;
	position: relative;
}

.card .card-footer {
	background-color: transparent;
	border-top: none;
}

.dropdown-item:focus, 
.dropdown-item:hover {
	text-decoration: none;
    color: var(--bs-white);
    background-color: var(--yellow);
}

.pager {
	display: flex;
    justify-content: center!important;
}

.pager .page-item.active .page-link {
    background-color: var(--purple);
    border-color: var(--purple);
}

.pager .page-item:first-child .page-link {
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
}

.pager .page-item:last-child .page-link {
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.pager .page-item.result {
	display: none;
}

@media (min-width: 768px) {
	h1 {
		font-size: 40px;
	}
}

@media (min-width: 1024px) {
	.btn-container  {
		padding-top: 30px;
	}

	.pager .page-item.result {
		display: inherit;
	}
}

@media (min-width: 1400px) {
	.container-xxl {
		max-width: 1920px;
	}
}

/* #endregion */

/* #region Header */

.navbar {
	background-color: rgba(71, 82, 128, 1);
}

.navbar.home {
	background-color: transparent;
}

.navbar.active {
	background-color: rgba(71, 82, 128, 1);
}

.navbar.scrolled {
	background-color: rgba(71, 82, 128, 0.90);
	transition: background-color 200ms linear;
}

.navbar-brand img {
	max-height: 45px;
	width: auto;
}

.navbar-toggler,
.navbar-toggler:hover,
.navbar-toggler:focus {
    border-color: var(--bs-white);
	color: var(--bs-white);
	outline: solid 1px;
}

.navbar-collapse {
	padding-top: 15px;
	flex-direction: row-reverse!important;
}

.navbar-top {
	flex-direction: column!important;
}

.navbar-top .nav-item {
	text-align: center;
}

.navbar-nav .nav-item .nav-link, 
.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-item .nav-link:hover,
.navbar-nav .nav-item .nav-link:visited {
	/*font-size: 18px;*/
	font-style: normal;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--bs-white);
	margin: 0 5px;
	display: inline-block;
}

.navbar-nav .nav-item .nav-link:focus, 
.navbar-nav .nav-item .nav-link:hover {
    border-color: transparent;
}

.navbar-top .nav-item .nav-link {
	text-transform: none!important;
	color: var(--bs-white);
}

.navbar-top .nav-item:first-child .nav-link {
	color: var(--light-purple);
	border: solid 2px var(--light-purple);
	border-radius: 5px;
	padding: 5px 15px;
	display: flex;
    align-items: center!important;
}

.navbar-top .nav-item:first-child .nav-link:focus,
.navbar-top .nav-item:first-child .nav-link:hover {
	color: var(--dark-purple);
	background-color: var(--yellow);
}

.navbar-top .nav-item:first-child .nav-link i {
	margin-right: 5px;
}

.navbar-main .nav-item .nav-link:not(.dropdown-toggle):after {
	border-bottom: solid 3px var(--bs-white);  
	display: block;
	content: '';
	transform: scaleX(0);
	transition: transform 250ms ease-in-out;
	transform-origin: 0% 50%;
}

.navbar-main .nav-item.active .nav-link:after {
	transform: scaleX(0.5);
}

.navbar-main .nav-item .nav-link:hover:after { 
	transform: scaleX(1); 
}

@media (min-width: 1024px) {
	.navbar {
		background-color: transparent;
		padding-top: 25px;
	}

	.navbar.active {
		background-color: transparent;
	}

	.navbar.scrolled {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.navbar-brand img {
		max-height: 65px;
		width: auto;
	}

	.navbar-collapse {
		padding-top: 0;
	}

	.navbar.scrolled .navbar-brand img {
		max-height: 45px;
		width: auto;
	}

	.navbar:not(.scrolled) .navbar-top {
		margin-top: -30px;
	}

	.navbar:not(.scrolled) .navbar-main {
		margin-top: 30px;
	}

	.navbar-main li#corporate {
		display: none;
	}

	.navbar-top {
		flex-direction: row!important;
	}
}

@media (min-width: 1280px) {
	.navbar-nav .nav-item .nav-link, 
	.navbar-nav .nav-item.active .nav-link,
	.navbar-nav .nav-item .nav-link:hover,
	.navbar-nav .nav-item .nav-link:visited {
		margin: 0 10px;
	}

	.navbar-nav .nav-item .nav-link > i {
		margin-right: 0;
	}

	.navbar-main li#corporate {
		display: block;
	}
}

/* #endregion */

/* #region Footer */

footer {
	text-align: center;
	border-top: solid 3px var(--light-purple);
	padding: 30px 0;
	/*margin-left: 10%;
	margin-right: 10%;*/
}

footer img {
	max-height: 65px;
	width: auto;
	margin: 20px 0 40px 0;
}

footer ul, li {
	list-style: none;
	text-align: left;
	padding: 0;
	margin-bottom: 0;
}

footer li {
	display: inline-block;
	padding: 0 15px;
}

footer li.nav-item .nav-link {
	color: var(--purple);
}

@media (min-width: 768px) {
	footer {
		/*padding-top: 75px;*/
	}
}

/* #endregion */

/* #region Template */

#section-template-content:not(.home) {
	padding-top: 70px;
}

#section-template-link {
	border-top: solid 1px var(--light-purple);
	padding: 30px 0;
}

#section-template-link .row > div h3 {
	font-size: 16px;
	text-align: left;
	color: var(--dark-purple);
}

#section-template-link ul {
	list-style: none;
	text-align: left;
	padding: 0;
}

#section-template-link .row > div li {
	padding: 5px 0;
}

@media (min-width: 1024px) {
	#section-template-content:not(.home) {
		padding-top: 0;
	}

	#section-template-link {
		padding: 50px 0;
	}

	#section-template-link .row > div > .content {
		padding-right: 100px;
	}
}

/* #endregion */

/* #region Search Box */

/* #region Container */

.search-box-container {
	margin: 0 auto!important;
	padding-bottom: 15px;
	max-width: 250px;
}

@media (min-width: 768px) {
	.search-box-container {
		/*min-width: 40%;*/
		max-width: 90%;
	}
}

@media (min-width: 1280px) {
	.search-box-container {
		padding-bottom: unset;
		max-width: 70%;
	}
}

/* #endregion */

/* #region Row-1 */

.search-box .row-1 {
	display: flex;
	justify-content: center!important;
	flex-direction: column-reverse!important;
}

.search-box .row-1 .button {
	font-size: 0.8rem;
	text-align: center;
	color: var(--purple);
	border: solid 3px var(--light-purple);
	border-radius: 50px;
	margin-top: 10px;
}

#section-template-content.home .search-box .row-1 .button {
	background-color: rgba(0, 0, 0, 0.2);
}

.search-box .row-1 .click-button {
	color: var(--bs-white);
	padding: 17px 50px;
	cursor: pointer;
	transition: all .4s ease-in-out;
}

.search-box .row-1 .click-button.background {
	color: var(--purple);
	background-color: var(--yellow)!important;
}

.search-box .row-1 .click-button:hover {
	color: var(--purple);
	background-color: var(--yellow)!important;
}

@media (min-width: 768px) {
	.search-box .row-1 {
		flex-direction: row!important;
	}

	.search-box .row-1 .click-button {
		padding: 20px;
	}
}

@media (min-width: 1024px) {
	.search-box .row-1 .button {
		font-size: unset;
		margin: 0 10px;
	}

	.search-box .row-1 .click-button {
		padding: 17px 50px;
	}
}

/* #region Toggle switch */

.search-box .row-1 .switch-button {
	color: var(--bs-white);
	font-size: 0.9rem;
	padding: 4px 3px 3px 4px;
	padding-right: 125px;
	width: 250px;
	position: relative;
	overflow: hidden;
}

.search-box .row-1 .switch-button.inverted {
	color: var(--bs-purple);
}

.search-box .row-1 .switch-button:before {
	content: attr(data-property-type-1);
	display: flex;
	justify-content: center!important;
	align-items: center!important;
	position: absolute;
	width: 125px;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 3;
	pointer-events: none;
}

.search-box .row-1 .switch-button-checkbox {
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	cursor: pointer;
	z-index: 2;
}

.search-box .row-1 .switch-button-checkbox:checked + .switch-button-label:before {
	transform: translateX(122px);
	transition: transform 300ms linear;
}

.search-box .row-1 .switch-button .switch-button-checkbox + .switch-button-label {
	color: var(--purple);
	padding: 15px 0;
	display: block;
	position: relative;
	user-select: none;
	pointer-events: none;
}

.search-box .row-1 .switch-button.inverted .switch-button-checkbox + .switch-button-label {
	color: var(--bs-white);
}

.search-box .row-1 .switch-button-checkbox + .switch-button-label:before {
	content: "";
	background: var(--yellow);
	border-radius: 30px;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: translateX(0);
	transition: transform 300ms;
}
.search-box .row-1 .switch-button-checkbox + .switch-button-label .switch-button-label-span {
	position: relative;
}

@media (min-width: 1024px) {
	.search-box .row-1 .switch-button {
		font-size: unset;
		padding-right: 150px;
		width: 300px;
	}

	.search-box .row-1 .switch-button:before {
		width: 150px;
	}

	.search-box .row-1 .switch-button-checkbox:checked + .switch-button-label:before {
		transform: translateX(147px);
	}
}

/* #endregion */

/* #endregion */

/* #region Row-2 */

.search-box .row-2 {
	background-color: rgba(71, 82, 128, 0.20);
	border: solid 3px var(--light-purple);
	border-radius: 30px;
	padding: 15px;
	margin-top: 10px;
	display: flex;
	flex-direction: column!important;
	position: relative;
}

.search-box .row-2 .search-divider {
	display: none;
}

.search-box .row-2 .search-item {
	text-align: left;
}

.search-box .row-2 .search-item label {
	font-weight: bold;
	color: var(--light-purple);
}

.search-box .row-2 .search-item > div {
	display: flex;
	align-items: center!important;
}

.search-box .row-2 .search-item > div > a {
	color: var(--bs-white);
}

.search-box .row-2 .search-item > div > .form-control {
	border: none;
	padding: 0;
}

.search-box .row-2 .search-item > div > .form-control:focus {
	box-shadow: none;
}

.search-box .row-2 .search-button {
	text-align: center;
	/*width: 100%;*/
	margin-top: 15px;
}

.search-box .row-2 .search-button > a {
	color: var(--purple);
	background-color: var(--yellow);
	border-radius: 30px;
	padding: 10px;
	display: block;
	cursor: pointer;
}

.search-box .row-2 .search-button > a > i {
	margin-left: 10px;
}

@media (min-width: 1024px) {
	.search-box .row-2 {
		background-color: var(--bs-white);
		border: none;
		border-radius: 50px;
		box-shadow: 0 .5rem 0.5rem rgba(0,0,0,.15);
		padding: 15px 30px;
		margin: 30px 0;
		flex-direction: row!important;
		justify-content: center!important;
		align-items: center!important;
	}

	.search-box .row-2 .search-divider {
		border-right: 1px solid #d8d9de;
		margin: 0 15px;
		height: 37px;
		display: block;
	}

	.search-box .row-2 .search-item label {
		font-size: 12px;
		color: var(--dark-purple);
	}

	.search-box .row-2 .search-item > div {
		height: 30px;
	}

	.search-box .row-2 .search-item > div > a {
		color: inherit;
	}

	.search-box .row-2 .search-button {
		margin-top: unset;
	}

	.search-box .row-2 .search-button > a {
		border-radius: 50px;
	    border: solid 3px var(--light-purple);
		padding: 20px 20px;
		position: absolute;
		top: 5px;
		right: 8px;
	}

	.search-box .row-2 .search-button > a > span {
		display: none;
	}

	.search-box .row-2 .search-button > a > i {
		font-size: 1.7rem;
		margin-left: unset;
		margin-right: 0;
	}
}

/* #endregion */

/* #region Row-3 */

.search-box .row-3 {
	display: flex;
	flex-direction: column!important;
	justify-content: center!important;
}

.search-box .row-3 .link-item {
	font-weight: 500;
	color: var(--bs-white);
	text-shadow: 1px 1px 10px var(--dark-gray);
	padding-top: 10px;
}

.search-box .row-3 .link-item.bold {
	font-weight: bold;
	color: var(--purple);
}

.search-box .row-3 .link-item.underline {
	text-decoration: underline;
}

.search-box .row-3 .link-item i {
	font-size: 1.2rem;
	vertical-align: middle;
	padding-right: 8px;
}

.search-box .row-3 .search-item {
	display: flex;
	flex-direction: column!important;
	padding: 0 15px;
	margin-top: 10px;
}

.search-box .row-3 .search-item label {
	color: var(--bs-white);
}

.search-box .row-3 .search-item .form-control {
	padding: 0;
}

.search-box .row-3 .search-item .dropdown > a {
	color: var(--bs-white);
	border-bottom: solid 1px var(--purple);
	padding-bottom: 3px;
}

@media (min-width: 1024px) {
	.search-box .row-3 {
		flex-direction: row!important;
		height: 25px;	/* To keep same height when row-3 est hidden */
	}

	.search-box .row-3 .link-item {
		padding: 0 30px;
	}

	.search-box .row-3 .search-item {
		flex-direction: row!important;
		margin-top: unset;
	}

	.search-box .row-3 .search-item label {
		color: unset;
	}

	.search-box .row-3 .search-item .dropdown > a {
		color: inherit;
	}
}

/* #endregion */

/* #region Toggle */

.search-box-toggle {
	text-align: center;
	padding-top: 10px;
}

.search-box-toggle .btn {
	margin-bottom: 10px;
}

.search-box-toggle .link-item {
	color: var(--bs-white);		/* When back link is moved here in mobile */
}

@media (min-width: 1024px) {
	.search-box-toggle {
		display: none;
	}
}

/* #endregion */

/* #endregion */

/* #region Sticky-Box */

.sticky-box,
.sticky-box:visited {
	display: none;
}

@media (min-width: 1024px) {
	.sticky-box,
	.sticky-box:visited {
		margin: 0px;
		display: block;
		display: flex;
		align-items: start;
		position: fixed;
		width: 260px;
		right: -230px;
		top: 40%;
		bottom: initial;
		z-index: 1100;
		-webkit-transition: all 0.25s ease-in-out;
		-moz-transition: all 0.25s ease-in-out;
		-o-transition: all 0.25s ease-in-out;
		transition: all 0.25s ease-in-out;
	}

	.sticky-box.active {
		right: 0px;
	}

	.sticky-box .button {
		background-color: transparent;
		display: flex;
		justify-content: start;
		align-items: center;
	}

	.sticky-box .button a {
		color: var(--bs-white);
		background-color: var(--purple);
		border-top-left-radius: 5px;
		border-bottom-left-radius: 5px;
		padding: 5px 5px 5px 10px;
	}

	.sticky-box .content {
		font-size: 1.3rem;
		text-align: center;
		color: var(--bs-white);
		background-color: var(--purple);
		border-bottom-left-radius: 5px;
		padding: 15px 15px 25px 15px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	    align-items: center;
	}
}

/* #endregion */

/* #region PropertyItem Card */

.card.property-item {
	border: solid 1px var(--light-purple);
}

.card.property-item .card-img-top > img {
	width: 100%;
	height: 25vh;		/* https://stackoverflow.com/questions/37287153/how-to-get-images-in-bootstraps-card-to-be-the-same-height-width */
	object-fit: cover;
}

.card.property-item .card-sticker {
	font-size: 0.7rem;
	font-weight: bold;
	color: var(--purple);
	background-color: var(--gradient-yellow);
	border-radius: 5px;
	padding: 7px 20px;
	position: absolute;
	top: 10px;
	right: 10px;
}

.card.property-item .card-sticker.new {
	/*background-color: rgba(114, 190, 68, 0.7);*/
}

.card.property-item .card-body .type {
	font-size: 12px;
	text-transform: uppercase;
	color: var(--dark-gray);
	margin-bottom: 8px;
}

.card.property-item .card-body h3 {
	font-weight: bold;
	color: var(--dark-gray);
	margin-bottom: 8px;
}

.card.property-item .card-body .price {
	font-size: 24px;
	color: var(--purple);
	margin: 0;
}

.card.property-item .card-footer {
	border-top: solid 1px var(--light-purple);
	padding: 10px 0;
	display: flex;
	justify-content: space-evenly!important;
    align-items: center;
}

.card.property-item .card-footer > div > i {
	font-size: 1.5rem;
	color: var(--light-purple);
	vertical-align: middle;
	margin-right: 5px;
}

@media (min-width: 1024px) {
	.card.property-item .card-img-top > img {
		height: 20vh;
	}
}

/* #endregion */

/* #region Agency Card */

.card.agency-item {
	text-align: center;
	color: var(--purple);
	border: solid 1px var(--light-purple);
	margin-bottom: 50px;
}

.card.agency-item .card-header {
	color: var(--bs-white);
	background-color: var(--purple);
	border-bottom: none;
}

.card.agency-item .card-header h3 {
	font-size: 18px;
	font-weight: normal;
}

.card.agency-item .card-header h3 > a {
	color: var(--bs-white);
}

.card.agency-item .card-header h3 a > span {
	font-weight: 900;
}

.card.agency-item .card-body p.phone a {
	font-size: 24px;
	color: var(--purple);
}

.card.agency-item .card-body .social a {
	font-size: 1.3rem;
	padding: 0 8px;
}

.card.agency-item .card-footer {
	display: flex;
	justify-content: space-evenly!important;
    align-items: center;
}

.card.agency-item .card-footer > a > i {
	font-size: 2rem;
	color: var(--purple);
	background-color: var(--bs-white);
	border: solid 1px var(--purple);
	border-radius: 50%;
	padding: 20px;
	margin-bottom: -30px;
	width: 75px;
	height: 75px;
	cursor: pointer;
}

.card.agency-item .card-footer > a:hover > i {
	color: var(--bs-white);
	background-color: var(--purple);
}

@media (min-width: 1024px) {
	.card.agency-item .card-header h3 {
		font-size: 24px;
	}
}

/* #endregion */

/* #region Feature */

.feature {
	display: flex;
	flex-wrap: wrap;
	justify-content: center!important;
	padding-bottom: 20px;
}

.feature-item {
	background-color: var(--bs-white);
	border: 1px solid var(--yellow);
	border-radius: 25px;
	margin: 4px;
	overflow: hidden;
}

.feature-item label {
	float: left; 
	line-height: 1.5em;
	height: 1.5em;
}

.feature-item label span {
	text-align: center;
	padding: 0px 10px 3px 10px;
	display: block;
	cursor: pointer;
}

.feature-item label input {
	position: absolute;
	display: none;
}

.feature-item label input + span {
	color: var(--dark-purple);
}

.feature-item  input:checked + span {
	background-color: var(--yellow);
}

@media (min-width: 768px) {
	.feature {
		padding-bottom: 50px;
	}

	.feature-item label {
		line-height: 3.0em;
		height: 3.0em;
	}

	.feature-item label span {
		padding: 0px 20px 3px 20px;
	}
}

/* #endregion */

/* #region Home */

/* #region Home-1 */

#section-home-1 {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	height: 100%;
}

#section-home-1 { 
	position: relative;
    overflow: hidden;
}

#section-home-1 .video-wrapper {
    padding: 0;
    margin: 0;
    position: relative;
    width: 100vw;
    min-height: 100%; 
    height: 100vh;
}

#section-home-1 video {
	margin: auto;
	display: block;
	width: 100vw; 
	height: auto;
}

#section-home-1 .caption {
	text-align: center;
    display: flex;
    flex-direction: column!important;
    justify-content: start!important;
    align-items: center!important;
    position: absolute; 
    width: 100%; 
    height: 100%;
    top: 80px; 
    left: 0;
}

#section-home-1 .scroll {
	text-align: center;
    position: absolute; 
    bottom: 40px; 
    left: 50%;
	transform: translate(-50%);
}

#section-home-1 .scroll > a > i {
	font-size: 1.7rem;
	color: var(--bs-white);
}

@media (min-width: 1024px) {
	#section-home-1 .caption {
		justify-content: center!important;
		top: 0; 
	}
}

@media (min-aspect-ratio: 16/9) {
	#section-home-1 video {
		width: 100vw; 
		height: auto;
	}
}

@media (max-aspect-ratio: 16/9) {
	#section-home-1 video {
		width: auto;
		height: 100vh; 
		margin-left: 50vw;
		transform: translate(-50%);
	}
}

/* #endregion */

/* #region Home-2 */

#section-home-2 {
	padding: 30px 0;
}

#section-home-2 h2 {
	font-size: 30px;
	text-align: center;
	padding-bottom: 30px;
}

@media (min-width: 1024px) {
	#section-home-2 {
		padding: 80px 0;
	}

	#section-home-2 h2 {
		font-size: 40px;
		padding-bottom: 50px;
	}
}

/* #endregion */

/* #region Home-3 */

#section-home-3 {
	background-color: var(--light-gray);
	padding-top: 30px;
}

#section-home-3 h2 {
	font-size: 30px;
	text-align: center;
	padding-bottom: 20px;
}

#section-home-3 .card {
	background-color: var(--bs-white);
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}

#section-home-3 .card .card-body h3 {
	font-size: 30px;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
	color: var(--purple);
}

#section-home-3 .card .card-body p {
	color: var(--purple);
	padding: 0 30px;
}

#section-home-3 .card .card-footer {
	text-align: center;
	padding-bottom: 30px;
}

#section-home-3 .card .card-footer > .btn {
	min-width: 250px;
}

#section-home-3 > div > div {
	text-align: center;
}

#section-home-3 > div > div > img {
	filter: brightness(95%);
	margin: 0 auto;
}

@media (min-width: 1024px) {
	#section-home-3 {
		padding-top: 80px;
	}

	#section-home-3 h2 {
		font-size: 40px;
		padding-bottom: 50px;
	}

	#section-home-3 .card .card-body h3 {
		font-size: 40px;
	}
}

/* #endregion */

/* #region Home-4 */

#section-home-4 {
	padding: 30px 0;
}

#section-home-4 h2 {
	font-size: 30px;
	text-align: center;
	padding-bottom: 20px;
}

@media (min-width: 1024px) {
	#section-home-4 {
		padding: 80px 0;
	}

	#section-home-4 h2 {
		font-size: 40px;
		padding-bottom: 50px;
	}
}

/* #endregion */

/* #endregion */

/* #region Content */

#section-content-1 {
	background-color: var(--dark-purple);
	position: relative;
}

#section-content-1 > div {
	/*display: flex;
	justify-content: center!important;*/
}

#section-content-2 {
	padding: 30px 0 20px 0;
}

#section-content-2 ul {
    /*list-style-type: none;*/
    /*padding: 0;*/
}

#section-content-2 ul:not(.breadcrumb,.pagination) li {
	list-style: unset;
}

#section-content-2 .left-zone img:not(.card-img-top) {
	max-width: 100%;
	height: auto;
}

#section-content-2 .left-zone a:not(.btn) {
	text-decoration: underline;
	color: var(--purple);
}

#section-content-2 .right-zone {
	color: var(--bs-white);
	background-color: var(--purple);
	padding: 25px;
}

#section-content-2 .right-zone img:not(.card-img-top) {
	max-width: 100%;
	height: auto;
}

#section-content-2 .right-zone h2 {
	color: var(--bs-white);
}

#section-content-2 .right-zone a:not(.btn) {
	text-decoration: underline;
	color: var(--bs-white);
}

@media (min-width: 1024px) {
	#section-content-1 {
		/*padding-top: 175px;*/
		height: 295px;
	}

	#section-template-content.no-search-box #section-content-1 {
		height: 125px;		/* For Error page */
	}

	#section-content-1 .search-box {
		position: absolute;
		bottom: -85px;
	}

	#section-content-2 {
		padding: 120px 0 20px 0;
	}

	#section-template-content.no-search-box #section-content-2 {
		padding: 30px 0 20px 0;		/* For Error page */
	}
}

/* #endregion */

/* #region Contact */

#section-contact {
	padding-bottom: 80px;
}

#section-contact h2 {
	font-size: 26px;
}

#section-contact h3 {
	margin-top: 35px;
}

#section-contact a:not(.btn) {
	text-decoration: underline;
	color: var(--purple);
}

#section-contact .form-select2 {
	border-bottom: solid 1px var(--purple);
	/*padding: 5px;*/
}

#section-contact .form-select2.is-invalid {
	border-bottom: solid 1px var(--bs-danger);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
	padding-right: calc(1.5em + .75rem);
}

#section-contact .form-select2 label {
    opacity: .65;
    transform: scale(.85) translateX(0.15rem);
}

#section-contact .feature {
	justify-content: start!important;
	padding: 20px 0;
}

@media (min-width: 1024px) {
	#section-contact h2 {
		font-size: 30px;
	}
}

/* #endregion */

/* #region Search */

#section-search-1 {
	padding: 20px 0;
}

#section-search-1 .result h1 {
	text-align: center;
	margin-bottom: 15px;
}

#section-search-1 .result .feature-title {
	text-align: center;
}

@media (min-width: 768px) {
	#section-search-1 .result {
		display: flex;
		justify-content: center!important;
	}

	#section-search-1 .result h1 {
		text-align: left;
		margin-right: 30px;
	}

	#section-search-1 .result .feature-title {
		display: none;
	}
}

@media (min-width: 1024px) {
	#section-search-1 {
		padding: 120px 0;
	}
}

/* #endregion */

/* #region Property */

/* #region Property-1 */

#section-property-1 {
	padding-top: 30px;
}

#section-property-1 .summary {
	color: var(--purple);
	display: flex;
    flex-direction: column!important;
	justify-content: center!important;
    align-items: center!important;
}

#section-property-1 .summary.agency > .left {
	text-align: center;
	margin-top: 15px;
	order: 1;
}

#section-property-1 .summary.agency-properties > .left {
	margin-top: 15px;
	order: 2;
}

#section-property-1 .summary > .left .pictos {
	padding: 10px 0;
	display: flex;
    align-items: center!important;
}

#section-property-1 .summary > .left .pictos > div {
	margin-right: 25px;
}

#section-property-1 .summary > .left .pictos > div > i {
	font-size: 1.5rem;
	color: var(--light-purple);
	vertical-align: middle;
	margin-right: 5px;
}

#section-property-1 .summary > .center {
	text-align: center;
}

#section-property-1 .summary.agency > .center {
	order: 0;
}

#section-property-1 .summary.agency-properties > .center {
	order: 0;
}

#section-property-1 .summary > .center h1 {
	font-size: 30px;
	margin-bottom: 0;
}

#section-property-1 .summary > .center h1 > span {
	font-size: 24px;
}

#section-property-1 .summary > .right {
	text-align: center;
	display: flex;
	flex-direction: column-reverse!important;
}

#section-property-1 .summary.agency > .right {
	margin-top: 15px;
	order: 2;
}

#section-property-1 .summary.agency-properties > .right {
	margin-top: 15px;
	order: 1;
}

#section-property-1 .summary > .right .price {
	font-size: 30px;
	font-weight: 900;
}

@media (min-width: 1024px) {
	#section-property-1 {
		padding-top: 100px;
	}

	#section-property-1 .summary {
		flex-direction: row!important;
		justify-content: space-between!important;
		align-items: center!important;
	}

	#section-property-1 .summary.agency > .left {
		text-align: unset;
		margin-top: unset;
		order: unset;
	}

	#section-property-1 .summary.agency-properties > .left {
		margin-top: unset;
		order: unset;
	}

	#section-property-1 .summary.agency > .center {
		order: unset;
	}

	#section-property-1 .summary.agency-properties > .center {
		order: unset;
	}

	#section-property-1 .summary > .right {
		text-align: right;
		flex-direction: column!important;
	}

	#section-property-1 .summary.agency > .right {
		margin-top: unset;
		order: unset;
	}

	#section-property-1 .summary.agency-properties > .right {
		margin-top: unset;
		order: unset;
	}
}

/* #endregion */

/* #region Property-2 */

#section-property-2 {
	margin-top: 25px;
}

#section-property-2 .button {
	position: absolute;
	bottom: 10px;
	right: 10px;
	display: flex;
}

#section-property-2 .button > a {
	text-align: center;
	background: rgba(0, 0, 0, 0.7);
	box-shadow: 0 .25rem .35rem rgba(0,0,0,.075)!important;
	border-radius: 15px;
	padding: 7px 5px 7px 10px;
	width: 40px;
	height: 40px;
}

#section-property-2 .button > a > span {
	display: none;
}

#section-property-2 .image {
	position: relative;
}

#section-property-2 .image > img {
	cursor: pointer;
}

#section-property-2 .image .thumbnail {
	position: absolute;
	bottom: -40px;
	left: 0;
	display: flex;
}

#section-property-2 .image .thumbnail img {
	border-radius: 5px;
	margin-right: 7px;
	max-height: 30px;
	width: auto;
}

#section-property-2 .image .button > a {
	color: var(--yellow);
}

#section-property-2 .image .button > a > i {
	font-size: 1rem;
}

#section-property-2 .map {
	position: relative;
}

#section-property-2 .map > div:first-child {
    width: 100%;
    /*min-height: 700px;*/
}

#section-property-2 .map .map-legend {
	display: none;
}

#section-property-2 .map .button > a {
	color: var(--light-purple);
}

#section-property-2 .map .button > a > i {
	font-size: 1rem;
}

#section-property-2 h2 {
	font-size: 26px;
	margin-top: 30px;
}

#section-property-2 .project {
	color: var(--bs-white);
	background-color: var(--purple);
	border-radius: 8px;
	padding: 15px 25px;
	margin-bottom: 15px;
	display: flex;
	justify-content: space-between!important;
    align-items: center!important;
}

#section-property-2 .feature-box {
	border: solid 1px var(--light-purple);
	border-radius: 8px;
	padding: 0 10px 10px 10px;
	margin-bottom: 15px;
}

#section-property-2 .feature-box img {
	max-width: 100%;
	height: auto;
}

#section-property-2 .document {
	margin-bottom: 10px;
}

#section-property-2 .document > a {
	display: flex;
	align-items: center!important;
}

#section-property-2 .document > a > i {
	font-size: 2rem;
}

#section-property-2 .table tbody > tr:not(:first-child) {
	cursor: pointer;
}

@media (min-width: 768px) {
	#section-property-2 .button {
		bottom: 25px;
		right: 25px;
	}

	#section-property-2 .button > a {
		border-radius: 15px;
		padding: 15px 20px;
		margin-left: 15px;
		width: 90px;
		height: 90px;
	}

	#section-property-2 .button > a > span {
		display: block;
	}

	#section-property-2 .image .thumbnail {
		bottom: 25px;
		left: 25px;
	}

	#section-property-2 .image .thumbnail img {
		border-radius: 15px;
		box-shadow: 0 .5rem .7rem rgba(0,0,0,.075)!important;
		margin-right: 15px;
		max-height: 50px;
	}

	#section-property-2 .map .map-legend {
		font-size: 14px;
		color: var(--bs-white);
		background: rgba(0, 0, 0, 0.7);
		border-radius: 15px;
		padding: 8px;
		display: flex;
		justify-content: space-around!important;
		align-items: center!important;
		position: absolute;
		left: 25px;
		bottom: 25px;
		width: 300px;
		height: 70px;
	}

	#section-property-2 .image .button > a > i,
	#section-property-2 .map .button > a > i {
		font-size: 2.5rem;
	}
}

@media (min-width: 1024px) {
	#section-property-2 {
		padding: 25px 0 80px 0;
	}

	#section-property-2 .image .thumbnail img {
		max-height: 80px;
	}

	#section-property-2 h2 {
		font-size: 30px;
	}

	#section-property-2 .divider {
		display: none;
	}
}

@media (min-width: 1280px) {
	#section-property-2 .image .thumbnail img {
		max-height: 90px;
	}
}

/* #endregion */

/* #endregion */

/* #region Utility */

/* #region Loader */

.loader {
	background-color: rgba(255, 255, 255, 0.7);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
	z-index: 1000000000;
}

.loader.absolute {
    position: absolute;
}

.loader > div {
	color: var(--dark-purple);
	position: absolute;
    top: 50%;
    left: 50%;
}

/* #endregion */

/* #region BackToTop */

.back-to-top {
	opacity: 0;
}

@media (min-width: 768px) {
	.back-to-top {
		text-align: center;
		background: var(--purple);
		background-color: rgba(71, 82, 128, 0.70);
		padding: 10px;
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 9999;
		display: block;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
		border-radius: 4px;
		opacity: 1;
	}

	.back-to-top:hover {
		text-decoration: none;
		background: var(--purple);
	}

	.back-to-top i {
		color: var(--bs-white);
		margin-left: 7px;
	}
}

/* #endregion */

/* #endregion */

/* #region Custom Checkbox & Radio */

.checkbox,
.radiobutton {
	margin-top: 0;
	margin-bottom: 0;
}

.checkbox input[type="checkbox"],
.radiobutton input[type="radio"] {
	display: none;
}

.checkbox label,
.radiobutton label {
	padding-left: 0;
}

.checkbox label:before,
.radiobutton label:before{
	font-family: "Font Awesome 5 Pro";
	font-size: 1.30rem;
	color: var(--yellow);
	line-height: 20px;
	text-align: center;
	vertical-align: bottom;
	display: inline-block;
	margin-right: 5px;
	content: "";
	width: 20px;
	height: 20px;
}

.checkbox input[type="checkbox"] + label:before {
	content: "\f0c8"; /* check-empty */
}

.checkbox input[type="checkbox"]:checked + label:before {
	content: "\f14a"; /* check */
}

.radiobutton input[type="radio"] + label:before {
	content: "\f111"; /* circle-blank */
}

.radiobutton input[type="radio"]:checked + label:before {
	content: "\f058"; /* circle */
}

/* #endregion */

/* #region Select2 */

.select2 {
	min-width: 230px;
}

.select2-container .select2-search--inline .select2-search__field {
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	color: var(--bs-white);
}

.select2-container .select2-search--inline .select2-search__field { 
	/*width: 100% !important; */
}

.select2-container .select2-search--inline .select2-search__field::-webkit-input-placeholder { /* Edge */
	font-size: 16px;
	font-style: italic;
	color: var(--bs-white);
}

.select2-container .select2-search--inline .select2-search__field:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-size: 16px;
	font-style: italic;
	color: var(--bs-white);
}

.select2-container .select2-search--inline .select2-search__field::placeholder {
	font-size: 16px;
	font-style: italic;
	color: var(--bs-white);
}

.select2-selection {
	color: var(--dark-purple);
	background-color: var(--dark-gray);
}

.select2-results {
	font-size: 14px;
}

.select2-container--default .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--multiple {
	background-color: transparent;
	border: none;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding-left: 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    /*color: var(--bs-white);*/
	color: var(--purple);
	background-color: var(--yellow);
    border: 1px solid var(--yellow);
    border-radius: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
	/*color: var(--bs-white);*/
	color: var(--purple);
}

.select2-dropdown.select2-dropdown--below {
	border: solid 1px var(--light-gray);
	/*margin-top: 15px;*/
}

.select2-container--default .select2-results__option {
	font-family: 'Lato', sans-serif;
	font-size: 15px;
    padding: 0.25rem 1rem;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--yellow);
}

.select2-hidden-accessible {
	width: unset;
}

@media (min-width: 1024px) {
	.select2 {
		min-width: 410px;
	}

	.select2-container .select2-search--inline .select2-search__field {
		color: unset;
	}

	.select2-container .select2-search--inline .select2-search__field::-webkit-input-placeholder { /* Edge */
		color: var(--placeholder);
	}

	.select2-container .select2-search--inline .select2-search__field:-ms-input-placeholder { /* Internet Explorer 10-11 */
		color: var(--placeholder);
	}

	.select2-container .select2-search--inline .select2-search__field::placeholder {
		color: var(--placeholder);
	}
}

/* #endregion */