* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html{
	scroll-behavior: smooth;
}

a {
	text-decoration: none;
	outline: none;
}

a:hover {
	text-decoration: underline;
}

body {
    font-family: 'Noto Sans JP', sans-serif;	
	background: #f2f2f2;
}

/* * ============================== */
/* * ============ HEADER ========== */
/* * ============================== */

.navbar {
	background: linear-gradient(90deg, #f8ff00 0%, #3ad59f 100%);
	position: sticky;
	top: 0;
}

.navbar a {
	color: #fff;
	display: inline-block;
	padding: 20px;
	width: 100%;
	text-align: center;
	color: #000;
	transition: .3s ease-out all;
}

.navbar a:hover {
	background: #1D2F3D;
	color: #fff;
	text-decoration: none;
}

.contenedor {
	max-width: 1000px;
	width: 90%;
	margin: auto;
	display: flex;
	justify-content: space-between;
}

/* * ============================== */
/* * ===== CONTENEDOR IMAGEN ====== */
/* * ============================== */

.contenedor-imagen {
	height: 100vh;
}

.contenedor-imagen img {
	width: 100%;
	height: 100%;
	vertical-align: top;
	object-fit: cover;
	object-position: 0 bottom;
}

/* * ============================== */
/* * ============ MAIN ============ */
/* * ============================== */

main {
	min-height: 100vh;
}

main .contenido p {
	margin-bottom: 20px;
	line-height: 30px;
	color: #525151;
}

main .contenido .titulo {
    font-family: 'Montserrat', sans-serif;
	font-weight: normal;
	padding-top: 40px;
}

main .contenido .fecha {
	font-size: 14px;
	color: #B5B5B5;
}

/* * ============================== */
/* * ============ ASIDE =========== */
/* * ============================== */

aside {
	min-width: 30%;
	margin: 40px 20px 20px 0;
	height: 100%;
	background: linear-gradient(90deg, #f8ff00 0%, #3ad59f 100%);
	padding: 20px;
	border-radius: 3px;
	position: sticky;
	top: 20px;
}

aside .titulo {
	font-family: 'Montserrat', sans-serif;
	font-weight: normal;
	font-size: 20px;
	text-transform: capitalize;
	color: #000000;
}

aside .titulo2{
	margin-bottom: 15px;
}

aside .indice a {
	display: block;
	margin-bottom: 10px;
	color: #000000;
}

.lista{
	margin-left: 18px;
}

/* * ============================== */
/* * ========== FOOTER ============ */
/* * ============================== */

footer .navbar{
	position: sticky;
	bottom: 0;
}



/* * ============================== */
/* * ====== MEDIA QUERIES ========= */
/* * ============================== */
@media screen and (max-width: 900px){
	.navbar .contenedor {
		flex-wrap: wrap;
		margin: 0;
		width: 100%;
	}

	.navbar a {
		width: auto;
		flex: 1;
	}

	.contenedor-imagen {
		height: 50vh;
	}

	main .contenedor {
		flex-direction: column;
	}

	aside {
		position: static;
		margin: 40px 0 0 0;
	}
}