* {
	box-sizing: border-box;
}

body {
	font-family: sans-serif;
	margin: 40px 0;
	text-align: center;
}

.container {
	margin: 0 40px;
}

.section {
	margin: 80px 0;
}

.row {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}

.col {
    flex: 1 1 350px;
    max-width: 450px;
    min-width: 250px;
}

.map 
{
	aspect-ratio: 3 / 4;
}

.img {
	width: 100%;
}

.rounded {
	border-radius: 10px;
}

.carousel {
	position: relative;
}

.shadow {
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
				0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.prev, .next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	padding: 16px;
	margin-top: -22px;
	color: white;
	font-weight: bold;
	font-size: 18px;
	transition: 0.6s ease;
	border-radius: 0 3px 3px 0;
	user-select: none;
	background-color: rgba(0,0,0,0.5);
}

.next {
	right: 0;
	border-radius: 3px 0 0 3px;
}

.prev {
	left: 0;
}

.prev:hover, .next:hover {
	background-color: rgba(0,0,0,0.8);
}

.caption {
	color: #f2f2f2;
	padding: 8px 12px;
	position: absolute;
	bottom: 20px;
	width: 100%;
	text-align: center;
	background-color: rgba(0,0,0,0.8);
}

.flags {
	display: flex;
	overflow-x: hidden;
	padding: 20px;
}

.flag {
	flex-shrink: 0;
	height: 100px;
	margin: 0 20px;
}

.icons {
	color: #fff;
	font-size: 30px;
}

a {
	text-decoration: none;
}

.bigmoji {
	font-size: 60px;
	text-decoration: none;
	transition: font-size 0.3s ease;
}

.bigmoji:hover {
	font-size: 70px;
	transition: font-size 0.3s ease;
}


/* Fade Animation */

.fade {
	animation-name: fade;
	animation-duration: 1s;
}

@keyframes fade {
	from { opacity: 0 }
	to { opacity: 1 }
}


/* Dark Mode */

@media (prefers-color-scheme: dark) {
	body {
		background-color: #1F2937;
		color: #e0e0e0;
	}
	a {
		color: #60A5FA;
	}
}