/*
=================================================
NOTE:
Remember to change the phone element section when you change something else. (Learned Experience)

CSS PROPERTY ORDER

Position
	position
	top/right/bottom/left
	z-index

Display
	display
	flex-*
	grid-*
	justify-*
	align-*
	gap

Size
	width, max-width, min-width
	height, max-height, min-height
	object-fit

Spacing
	margin
	padding

Border
	border
	border-radius

Background
	background
x	background-color
x	background-image

Text
	color
	font-family
x	font-size
x	font-weight
x	line-height
	text-align
	text-decoration

Effects
x	opacity
	overflow
x	box-shadow
x	cursor

Animation
x	transition
	transform
x	animation
=================================================
*/


/* Requireds */
* {
	box-sizing: border-box;
}

/* Main Configurations */
html, body {
	/* Spacing */
	margin: 0;

	/* Background */
	background: #f8f8f8;

	/* Text */
	color: #222;
	font-family: Arial, Helvetica, sans-serif;
}
main {
	/* Size */
	max-width: 900px;

	/* Spacing */
	margin: auto;
	padding: 20px;
}
a {
	/* Text */
	color: #AFAFFF;
	text-decoration: none;
}
p, h1, h2, h3, h4 {
	/* Spacing */
	margin: 0px;
}
hr {
	/* Spacing */
	margin: 4px;
}

/* Banner */
.banner {
	/* Position */
	position: relative;

	/* Size */
	height: 350px;

	/* Effects */
	overflow: hidden;
}
.banner img {
	/* Size */
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.banner-fade {
	/* Position */
	position: absolute;
	bottom: 0;
	left: 0;

	/* Size */
	width: 100%;
	height: 120px;

	/* Background */
	background: linear-gradient(transparent, #f8f8f8);
}
.banner-text h1 {
	position: absolute;
	top: 50%;
	left: 50%;

	transform: translate(-50%, -50%);

	text-align: center;
	color: whitesmoke;
	width: 90%;

	font-size: 5rem;
	text-shadow: 2px 2px 5px black;
}

/* Info Boxes */
.info-boxes {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin: 30px 0;
}
.box {
	background: white;
	padding: 20px;
	border-radius: 8px;
	flex: 1;
	min-width: 250px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.box p + h3 {
	margin-top: 20px;
}
.map img {
	width: 100%;
	max-width: 250px;
	border-radius: 8px;
	transition: transform 0.2s ease;
	cursor: pointer;
}
.map img:hover {
	transform: scale(1.02);
}

/* History */
.history {
	margin-top: 40px;
	background: white;
	padding: 25px;
	border-radius: 8px;
}

/* Footer */
footer {
	margin-top: 65px;
	padding: 10px;
	text-align: center;
	background: #333;
	color: white;
	font-size: 0.9rem;
}

/* Phone Extras */
@media (max-width: 600px) {
	h1 {
		font-size: 1.8rem;
	}
	main {
		padding: 15px;
	}
	.banner {
		height: 250px;
	}
	.banner-text h1 {
		font-size: 1.8rem;
	}

}