html, body {
	margin: 0;
	padding: 0;
	overflow: hidden;
	font-family: 'Helvetica Neue', sans-serif;
}

/* Full-screen overlay that covers everything at first */
.opening-overlay-top {
	position: fixed;
	inset: 0;
	bottom: 50%;
	background-color: black;
	z-index: 9999;
	animation: slideUp 2s ease forwards;
}
.opening-overlay-bottom {
	position: fixed;
	inset: 0;
	top: 50%;
	background-color: black;
	z-index: 9999;
	animation: slideDown 2s ease forwards;
}

@keyframes slideUp {
	0% { transform: translateY(0%); }
	100% { transform: translateY(-100%); }
}
@keyframes slideDown {
	0% { transform: translateY(0%); }
	100% { transform: translateY(+100%); }
}

/* Main body flex-column container */
div.flex-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	text-align: center;
	color: black;
}

div.text {
	padding: 20px;

	h1 {
		margin: 0;
	}
	
	button.see-more {
		margin-top: 10px;
		color: rgb(255, 255, 255);
		background-color: black;
		border: 2px solid black;
		cursor: pointer;
		transition: background-color 0.3s ease;
	}
	
	button.see-more:hover {
		color: rgb(0, 0, 0);
		background-color: #ffffff;
		border: 2px solid black;
	}
}

@media screen and (min-width: 601px) {
	div.text {
		font-size: 25px;

		button.see-more {
			font-size: 18px;
			padding: 8px 16px;
		}
	}
}

@media screen and (max-width: 600px) {
	div.text {
		font-size: 20px;

		button.see-more {
			font-size: 15px;
			padding: 7px 14px;
		}
	}
}

/* Scrolling image galleries */
.scroll-container {
	max-height: 40%;
	overflow: hidden;
	white-space: nowrap;
	padding: 5px 0;
}

div.scroll-content {
	display: inline-flex;
	height: 100%;
	
	img {
		height: 100%;
		width: auto;
		flex-shrink: 0;
		object-fit: cover;
		border: 5px solid white;
		box-sizing: border-box;
	}
}

/* Business-card pop-up icon */
div.popup-overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(0px);
	background: rgba(0, 0, 0, 0.4);
	display: none;
	justify-content: center;
	align-items: center;
	transition: backdrop-filter 0.3s ease;
	z-index: 1000;

	.popup-content {
		position: relative;
		display: inline-block;

		.close-btn {
			background-color: transparent;
			border: none;
			cursor: pointer;
			position: absolute;
			top: 6%;
			right: 3%;

			img {
				height: auto;
			}
			@media screen and (min-width: 601px) {
				img {
					width: 25px;
				}
			}
			@media screen and (max-width: 600px) {
				img {
					width: 4vw;
				}
			}
		}
	
		img {
			display: block;
			max-width: 90vw;
			width: 600px;
			height: auto;
			border-radius: 20px;
		}

		a {
			position: absolute;
			width: 48%;
			height: 9%;
			left: 43%;
		}
		a.phone { top: 45%; }
		a.mail { top: 57%; }
		a.insta { top: 69%; }
		a.website { top: 80%; }
	}
}

.popup-overlay.active {
	display: flex;
	backdrop-filter: blur(8px);
}
