* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
:root {
	--bg-color: #2c253d;
	--light-color: #d3d3d3;
	--primary-color: #8fed7f;
	--secondary-color: #8c52ff;
	--opacity-color: #4a3a72d0;
	--text-font: 'Roboto', sans-serif;
	--title-font: 'Lato', sans-serif;
}

body {
	background-color: var(--bg-color);
	color: var(--primary-color);
	font-family: var(--text-font);
}

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

i {
	color: var(--primary-color);
}
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 250px;
	display: flex;
	flex-direction: column;
	background-color: var(--bg-color);
	z-index: 20;
	box-shadow: 1px 4px 5px rgba(143, 237, 127, 0.3);
}

.navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	top: 0;
	height: 100px;
	width: 100%;
	padding: 0 25px;
	border-bottom: 1px solid var(--secondary-color);
}
.logo {
	width: 250px;
	height: 180px;
}

/* Pesquisar */
.search-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	height: 60px;
	border-radius: 40px;
	padding: 10px;
	background-color: #4a3a72d0;
}

.search-btn {
	color: var(--secondary-color);
	float: right;
	height: 40px;
	width: 40px;
	border-radius: 150px;
	background-color: #4a3a72d0;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 1.5s;
}
.search-field {
	border: none;
	background: none;
	outline: none;
	float: left;
	text-align: center;
	padding: 0;
	color: var(--primary-color);
	font-size: 1rem;
	transition: 0.4s;
	line-height: 40px;
	width: 0px;
}
.search-box input {
	font-family: var(--text-font);
	font-size: 1.2rem;
}

.search-box:hover > .search-field {
	width: 250px;
	padding: 0 6px;
}
.search-box:hover > .search-btn {
	background-color: var(--secondary-color);
}

/* Usuario */

.user-container {
	margin-right: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	background-color: #4a3a72d0;
	height: 55px;
	width: 100px;
	border-radius: 40px;
	padding: 5px;
	border: none;
	cursor: pointer;
	transition: 0.5s;
}
.user-container:hover,
.user-container:focus {
	box-shadow: 1px 4px 5px rgba(143, 237, 127, 0.3);
}
.user-btn {
	float: left;
	border-radius: 150px;
	height: 37px;
	width: 37px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dropdown {
	position: relative;
	display: inline-block;
	z-index: 6;
}
.dropdown-content {
	display: none;
	position: absolute;
	right: 0;
	top: 60px;
	transform: translateX(-10%);
	border-radius: 10px;
	background-color: #4a3a72d0;
	width: 300px;
	padding: 10px 0;
}
.dropdown-content a {
	font-size: 1.2rem;
	color: var(--primary-color);
	padding: 12px 16px;
	text-decoration: none;
	display: block;
}
.dropdown-content a span {
	font-weight: bold;
}
.dropdown-content a:hover {
	background-color: #2c253d7a;
}
.dropdown.show .dropdown-content {
	display: block;
}

/* Carousel */

.carousel {
	position: relative;
	overflow: hidden;
	padding: 15px;
}

.icon-container {
	padding: 0 15px;
	display: flex;
	overflow-x: auto;
	scroll-behavior: smooth;
	align-items: center;
}
.icon-container::-webkit-scrollbar {
	display: none;
}

.icons {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 0 0 auto;
	gap: 15px;
	width: 85px;
	height: 120px;
	margin-right: 45px;
	border-bottom: 2px solid transparent;
	transition: 0.5s;
	cursor: pointer;
}

.icons:hover {
	font-weight: bold;
	border-color: var(--primary-color);
	font-size: 15px;
}

article {
	text-align: center;
	font-size: 1rem;
}

.prev-btn,
.next-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	font-size: 1.5rem;
	background: linear-gradient(
		90deg,
		rgba(74, 58, 114, 0.816) 0%,
		var(--bg-color) 100%
	);
	border: none;
	border-radius: 50%;
	cursor: pointer;
}

.prev-btn {
	left: 0;
}

.next-btn {
	right: 0;
}

.prev-btn i,
.next-btn i {
	opacity: 0.2;
}

.prev-btn:hover i,
.next-btn:hover i {
	opacity: 1;
}
/* Main */
main {
	padding: 30px 0;
}
/* Cards */

.cards-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 260px;
	width: 100%;
	padding: 20px;
	gap: 30px 100px;
}
.card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 350px;
	height: 450px;
	border: 2px dashed transparent;
	border-radius: 10px;
	padding: 25px 15px;
	gap: 10px;
	cursor: pointer;
	background: rgba(74, 58, 114, 0.5);
	overflow: hidden;
	margin-bottom: 30px;
}

.card::before {
	content: '';
	position: absolute;
	width: 150px;
	height: 140%;
	background: linear-gradient(var(--primary-color), var(--secondary-color));
}
.card::after {
	content: '';
	position: absolute;
	inset: 4px;
	background: var(--bg-color);
}
@keyframes animate {
	0% {
		tranform: rotate (0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.card:hover::before {
	animation: animate 4s linear infinite;
}

.card-img {
	position: relative;
	z-index: 10;
	width: 100%;
	margin: 0 auto;
}
.card-img img {
	width: 100%;
	height: 350px;
	border-radius: 20px;
}

.card-info {
	display: flex;
	justify-content: space-between;
	gap: 25px;
	z-index: 9;
	width: 100%;
}
.card-text {
	display: flex;
	flex-direction: column;
}
.card-text h4 {
	margin-bottom: 5px;
	font-family: var(--title-font);
}
.star-note {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-left: 25px;
}

/* footer */
footer {
	padding: 5px;
}
.footer-container {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	background-color: rgba(74, 58, 114, 0.9);
	z-index: 21;
	box-shadow: 0px -10px 10px -10px var(--secondary-color);
	border-radius: 20px;
}
.logo-on-foot {
	display: none;
	height: 70px;
	padding: 10px;
}
.footer-text {
	font-size: 1rem;
	font-family: var(--title-font);
}
.social {
	display: flex;
	gap: 20px;
}
.logo-footer {
	width: 60px;
	height: 60px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.search-box:hover > .search-field {
		width: 180px;
	}
}
@media screen and (max-width: 700px) {
	header {
		height: 225px;
	}
	.logo-container {
		display: none;
	}
	.navbar {
		gap: 45px;
		height: 80px;
		padding: 10px 5px;
	}
	.search-box {
		width: 100%;
	}
	.search-box:hover > .search-field {
		width: 100%;
	}
	.search-box > .search-field {
		width: 100%;
	}
	.search-btn {
		width: 50px;
	}
	.user-container {
		width: 55px;
	}
	.user-container > i {
		display: none;
	}

	.dropdown-content {
		width: 200px;
	}
	.prev-btn,
	.next-btn {
		background: transparent;
	}
	.icons img {
		width: 40px;
		height: 40px;
	}
	.footer-container {
		justify-content: space-around;
	}
	.logo-on-foot {
		display: block;
	}
	.social {
		gap: 30px;
		margin-right: 20px;
	}
	.social a i {
		width: 10px;
		height: 10px;
	}
}

@media screen and (max-width: 375px) {
	header {
		height: 160px;
	}
	.carousel {
		height: 100%;
		padding: 6px;
	}
	.icon-container {
		height: 85px;
	}
	.icons {
		height: 80px;
		gap: 10px;
	}
	.icons img {
		width: 30px;
		height: 30px;
	}
	.cards-container {
		margin-top: 180px;
	}
}
