/* -------  General Styles ------- */

body {
	font-family: 'Lato', sans-serif;
}

h2 {
	font-size: 26px;
	font-weight: 400;
	margin: -10px 10px 20px 10px;
	text-align: center;
}

h3 {
	font-size: 18px;
	font-weight: 500;
}

p {
	line-height: 1.5em;
	margin: 0;
}

section {
	padding: 30px;
}

section.alternate-background {
	background-color: #00a699;
	color: #fff;
}

main img {
	width: 100px;
}

div img {
	width: 100%;
	margin-bottom: 20px;
}

/* ---  Groups & Items --- */

.group {
	display: flex;
	flex-direction: column;
}

/* -------  Navigation ------- */

header {
	background-color: #ff385c;
	padding: 20px 20px 0 20px;
	text-align: center;
}

.logo {
	font-family: 'Pangolin', cursive;
	font-size: 72px;
	color: #fff;
}

header nav ul {
	display: flex;
	justify-content: center;
	padding-bottom: 20px;
}

header nav ul li {
	list-style-type: none;
}

header nav ul li a {
	color: #fff;
	text-decoration: none;
	padding: 0 20px 0 0;
}

header nav ul li a:hover {
	color: #bdbdbd;
	text-decoration: none;
}

/* ----------- Stay ----------- */

#stay h2 {
	margin-top: -20px;
}

/* -------  Search Form ------- */

form {
	border: 2px solid #ff385c;
	padding: 10px;
}

form div {
	display: flex;
	justify-content: space-between;
	flex: 1;
}

form label {
	font-weight: bold;
}

form select,
form input {
	margin-bottom: 20px;
	width: 180px;
}

form button {
	background-color: #ff385c;
	border: none;
	color: #fff;
	font-size: 24px;
	padding: 15px;
	width: 100%;
	flex: 1;
}

/* -------- Host -------- */

section#host div img {
	margin-top: 15px;
}

/* -------  Footer ------- */

footer {
	background-color: #ff385c;
}

footer p {
	color: #fff;
	text-align: center;
	padding: 20px;
}

/* -------  Media Query ------- */

@media all and (min-width: 768px) {

	main {
		width: 100vw;
	}

	/* ----  Navigation & Form ---- */

	header,
	form {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	/* ----------- Stay ----------- */

	#stay h2 {
		margin-top: -8px;
	}

	/* -------  Search Form ------- */

	form div {
		flex-direction: column;
		margin: 0;
	}

	form select,
	form input {
		width: 86%;
	}

	/* --------- Sections --------- */

	section#about div {
		display: flex;
		align-items: center;
	}

	section#ideas div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section#ideas div div {
		flex: 0 49%;
	}

	section#host {
		flex-direction: row;
		align-items: center;
	}

	section#host div {
		flex: 1 40%;
	}

	section#host div img {
		margin: 0;
	}

	/* ----------- Items ----------- */

	.item {
		flex: 1;
		margin-right: 20px;
	}

	.item-double {
		flex: 2;
	}
}
