@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Outfit:wght@100..900&display=swap');

:root {
	--ff-secondary: Fredoka, sans-serif;
	--ff-primary: Outfit, sans-serif;
	--clr-white: #fff;
	--clr-black: #000;
	--clr-neutral-100: #F9F9F9;
	--clr-purple-900: #371A45;
	--clr-purple-400: #390277;
	--clr-purple-300: #9267E8;
	--clr-purple-200: #9D91FF;
	--clr-purple-linear: linear-gradient(80deg, var(--roxo, #390277) -8.38%, var(--Roxo-claro, #9267E8) 161.26%);
	--clr-blue-400: #01A1E6;
	--button-clr: #3A0177;
	--border-clr: #371A46;
}

html,
body {
	margin: 0;
	padding: 0 !important;
	font-family: var(--ff-primary);
	font-weight: normal;
	font-style: normal;
	font-size: 16px;
	overflow-x: hidden !important;
}

a:hover {
	color: #000000;
}

#navSection .mascot img {
	width: 100px;
}

.mascot img {
	width: 200px;
	display: block;
	margin: auto;
}

section.nav {
	padding: 15px 0;
}


.nav button {
	background: linear-gradient(80deg, #390277 -8.38%, #9267E8 161.26%);
	background-clip: text;
	border: none;
	color: transparent;
	margin-left: 70px;
	font-family: var(--ff-secondary);
	font-size: 24px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

.nav a:hover {
	cursor: pointer;
	text-decoration: underline !important;
	background: none !important;
	-webkit-text-fill-color: var(--clr-purple-300);
	color: var(--clr-purple-300);
}

.nav .img-fluid {
	max-height: 45px;
	min-height: 60px;
}

.navbar-toggler {
	border: none;
	background-color: transparent;
}

.navbar-toggler-icon {
	width: 25px;
	height: 2px;
	background-color: black;
	display: block;
	position: relative;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
	content: '';
	width: 25px;
	height: 2px;
	background-color: black;
	display: block;
	position: absolute;
}

.navbar-toggler-icon::before {
	top: -6px;
}

.navbar-toggler-icon::after {
	top: 6px;
}

#navbarMenu {
	display: none;
	transition: all 0.3s ease;
}

.navbar-toggler:focus {
	box-shadow: none;
}

#navbarMenu.show {
	display: block;
}

.navbar-text {
	display: flex;
	gap: 0.5rem;
}

.navbar-text li {
	margin: 0;
}

.navbar-text a {
	text-decoration: none;
	background: var(--clr-purple-linear);
	background-clip: text;
	font-size: 24px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	font-family: var(--ff-header);
}

@media (max-width: 767px) {
	#navbarMenu .navbar-text {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		padding: 1rem 0;
	}

	#navbarMenu .navbar-text li {
		margin: 0;
	}
}


/* ### Header ### */
.header-section {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.header-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: url("/img/header-bg.svg") center/cover no-repeat;
}

@media (max-width: 768px) {
	.header-bg {
		background-image: url("/img/bg-mobile.svg");
	}
}

.header-content {
	position: relative;
	z-index: 1;
	--max-width: 1144px;
	--padding: 1rem;
	width: min(var(--max-width), 100% - (2 * var(--padding)));

	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 500px;
}

.header-txt {
	max-width: 500px;
	color: var(--clr-white);
}

@keyframes float {
	0% {
		transform: translateY(0px) rotate(0deg);
	}

	50% {
		transform: translateY(-20px) rotate(5deg);
	}

	100% {
		transform: translateY(0px) rotate(0deg);
	}
}

.header-img img {
	max-width: 400px;
	width: 100%;
	height: auto;
	animation: float 3s ease-in-out infinite;

}

@media (max-width: 992px) {
	.nav button {
		margin-left: 30px;
		font-size: 20px;
	}
}

@media (max-width: 768px) {
	.header-content {
		flex-direction: column;
		text-align: center;
	}

	.header-img {
		margin-top: 40px;
	}

}

.header-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.header-bg-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.header-content {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 500px;
}

.header-img img {
	max-width: 400px;
	width: 100%;
	height: auto;
}

@media (max-width: 768px) {
	.header-content {
		flex-direction: column;
		text-align: center;
	}

	.header-img {
		margin-top: 40px;
	}
}

.header-txt,
.header-img {
	position: relative;
	z-index: 1;
}

.header-txt {
	max-width: 500px;
	color: #fff;
}

.header-txt h1 {
	font-family: var(--ff-secondary);
	margin-bottom: 1rem;
	font-size: 48px;
	font-style: normal;
	font-weight: 600;
	line-height: 50px;
	text-shadow: 0px 0px 37.5px rgba(255, 255, 255, 0.80);

}

.header-txt h4 {
	font-family: var(--ff-primary);
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: 50px;
}

.header-txt p {
	margin-bottom: 2.5rem;
	font-family: var(--ff-primary);
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 50px;
}

.header-txt span {
	font-weight: bold;
}

.button {
	color: var(--clr-white);
	border-radius: 10px;
}

.button-header {
	background: #9267E8;
	font-family: var(--ff-secondary);
	padding: 10px 36px;
	font-size: 25px;
	font-style: normal;
	font-weight: 600;
	line-height: 45px;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.button-header:hover {
	background-color: var(--clr-neutral-100);
	color: var(--button-clr);
}

.header-img img {
	max-width: 400px;
	width: 100%;
	height: auto;
}

/* ### END ### */

/* ### Message ### */
.message-container {
	margin: 58px auto 0;
	--max-width: 1144px;
	--padding: 1rem;
	width: min(var(--max-width), 100% - (2 * var(--padding)));
	text-align: center;
}

.message-container h1 {
	font-family: var(--ff-secondary);
	color: var(--clr-purple-400);
	font-size: 33px;
	font-style: normal;
	font-weight: 700;
	line-height: 50px;
}

.message-container p {
	font-family: var(--ff-primary);
	color: var(--clr-purple-400);
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
}

/* ### END ### */

@media(max-width: 420px) {
	.header-txt h1 {
		margin-bottom: 2rem;
		font-size: 40px;
	}

	.header-txt h4 {
		margin-bottom: 30px;
		line-height: 40px;
		font-size: 28px;
	}

	.header-txt p {
		line-height: 30px;
		font-size: 19px;
		text-wrap: balance;
	}
	.header-content {
		padding: 80px 0px;
	}
}

/* ### Vantagens ### */
.vantagens-container {
	margin: 0 auto;
	--max-width: 1144px;
	--padding: 1rem;
	width: min(var(--max-width), 100% - (2 * var(--padding)));
	background-color: var(--clr-purple-200);
	border-radius: 50px;
	padding: 64px 0 40px 0;
}

.vantagens-section {
	padding-top: 58px;
}

.vantagens-container h1 {
	font-family: var(--ff-secondary);
	text-align: center;
	margin-bottom: 2rem;
	color: var(--clr-purple-400);
	font-size: 33px;
	font-style: normal;
	font-weight: 700;
}

.vantagens-container span {
	color: var(--clr-neutral-100);
	font-family: Fredoka;
	font-size: 33px;
	font-style: normal;
	font-weight: 600;
}

.vantagens-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	align-items: center;
}

.vantagens-image img {
	width: 100%;
	max-width: 400px;
	display: block;
	margin: 0 auto;
}

.vantagens-list ul {
	list-style: none;
	padding: 0;
}

.vantagens-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--clr-white);
	font-size: 22.5px;
	font-weight: 500;
	line-height: 56.25px;
	transition: all 0.5s ease, filter 0.1s ease;
}

.vantagens-list li:hover {
	transform: translateX(8px) scale(1.1);
	filter: brightness(1.2);
	color: var(--clr-purple-400);
	font-weight: 700;
}


.vantagens-list img {
	width: 37px;
	height: 30px;
	flex-shrink: 0;
}

.vantagem-icon.primary {
	fill: var(--clr-purple-400);
}

.vantagem-icon.secondary {
	fill: var(--clr-purple-300);
}

@media (max-width: 825px) {
	.vantagens-list li {
		font-size: 20px;
	}
}

@media (max-width: 768px) {
	.vantagens-grid {
		grid-template-columns: 1fr;
	}

	.vantagens-image {
		order: -1;
	}

	.vantagens-list {
		display: flex;
		justify-content: center;
	}
}

@media (max-width: 576px) {
	.vantagens-list li {
		font-size: 18px;
	}

	.vantagens-container h1 {
		max-width: 50%;
		margin: 0 auto;
	}
}

@media (max-width: 480px) {
	.vantagens-container h1 {
		max-width: 60%;
	}
}

@media (max-width: 400px) {
	.vantagens-list li {
		font-size: 16px;
		line-height: 40px;
	}

	.vantagens-container h1,
	.vantagens-container h1 span {
		font-size: 28px;
	}

	.vantagens-list li {
		font-size: 15px;
	}

	.vantagens-list img {
		width: 30px;
		height: 25px;
	}
}

/* ### END ### */

/* ### Courses categories ### */
@media (max-width: 768px) {
	#navSection .navButtons {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	#navSection .navButtons .icon-button {
		flex: 0 0 auto;
		margin-right: 8px;
	}

	#navSection .navButtons::-webkit-scrollbar {
		display: none;
	}
}

#navSection .icon-button:active img,
#navSection .icon-button:focus img {
	filter: contrast(1.1) saturate(1.1) brightness(1.2);
}

.partner-logo:hover {
	transform: scale(1.1);
	filter: contrast(1.3);
}

#navSection {
	max-width: 1400px;
	margin: 50px auto 10px auto;
}

#navSection .row {
	margin: 0;
}

#navSection .icon-button {
	width: auto;
	height: 50px;
	margin: 5px;
	padding: 2px 16px;
	border-radius: 10px;
	background-color: #F9F9F9;
	border: none;
	color: var(--clr-purple-400);
	font-family: var(--ff-secondary);
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 20.278px;
}

#navSection .icon-button:hover,
#navSection .icon-button:active,
#navSection .icon-button:focus,
#navSection .icon-button.active {
	background-color: var(--clr-purple-300);
	color: var(--clr-white);
}

#navSection .icon-button img {
	transition: all 0.3s ease;
	margin: 4px;
}

@media (max-width: 768px) {
	#navSection .navButtons {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		padding: 0 1rem;
	}

	#navSection .navButtons .icon-button {
		flex: 0 0 auto;
		margin-right: .5rem;
	}

	#navSection .navButtons::-webkit-scrollbar {
		display: none;
	}
}

/* ### END ### */

/* ### Courses ### */
.courses-section {
	padding: 1rem 1rem;
}

.courses-section .container {
	position: relative;
}

.flying-rocket {
	position: absolute;
	top: 50%;
	left: 0;
	width: 250px;
	transform-origin: left center;
	transform: rotate(-15deg) translateX(-200px);
	animation: fly-straight 10s linear infinite;
	pointer-events: none;
	z-index: -1;
}

@keyframes fly-straight {
	from {
		transform: rotate(-15deg) translateX(-200px);
	}

	to {
		transform: rotate(-15deg) translateX(calc(100vw + 200px));
	}
}

.section-title {
	font-family: var(--ff-secondary);
	color: var(--clr-purple-400);
	text-align: center;
	margin-bottom: 3rem;
	font-size: 2.5rem;
}

.courses-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, 300px);
	justify-content: center;
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.course-card {
	width: 300px;
	background: white;
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	position: relative;
	border: 4px solid var(--border-clr);
}

.course-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* Card */
.card-content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.card-text {
	flex-grow: 1;
	margin: 18px 26px;
	display: flex;
	flex-direction: column;
}

.card-image-bg {
	width: 100%;
	height: 182px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.card-image-bg img {
	height: 200px;
	width: 260px;
	object-fit: contain;
}

.card-badge {
	position: absolute;
	top: 1.5rem;
	left: 0;
	display: flex;
	align-items: center;
	z-index: 2;
}

.badge-svg {
	width: 100%;
	height: 2rem;
}

.badge-text {
	position: absolute;
	left: 8px;
	font-size: 12px;
	font-weight: 600;
	font-family: var(--ff-secondary);
	text-transform: uppercase;
	color: var(--clr-neutral-100);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-style: normal;
}

.card-badge.new {
	--badge-color: #FFD700;
}

.card-badge.online {
	--badge-color: var(--clr-purple-300);
}

.badge-svg path {
	fill: var(--badge-color);
}

.category {
	display: block;
	color: var(--clr-blue-400);
	font-family: var(--ff-secondary);
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px;
	text-decoration-line: underline;
	text-decoration-style: solid;
	margin-bottom: 8px;
}

.course-title {
	font-family: var(--ff-secondary);
	color: var(--clr-purple-400);
	font-size: 18px;
	font-weight: 600;
}

.duration span {
	color: var(--clr-purple-900);
	font-family: var(--ff-primary);
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	line-height: 12px;
}

.duration {
	color: var(--clr-purple-900);
	font-family: var(--ff-primary);
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 12px;
}

.cta-button {
	background: var(--button-clr);
	border-radius: 10px;
	color: white;
	border: none;
	padding: 0.5rem 2.5rem;
	font-family: var(--ff-primary);
	font-weight: 400;
	font-style: normal;
	cursor: pointer;
	transition: background 0.3s ease;
	margin: 0 auto;
	display: block;
	margin-top: auto;
	align-self: center;
	width: fit-content;
}

.card-button {
	margin-bottom: 24px;
}

.cta-button:hover {
	background: var(--clr-purple-300);
}

.cta-primary {
	margin: 30px auto 0 auto;
	padding: 1rem 4rem;
	color: var(--clr-white);
	text-align: center;
	font-family: var(--ff-secondary);
	font-size: 22px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px;
}

@media (max-width: 1024px) {
	.courses-grid {
		grid-template-columns: repeat(auto-fit, 300px);
	}
}

@media (max-width: 700px) {
	.courses-grid {
		grid-template-columns: 1fr;
		max-width: 400px;
	}

	.course-card {
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}
}

@media (max-width: 380px) {
	.cta-primary {
		font-size: 19px;
	}
}

/* ### END ### */

/*Partners Slider*/
.partners-slider {
	margin: 0;
	padding: 0;
}

.partners-title h1 {
	color: var(--clr-purple-400);
	text-align: center;
	font-family: var(--ff-secondary);
	font-size: 35px;
	font-style: normal;
	font-weight: 700;
	max-width: 900px;
	margin: 90px auto 40px;
}

.partners-title span {
	color: var(--clr-purple-300);
	font-family: var(--ff-secondary);
	font-size: 35px;
	font-style: normal;
	font-weight: 700;
	line-height: 45px;
}

.partners {
	margin-top: 40px;
	width: 100%;
}

.partners-slider img {
	fill: #9E9E9E !important;
	max-width: 250px;
	object-fit: contain;
	max-height: 100px;
	width: 200px;
	height: 150px;
	padding: 20px 50px;
}

.partner-logo,
.icon-button img {
	transition: transform 0.3s ease, filter 2.3s ease;
}

.partner-logo:hover {
	transform: scale(1.1);
	filter: contrast(1.3) brightness(1.2);
}

/* ### FAQs ### */
#faq {
	margin-bottom: 80px;
	padding-top: 140px;
}

.faq-mascot {
	position: absolute;
	right: 5%;
	bottom: 0px;
	width: 200px;
	z-index: 10;
}

.mascot-body {
	position: absolute;
	right: -80px;
	bottom: 75%;
	width: 180px;
	z-index: -1;
}

.mascot-hands {
	position: absolute;
	right: -3%;
	top: -9%;
	width: 120px;
	z-index: 10;
	filter: drop-shadow(2px 4px 3px rgba(0, 0, 0, 0.1));
	transform: rotate(-10deg);
	transition: transform 0.3s ease;
}

.mascot-body,
.mascot-hands {
	pointer-events: none;
}

#faqAccordion .accordion-item:first-child {
	position: relative;
	z-index: 5;
}

#faqAccordion .accordion-item:first-child:hover~.mascot-hands {
	transform: rotate(-5deg) translateY(-5px);
}

#faq h1 {
	color: var(--clr-purple-300);
	text-align: center;
	font-family: var(--ff-secondary);
	font-size: 35px;
	font-style: normal;
	font-weight: 700;
}

#faq h1 span {
	color: var(--clr-purple-400);
}

/*Bootstrap override*/
.in {
	display: block;
	opacity: 1;
}

#faqAccordion .accordion-item {
	margin: 0 auto 10px;
	max-width: 1300px;
	border-radius: 10px;
	border: none;
}

#faqAccordion .accordion-header {
	cursor: pointer;
}

#faqAccordion .accordion-header button {
	color: var(--clr-purple-400);
	font-size: 20px;
	text-decoration: none;
	background: none;
	box-shadow: none;
	border: none;

}

.accordion-button:not(.collapsed)::after,
#faqAccordion .accordion-button.collapsed:hover::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")
}

.accordion-button::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%390277'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")
}

#faqAccordion .accordion-button.collapsed:hover {
	background-color: var(--clr-purple-400);
	transition: all 0.3s ease;
	border-radius: 10px;
	color: var(--clr-white);
}

#faqAccordion .accordion-header {
	border-radius: 10px;
	background-color: var(--clr-neutral-100);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: 95%;
}

#faqAccordion .accordion-button:not(.collapsed) {
	background-color: var(--clr-purple-400);
	color: #fff;
	border-radius: 10px;
	background-position: 95%;
}

#faqAccordion .accordion-body {
	background-color: var(--clr-white);
	border-radius: 10px;
	margin-top: 10px;
	font-size: 20px;
	font-weight: 400;
	color: var(--clr-purple-400);
	line-height: 1.5;
}

.accordion-body p {
	margin: 0;
}

/* ### END ### */

/* ### Footer ### */
#footerCTA {
	background-image: url(/img/footerBG.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding-top: 60px;
}

.ver-mais {
	transition: all 0.5s ease;
	margin-bottom: 25px;
	padding: 0.5rem 3rem;
	background-color: var(--clr-purple-300);
	margin: 5px auto 95px auto;
	border-radius: 10px;
	border: none;
	color: white;
	font-family: var(--ff-secondary);
	font-size: 22px;
	font-style: normal;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}

.text-center {
	text-decoration: none;
}


.ver-mais:hover {
	background-color: var(--button-clr);
	color: var(--clr-white);
}

/* Floating icons */
.floatingIcons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15%;
	position: relative;
	height: auto;
}

.floatingIcons img {
	position: absolute;
	width: 90px;
	animation: float 3s ease-in-out infinite;
}

.floatingIcons img:nth-child(1) {
	animation-delay: 0s;
	rotate: 15deg;
	left: 15%;
	top: -80px;
}

.floatingIcons img:nth-child(2) {
	width: 150px;
	animation-delay: 0.5s;
	left: 15%;
	top: 80px;
}

.floatingIcons img:nth-child(3) {
	width: 130px;
	animation-delay: 1s;

	left: 28%;
	top: -30px
}

.floatingIcons img:nth-child(4) {
	width: 100px;
	animation-delay: 1s;
	left: 28%;
	top: 200px;
}

.floatingIcons img:nth-child(5) {
	width: 120px;
	animation-delay: 1s;
	left: 65%;
	top: -60px
}

.floatingIcons img:nth-child(6) {
	width: 150px;
	animation-delay: 1s;
	left: 60%;
	top: 110px
}

.floatingIcons img:nth-child(7) {
	width: 130px;
	animation-delay: 1s;
	left: 75%;
	top: 80px
}

.floatingIcons img:nth-child(8) {
	width: 160px;
	animation-delay: 1s;
	left: 75%;
	top: -120px
}

@keyframes float {
	0% {
		transform: translateY(0) scale(1);
	}

	50% {
		transform: translateY(-15px) scale(1.1);
	}

	100% {
		transform: translateY(0) scale(1);
	}
}

.mascot img {
	max-width: 200px;
	display: block;
	margin: auto;
}

@media (max-width: 992px) {

	.floatingIcons img:nth-child(1) {
		width: 70px;
		left: 10%;
		top: -50px;
	}

	.floatingIcons img:nth-child(2) {
		width: 100px;
		left: 10%;
		top: 50px;
	}

	.floatingIcons img:nth-child(3) {
		width: 100px;
		left: 23%;
		top: -20px
	}

	.floatingIcons img:nth-child(4) {
		width: 90px;
		left: 23%;
		top: 120px;
	}

	.floatingIcons img:nth-child(5) {
		width: 90px;
		left: 65%;
		top: -30px
	}

	.floatingIcons img:nth-child(6) {
		width: 120px;
		left: 65%;
		top: 130px
	}

	.floatingIcons img:nth-child(7) {
		width: 100px;
		left: 75%;
		top: 50px
	}

	.floatingIcons img:nth-child(8) {
		width: 130px;
		left: 75%;
		top: -80px
	}
}

@media (max-width: 768px) {

	.mascot-hands,
	.mascot-body {
		display: none;
	}

	.floatingIcons img:nth-child(1) {
		width: 65px;
		left: 5%;
		top: -30px;
	}

	.floatingIcons img:nth-child(2) {
		width: 80px;
		left: 5%;
		top: 42px;
	}

	.floatingIcons img:nth-child(3) {
		width: 80px;
		left: 18%;
		top: -10px
	}

	.floatingIcons img:nth-child(4) {
		width: 78px;
		left: 18%;
		top: 107px;
	}

	.floatingIcons img:nth-child(5) {
		width: 70px;
		left: 60%;
		top: -20px
	}

	.floatingIcons img:nth-child(6) {
		width: 91px;
		left: 65%;
		top: 128px;
	}

	.floatingIcons img:nth-child(7) {
		width: 80px;
		left: 75%;
		top: 50px
	}

	.floatingIcons img:nth-child(8) {
		width: 100px;
		left: 75%;
		top: -70px
	}
}

@media (max-width:480px) {
	.mascot img {
		max-width: 140px;
	}
}

@media (max-width: 420px) {
	.floatingIcons img:nth-child(1) {
		left: 5%;
		top: -40px;
	}

	.floatingIcons img:nth-child(2) {
		left: 5%;
		top: 30px;
	}

	.floatingIcons img:nth-child(3) {
		left: 18%;
		top: -10px
	}

	.floatingIcons img:nth-child(4) {
		left: 13%;
		top: 98px;
	}

	.floatingIcons img:nth-child(5) {
		left: 60%;
		top: -41px
	}

	.floatingIcons img:nth-child(6) {
		left: 70%;
		top: 100px;
	}

	.floatingIcons img:nth-child(7) {
		left: 75%;
		top: 40px
	}

	.floatingIcons img:nth-child(8) {
		left: 75%;
		top: -50px
	}
}

@media (max-width: 375px) {
	.mascot img {
		max-width: 120px;
	}

	.floatingIcons img:nth-child(1) {
		width: 60px;
		left: 5%;
		top: -30px;
	}

	.floatingIcons img:nth-child(2) {
		width: 70px;
		left: 5%;
		top: 45px;
	}

	.floatingIcons img:nth-child(3) {
		width: 70px;
		left: 18%;
		top: -10px
	}

	.floatingIcons img:nth-child(4) {
		width: 68px;
		left: 8%;
		top: 104px;
	}

	.floatingIcons img:nth-child(5) {
		width: 60px;
		left: 60%;
		top: -20px
	}

	.floatingIcons img:nth-child(6) {
		width: 80px;
		left: 70%;
		top: 109px;
	}

	.floatingIcons img:nth-child(7) {
		width: 70px;
		left: 75%;
		top: 50px
	}

	.floatingIcons img:nth-child(8) {
		width: 80px;
		left: 75%;
		top: -50px
	}
}

/* ### END### */


/*Course modal CSS!*/
.modal-static {
	display: block !important;
}

.modal-backdrop {
	z-index: 1040 !important;
}

.modal {
	z-index: 1050;
}

.modal.show+.modal-backdrop {
	z-index: 1045;
}

#courseModal .modal-dialog {
	width: 90%;
	max-width: 900px;
	max-height: 700px;
	border: none;
}

#courseModal .modal-content {
	border-radius: 20px;
	box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.25);
}

#courseModal .modal-body {
	padding: 0;
}

.modal.fade.in .modal-dialog {
	transform: translate(0, 0);
}

#courseModal .card-img {
	width: 70%;
	object-fit: cover;
	border-radius: 20px 0 0 0;
}

#courseModal .card-img-bg {
	border-radius: 19px 0 0 0;
	width: 100%;
	height: 332px;
	background-color: var(--clr-purple-300);
	display: flex;
	align-items: center;
	justify-content: center;
}

#courseModal h1 {
	margin-top: 15px;
	color: var(--clr-purple-400);
	max-width: 95%;
	margin-bottom: 32px;
	font-family: var(--ff-secondary);
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	text-align: center;
}

.modal-text-container {
	margin-top: 16px;
	padding-left: 20px;
}

#courseModal p {
	font-size: 14px;
	font-weight: 400;
	max-width: 90%;
}

#courseModal span,
.formContainer span {
	color: #646667;
	font-family: var(--ff-secondary);
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	margin-left: 4px;
}

.gratis {
	color: var(--clr-purple-400) !important;
	font-family: var(--ff-secondary) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
}

#courseModal ul {
	padding-left: 15px;
	list-style-image: url(/img/modal-icon.svg);
	margin-bottom: 32px;
}

.closeModal {
	position: absolute;
	cursor: pointer;
	left: 100%;
	top: 0%;
	background-color: var(--clr-purple-400);
	color: #FFF;
	border: none;
	outline: none;
	z-index: 100;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	font-size: 20px;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	transform: translate(-100%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.closeModal img {
	width: 24px;
	height: 24px;
}

/* form */
form {
	display: flex;
	flex-direction: column;
	max-width: 90%;
}

form .form-control {
	border-radius: 50px;
	border: 1px solid #d9d9d9;
	background: #FFF;
	margin-bottom: 10px;
}

.form-select {
	border-radius: 50px;
}

select.form-control:not([size]):not([multiple]) {
	appearance: none;
	background-image: url(/img/icons/accordionArrow.svg);
	background-size: 10px;
	background-position: calc(100% - 10px);
	background-repeat: no-repeat;
}

.formContainer {
	margin: auto;
	border-radius: 0 0 20px 20px;
	width: 100%;
	background-color: #F6F6F6;
}

.formContainer h5 {
	margin: 20px 0;
	text-align: center;
	color: var(--clr-purple-400);
	font-family: var(--ff-secondary);
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
}

button#sub,
button.sub,
.send_cta {
	background-color: var(--button-clr);
	width: 170px;
	height: 40px;
	margin: 5px auto 15px auto;
	border-radius: 50px;
	border: none;
	color: white;
}

button#sub:hover,
button.sub:hover,
.send_cta:hover {
	background: var(--clr-purple-300);
}


.terms-text label,
.terms-text a {
	color: #646667;
}

.terms-text label.error {
	color: red;
}

.terms-text label {
	font-size: 13px;
	font-weight: 400;
	margin-bottom: 0;
}

.terms-text a {
	font-weight: 500;
	text-decoration: underline;
}

.terms-text {
	text-align: center;
	margin-bottom: 10px;
}

.terms-text .path {
	stroke: #646667;
}

.ty-page .bannerText {
	font-size: 45px;
}

#courseModal li {
	font-weight: 400;
	font-family: var(--ff-primary);
	font-size: 17.88px;
	font-style: normal;
	font-weight: 400;
	line-height: 25.542px;
}

.containerCheck {
	cursor: pointer;
	margin-right: 5px;
}

.containerCheck input {
	display: none;
}

.containerCheck svg {
	overflow: visible;
}

.path {
	fill: none;
	stroke: white;
	stroke-width: 6;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke-dasharray 0.5s ease, stroke-dashoffset 0.5s ease;
	stroke-dasharray: 241 9999999;
	stroke-dashoffset: 0;
}

.containerCheck input:checked~svg .path {
	stroke-dasharray: 70.5096664428711 9999999;
	stroke-dashoffset: -262.2723388671875;
}

label.error {
	color: red;
	font-size: 12px;
	margin: 10px 0;
	display: block;
}


/* section ads */
#section-ads {
	background-color: var(--clr-purple-400);
	padding: 10px 0;
	margin-top: -2px;
}

#section-ads img {
	filter: brightness(0) invert(1);
}

/* animations */
#saturno {
	transform-box: fill-box;
	transform-origin: center center;
	animation: spinSaturn 60s linear infinite;
}

@keyframes spinSaturn {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

#planet {
	transform-box: fill-box;
	transform-origin: center center;
	animation: orbitPlanet 120s linear infinite;
}

@keyframes orbitPlanet {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(-360deg);
	}
}

#moon,
#moon2 {
	transform-box: fill-box;
	transform-origin: center center;
	animation: spinMoon 20s linear infinite;
}

@keyframes spinMoon {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

#alien-ship {
	animation: floatShip 4s ease-in-out infinite;
}

@keyframes floatShip {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

#rock {
	animation: rockFall 3s ease-in-out infinite alternate;
}

@keyframes rockFall {
	0% {
		transform: translateY(0) rotate(0deg);
	}

	100% {
		transform: translateY(20px) rotate(15deg);
	}
}

#stars path,
#stars_2 path {
	animation: twinkle 2s ease-in-out infinite;
}

@keyframes twinkle {

	0%,
	100% {
		opacity: 0.8;
	}

	50% {
		opacity: 1;
	}
}