/* ----- TABELA DE CORES ----------------------------------------------------------------------- */

:root {
	--espaco:		1.25rem;
	
	--preto:		#222222;
	--escuro:		#035527;
	--principal:	#036636;
	--destaque:		#adde30;
	--cinza:		#666666;
	--neutro:		#e9ebec;
	
}

/* ----- RESET --------------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}


/* ----- TIPOGRAFIA ---------------------------------------------------------------------------- */

body,
button,
input,
select,
textarea {
	font-family: "Montserrat", sans-serif;
	font-size: 1.25rem;
	font-weight: 300;
}

body {
	line-height: 1.4;
}

strong {
	font-weight: 400;
}

p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}

h1, h2, h3 {
	font-family: "Poppins", sans-serif;
}


/* ----- ELEMENTOS BÁSICOS --------------------------------------------------------------------- */

body {
	background: var(--neutro);
	color: var(--preto);
	min-height: 100dvh;
	position: relative;
	font-optical-sizing: auto;
}

a,
a:link,
a:visited {
	color: var(--destaque);
	text-decoration: underline;
}

.botao,
.botao:link,
.botao:visited {
	background-color: var(--principal);
	color: #fff;
	border: none;
	border-radius: 3px;
	padding: var(--espaco);
	margin: calc( var(--espaco) * 2 );
	margin-inline: auto;
	display: block;
    line-height: 1;
	font-weight: 300;
	text-decoration: none;
	text-align: center;
}

hr {
	background-color: var(--destaque);
	border: none;
	height: 1px;
	margin: calc( var(--espaco) * 4 );
	margin-inline: auto;
}


/* ----- ESTRUTURA ----------------------------------------------------------------------------- */

main {}

.container {
	max-width: 1200px;
	margin: auto;
	padding: var(--espaco);
}


/* ----- BARRA SUPERIOR ------------------------------------------------------------------------ */

nav {
	background: var(--escuro);
	color: #fff;
}

nav .container {
	display: grid;
	gap: calc( var(--espaco) * 2);
	grid-template-columns: 200px 1fr 50px;
	grid-template-areas: "logo . social";
}

#logotipo {
	background: url(../images/logotipo.svg) no-repeat center center/cover;
	aspect-ratio: 145/50;
	width: 100%;
	max-width: 250px;
	height: auto;
	margin-inline: auto;
	text-indent: -100000000px;
	grid-area: logo;
}

#menu-social-header {
	grid-area: social;
}

/* ----- REDES SOCIAIS ------------------------------------------------------------------------- */

#menu-social-header a {
	 background-color: #fff;
}

#menu-social-footer a {
	 background-color: var(--escuro);
}

.menu-social {
    list-style: none;
    margin: auto;
    width: auto;
    display: table;
}

.menu-social li {
    display: table-cell;
}

.menu-social a {
	width: 24px;
	height: 24px;
	margin: 5px;
	display: block;
	text-indent: -9999px;
	opacity: .6;
	mask-image: url(../images/icon-globe.svg);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

.menu-social a:hover {
	opacity: 1;
}

.menu-social a[href*="instagram.com"] {
    mask-image: url(../images/icon-instagram.svg);
}


/* ----- CABEÇALHO ----------------------------------------------------------------------------- */

header {
	background: url(../images/header.jpg) no-repeat top center/cover;
	color: #fff;
	aspect-ratio: 1000/562;
	width: 100%;
	height: auto;
	max-height: 100svh;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

h1 {
	margin: 0;
	line-height: 1.1;
	padding-left: 50%;
	font-weight: 600;
	font-size: 22px;
	text-align: center;
	text-wrap: balance;
}

@media (min-width: 480px) {

	h1 {
		font-size: 28px;
	}

}

@media (min-width: 600px) {

	h1 {
		font-size: 33px;
	}

}

@media (min-width: 800px) {

	h1 {
		font-size: 42px;
	}

}

@media (min-width: 900px) {

	h1 {
		font-size: 52px;
	}

}

@media (min-width: 1024px) {

	h1 {
		font-size: 68px;
	}

}

@media (min-width: 1220px) {

	h1 {
		font-size: 72px;
	}

}


/* ----- CONTEÚDO ------------------------------------------------------------------------------ */

h2 {
	margin: calc( var(--espaco)  * 6 );
	margin-inline: auto;
	line-height: 1.2;
	font-weight: 500;
	font-size: clamp(24px, 2.9091px + 3.6364vw, 42px);
	text-align: center;
	text-wrap: balance;
}

h3 {
	margin-bottom: var(--espaco);
	margin-inline: auto;
	line-height: 1.2;
	font-weight: 500;
	font-size: clamp(1.25rem, 1.0227rem + 0.5455vw, 1.5rem);
	text-align: center;
	text-wrap: balance;
}

#funcoes {
	display: grid;
	gap: calc( var(--espaco) * 4);
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {

	#funcoes {
		grid-template-columns: repeat(3, 1fr);
	}

}

#download {
	max-width: 600px;
	margin-inline: auto;
	display: grid;
	gap: calc( var(--espaco) * 4);
	grid-template-columns: 1fr;
}

/*
#download .download {
	color: var(--principal);
	background-size: 36px 36px;
	background-position: center center;
	background-repeat: no-repeat;
	padding-top: 90px;
	display: block;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
}

#download .download-ios {
	background-image: url(../images/download-apple-store.svg);
}

#download .download-android {
	background-image: url(../images/download-google-store.svg);
}

#download .download-windows {
	background-image: url(../images/download-microsoft-store.svg);
}

@media (min-width: 900px) {

	#download {
		grid-template-columns: repeat(3, 1fr);
	}

}
*/

#nutricionista {
	max-width: 500px;
	margin-inline: auto;

}

/* ----- RODAPÉ -------------------------------------------------------------------------------- */

footer {
	color: var(--cinza);
	padding-top: calc( var(--espaco) * 10);
	padding-bottom: calc( var(--espaco) * 2);
	font-weight: 400;
	text-align: center;
}

#agencia-lua-crescente {
	padding-top: calc( var(--espaco) * 2);
	font-size: 12px;
}

#agencia-lua-crescente a,
#agencia-lua-crescente a:link,
#agencia-lua-crescente a:visited {
	color: var(--principal);
	text-decoration: underline;
}
