/* home.css | Jarvis Wong | 2024 */
/* ------------ banner --------------*/
.hero {
	height: calc(100vh - 100px);
}
.hero-image {
	/* Use "linear-gradient" to add a darken background effect to the image (photographer.jpg). This will make the text easier to read */
	background-image: radial-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.1)), url('/img/hero-index.jpg');
	background-color: #525f5c;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
/* Place text in the middle of the image */
.hero-text {
  text-align: center;
  position: absolute;
  bottom: 30%;
  left: 50%;
  transform: translate(-50%, 0);
  color: white;
  font-size: calc(0.75rem + (1vw/2));
}
.hero-text h2 {
	padding: 1rem 0 3rem;
}
.hero-text a {
	padding: 20px;
	background-color: #013228;
	color: white;
	font-size: 1rem;
	border-radius: 10px;
	overflow: hidden;
	white-space: nowrap;
}
.hero-text a:hover {
	background-color: #001614;
	color: #ec9d0a;
}
/* ------------ scroll down button --------------*/
.scroll-down {
	text-align: center;
	position:absolute;
	bottom: 30px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 60px;
  	height: 60px;
}
.element {
  --lineWeight: 5px;
  width: 100%;
  height: 100%;
  color: white;
  border: solid var(--lineWeight);
  border-radius: 50%;
  transition: 0.5s;
  animation: bounce 1s linear infinite;
}
.arrow {
  width: 50%;
  height: 50%;
  color: white;
  border-right: solid var(--lineWeight);
  border-bottom: solid var(--lineWeight);
  transform: translate(50%, 30%) rotate(45deg);
  transition: 0.5s;
 
}
.element:hover {
  background-color: white;
}
.element:hover > .arrow {
  color: black;
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(5px);
  }
  50% {
    transform: translateY(-5px);
  }
}
/* ------------ about me --------------*/
.about-grid {
	padding: 20px;
	display: grid;
	grid-template-columns: 3fr 1fr;
	gap: 3rem;
}
.about-grid img {
	object-fit: contain;
	border-radius: 50%;
}
@media (max-width:700px) {
	.about-grid {
		display: block;
	}
}
.wide {font-size: 1em;}
.narrow {font-size: 0;}
@media (max-width:900px) {
	.wide {font-size: 0;}
	.narrow {font-size: 1em;}
}
/* ------------ 3 step program --------------*/
.steps-grid {
	padding: 20px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}
.step {
	text-align: center;
}
.steps-grid img {
	object-fit: contain;
	width: 20%;
}
@media (max-width:700px) {
	.steps-grid {display: block;}
	.step {padding-bottom: 50px;}
	.steps-grid img {width: 30%;}
}
/* ------------ featured listings --------------*/
.listings-grid {
	padding: 20px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 3rem;
}
.listing {
	background-color: white;
	color: black;
	box-shadow: 0px 0px 20px #888888;
	transition: all 0.1s ease-in-out;
}
.listing:hover {
	transform: scale(1.04); 
}
.listing-image {
	position: relative;
	height: 250px;
}
.listing-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.listing-status {
	position: absolute;
	right: 0;
	top: 0;
	background-color: rgba(0,0,0,0.5);
	padding: 5px;
	color: white;
}
.listing-gradient {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
}
.listing-address {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	font-size: 1.2em;
	color: white;
	font-weight: normal;
	text-shadow: 0px 0px 5px #000000;
	padding: 5px;
	
}
.listing-grid{
	padding: 5px;
	display: grid;
	grid:
	'price mls'
	'info info'
	'brokerage brokerage';
}
.listing-price {
	grid-area: price;
	font-weight: bold;
	font-size: 1.5em;
	color: #013228;
}
.listing-mls {
	grid-area: mls;
	text-align: right;
}
.listing-info {
	grid-area: info;
	list-style-type: disc;
	padding: 0;
}
.listing-info li {
	display: inline-block;
	border-left: 1px solid;
	padding: 0 5px 0 10px;
}
.listing-info li:first-child {
	border-left: none;
	padding-left: 0;
}
.listing-brokerage {
	grid-area: brokerage;
}
.sold {
	background-color: rgba(180,0,0,1);
}
/* ------------ featured presales --------------*/
.presales-grid {
	padding: 20px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 3rem;
}
.presale {
	background-color: white;
	color: black;
	box-shadow: 0px 0px 20px #888888;
	transition: all 0.1s ease-in-out;
}
.presale:hover {
	transform: scale(1.04); 
}
.presale-image {
	position: relative;
	height: 300px;
}
.presale-image img{
	width: 100%;
	height: 100%;	
	object-fit: cover;
}
.presale-ready {
	position: absolute;
	right: 0;
	top: 0;
	background-color: rgba(0,0,0,0.5);
	padding: 5px;
	color: white;
}
.presale-gradient {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-image: radial-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
.presale-name {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
	font-size: 3em;
	color: white;
	font-weight: normal;
	text-shadow: 0px 0px 5px #000000;
	padding: 5px;
}
.presale-grid{
	padding: 5px;
	width: 100%;
	display: grid;
	grid:
	'location developer'
	'bedrooms bedrooms';
}
.presale-location {
	grid-area: location;
	font-weight: bold;
	font-size: 1.2em;
}
.presale-developer {
	grid-area: developer;
	text-align: right;
}
.presale-info {
	grid-area: bedrooms;
	margin-bottom: 5px;
	padding: 0;
}
.presale-info li {
	display: inline-block;
	border-right: 1px solid;
	padding: 0 10px 0 5px;
}
.presale-info li:first-child {
	padding-left: 0;
}
/* ------------ featured assemblies --------------*/


/* END */