/*FONT*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap');


/*GENERAL*/
:root {
	--red: #ff5757;
	--grey: #737373;
	--dark-grey: #3E3E3C;
}

* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
	height: 100%;
	min-height: 100%;
	scroll-behavior: smooth;
}

body {
	background: #f8efde;

	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	color: var(--grey);
}

ul,
li {
	list-style: none;
	margin: 0;
	padding: 0;
}

figure {
	margin: 0;
}

h1,
h2,
h3,
strong {
	font-weight: 500;
}

a {
	color: var(--grey);
	text-decoration: none;
}

.red {
	color: var(--red);
}

.grey {
	color: var(--grey);
}

.dark-grey {
	color: var(--dark-grey);
}

.bg-red {
	background-color: var(--red);
}

.bg-grey {
	background-color: var(--grey);
}

.bg-dark-grey {
	background-color: var(--dark-grey);
}

::-webkit-input-placeholder {
	/* Edge */
	color: var(--light-grey);
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: var(--light-grey);
}

::placeholder {
	color: var(--light-grey);
}



/*HEADER*/
header {
	width: 100%;
	top: 0;
	left: 0;
	padding: 30px 0 20px;
	z-index: 10;
	transition: .3s ease;
}

header h1 {
	width: 100%;
	margin: 20px 0 0;

	font-family: 'Open Sans', sans-serif;
	font-size: 34px;
	font-weight: 300;
	color: var(--red);
	text-transform: uppercase;
	letter-spacing: 3px;
}


/*MAIN*/
main {
	overflow: hidden;
}


/*FOOTER*/
footer {
	padding: 50px 0 40px;
	overflow: hidden;
}

footer figure {
	margin: 0;
}

footer p {
	margin: 0;

	font-size: 20px;
	font-weight: 500;
	color: var(--grey);
}

footer ul.contacts {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 12px;
	margin-top: 60px;
}

footer ul.contacts > li {
	display: flex;
	gap: 10px;
	flex-basis: 50%;
	align-items: center;
}

footer ul.contacts > li > a {
	display: flex;
	align-items: center;
	gap: 10px;
}


/*HERO*/
section.hero figure > img {
	width: 100%;
}


/* TOPICS */
section.topics {
	padding: 30px 0;
}

section.topics h2 {
	font-size: 28px;
	font-weight: 500;
	text-align: center;
}

section.topics ul {
	margin-top: 50px;
	display: grid;
	row-gap: 15px;
	grid-template-columns: repeat(2, 1fr);
}

section.topics ul > li {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 28px;
	font-weight: 300;
	line-height: 100%;
	text-align: left;
}

/* PHOTOS */
section.photos {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}

section.photos > img {
	/* flex-basis: calc(100% / 5); */
	flex-grow: 1;
}


/* WHATSAPP */
.btn-whats {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 9;
	cursor: pointer;
}

.btn-whats button {
	display: block;
	width: 60px;
	height: 60px;
	position: relative;
	border-radius: 50%;
	border: none;
	background: #26c281 url(img/whatsapp.png) no-repeat center;
	background-size: 30px auto;
	cursor: pointer;
	transition: .2s ease;
	animation: pulse 1s ease infinite, wave 2s linear infinite;
}

.btn-whats button:hover {
	background-color: rgba(38, 220, 129, 1);
}

/* AnimaÃ§Ã£o de pulsaÃ§Ã£o */
@keyframes pulse {
	0% {
	  transform: scale(1);
	}
	50% {
	  transform: scale(1.1);
	}
	70% {
	  transform: scale(1);
	}
}

/* AnimaÃ§Ã£o de rastro de ondas */
@keyframes wave {
	0% {
	  box-shadow: 0 0 0 0px rgba(16, 195, 121, 0.7);
	}
	100% {
	  box-shadow: 0 0 0 20px rgba(16, 195, 121, 0);
	}
}


/*////////////////
/// RESPONSIVE
////////////////*/

/* xl */
@media (max-width: 1200px) {
	section.topics ul {
		grid-template-columns: 1fr;
		text-align: center;
	}

	section.photos > img {
		width: calc(100% / 5);
	}

	footer ul.contacts {
		row-gap: 20px;
	}
	
	footer ul.contacts > li {
		/* justify-content: center; */
		flex-basis: 100%;
	}
}

/* lg */
@media (max-width: 992px) {

}

/* md */
@media (max-width: 768px) {
	header h1 {
		font-size: 30px;
	}

	section.topics h2 {
		font-size: 30px;
	}

	section.topics ul {
		margin-top: 30px;
	}

	section.topics ul > li {
		font-size: 22px;
	}

	section.photos > img {
		width: initial;
		flex-grow: 1;
	}
}

/* sm */
@media (max-width: 576px) {
	header h1 {
		font-size: 20px;
	}

	section.topics h2 {
		font-size: 15px;
	}

	section.topics ul > li {
		font-size: 18px;
	}
}

@media (max-width: 375px) {
	section.topics h2 {
		font-size: 14px;
	}
}

@media (max-width: 320px) {
	header h1 {
		font-size: 16px;
	}
}