/* ============================
   BASE
============================ */

/* ROOT */

:root {
  --primary-color: #30ADE7;
  --primary-color-lighter: #30ADE714;
  --dark-blue: #07075B;
  --black: #2F2F2F;
  --gray: #757575;
  --light-gray: #F2F2F2;
  --white: #FFFFFF;
  --success-color: #12A849;
  --success-color-lighter: #30E77314;
  --danger-color: #F17E50;
  --danger-color-lighter: #F17E5014;
  --border-color: #EFEFEF;

  --sm-border-radius: 16px;
  --lg-border-radius: 24px;
  --xlg-border-radius: 100px;

  --font-size-base-desktop: 16px;
  --font-size-base-mobile: 14px;

  --title-height: 115%;
  --description-height: 140%;

  --sm-spacing: 8px;
  --md-spacing: 16px;
  --lg-spacing: 24px;
  --xl-spacing: 32px;
  --xxl-spacing: 40px;

  --mobile-p: 320px;
  --mobile-m: 375px;
  --mobile-g: 425px;
  --tablet: 768px;
  --laptop: 1024px;
  --laptop-g: 1440px;

  --font-titles: 'Dosis';
  --font-descriptions: 'REM regular';
  --font-descriptions-bold: 'REM bold';
}

* {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
}

/* TYPOGRAPHY */

@font-face {
  font-family: 'Dosis';
  src: url('../fonts/Dosis/Dosis-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'REM regular';
  src: url('../fonts/REM/REM-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'REM bold';
  src: url('../fonts/REM/REM-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

* {
  font-family: var(--font-descriptions);
  line-height: var(--description-height);
  font-size: 14px;
  color: var(--gray);

  @media screen and (min-width: 425px) {
    font-size: 16px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-titles);
  line-height: var(--title-height);
  color: var(--black);
  overflow: hidden;
}

h1 {
  font-size: 24px;

  @media screen and (min-width: 768px) {
    font-size: 48px;
  }

  @media screen and (min-width: 1430px) {
    font-size: 64px;
  }
}

h2 {
  font-size: 32px;

  @media screen and (min-width: 768px) {
    font-size: 40px;
  }
}

h3 {
  font-size: 24px;

  @media screen and (min-width: 768px) {
    font-size: 32px;
  }
}

h4 {
  font-size: 20px;

  @media screen and (min-width: 768px) {
    font-size: 24px;
  }
}

/* CONTAINER */

.container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 0 24px;
  overflow: hidden;

  @media screen and (min-width: 768px) {
    padding: 0 108px;
  }

  @media screen and (min-width: 1440px) {
    padding: 0;
    width: 1224px;
    margin: 0 auto;
  }
}

/* ============================
   COMPONENTES
============================ */

/* BADGE */

.badge {
  padding: 10px 16px;
  border-radius: var(--xlg-border-radius);
  font-size: 14px;
  font-family: var(--font-titles);
  color: var(--primary-color);
  background-color: var(--primary-color-lighter);
}

/* BUTTON */

@import url(./root.css);

.button {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-family: var(--font-titles);
	line-height: 100%;
	padding: 16px;
	border: 2px solid transparent;
	border-radius: var(--sm-border-radius);

	@media screen and (min-width: 425px) {
		padding: 16px 24px;
	}
}

.button:hover {
	cursor: pointer;
}

.button.primary {
	color: var(--white);
	background-color: var(--primary-color);
	box-shadow: 0 10px 24px -8px #7BCAEF;
}

.button.primary i, .span1 {
	color: var(--white) !important;
}

.button.secondary {
	color: var(--primary-color);
	border: 2px solid var(--primary-color);
	background-color: transparent;
}

.button.secondary i, .span2 {
	color: var(--primary-color);
}

/* SELECT */

/* select {
  padding: 16px;
  border: 2px solid #EFEFEF;
  background-color: #FAFAFA;
  border-radius: var(--sm-border-radius);
  width: 100%;

  @media screen and (min-width: 425px) {
    padding: 16px 24px;
  }
} */

.select2 {
  width: 100% !important;
}

/* .select2-selection .select2-selection--single {
  height: 48px;
} */

.select2-selection__rendered {
  background-color: #efefef;
  border: none;
  border-radius: 16px;
  box-shadow: none;
  /* color: #0073c1; */
  /* line-height: 3; */
  height: 100%;
  display: flex !important;
  align-items: center !important;
  line-height: 34px;
  padding-left: 16px !important;
}

.select2-container--default .select2-selection--single {
  border: none !important;
  border-radius: 16px !important;
  height: 48px !important;
}

/* .select2-selection__rendered {
  border-radius: 4px;
  height: 34px;
  line-height: 34px;
} */

/* .select2-dropdown.select2-dropdown--below {
  max-width: 252px !important;
} */

.search>.gradient {
  /*background: linear-gradient(90deg, #00122d 15%, rgba(0, 18, 45, 0.5), transparent 100%);*/
  background: linear-gradient(0deg, rgba(0, 18, 45, 0.9) 0%, rgba(0, 18, 45, 0.75), rgba(7, 7, 92, 0.5) 100%);
  width: 100%;
  height: 100%;
  position: absolute;
}

.select2-selection__rendered {
  line-height: 34px !important;
}

.select2-selection__arrow {
  height: 44px !important;
  right: 9px !important;
}

/* LABEL */

label {
  color: var(--black);
  font-family: var(--font-descriptions-bold);
  line-height: 100%;
}

/* ============================
   SEÇÕES
============================ */

/* HERO */

.hero {
  position: relative;
  margin: 64px 0 16px;
  z-index: 1;

  @media screen and (min-width: 768px) {
    margin: 48px 0 32px;
  }
}

.hero .container {
  @media screen and (min-width: 960px) {
    flex-direction: row;
    align-items: flex-end;
  }
}

.hero .container .wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--md-spacing);
  width: 100%;

  @media screen and (min-width: 960px) {
    align-items: flex-start;
  }
}

.hero .descriptions {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--sm-spacing);

  @media screen and (min-width: 960px) {
    text-align: start;
    align-items: flex-start;
    gap: var(--lg-spacing);
  }
}

.hero .descriptions h1 {
  line-height: 100%;
  overflow: hidden;
}

.hero .descriptions p {
  @media screen and (min-width: 425px) {
    max-width: 550px;
  }
}

.hero .numbers {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: var(--sm-spacing);
  width: 100%;

  @media screen and (min-width: 960px) {
    justify-content: flex-start;
    gap: var(--xl-spacing);
  }
}

.hero .numbers .wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  width: auto;

  @media screen and (min-width: 960px) {
    text-align: start;
    align-items: flex-start;
    margin-bottom: 32px;
  }
}

.hero .big-number {
  font-size: 20px;
  font-family: var(--font-descriptions-bold);
  margin: 0;

  @media screen and (min-width: 960px) {
    font-size: 32px;
  }
}

.hero .numbers .wrapper:nth-child(1) .big-number {
  color: #3115CE;
}

.hero .numbers .wrapper:nth-child(2) .big-number {
  color: #15CECE;
}

.hero .numbers .wrapper:nth-child(3) .big-number {
  color: #1572CE;
}

.hero img {
  position: relative;
  width: 100%;
  object-fit: cover;

  @media screen and (min-width: 425px) {
    width: 56%;
  }

  @media screen and (min-width: 768px) {
    width: 60%;
  }

  @media screen and (min-width: 960px) {
    width: 43%;
    bottom: -43px;
    right: 40px;
  }

  @media screen and (min-width: 1430px) {
    right: 0px;
  }
}

/* SEARCH */

.search {
  position: relative;
  z-index: 2;
  margin-top: -60px;

  @media screen and (min-width: 425px) {
    margin-top: -48px;
  }

  @media screen and (min-width: 960px) {
    margin-top: -32px;
  }
}

.search .main-group {
  display: flex;
  flex-direction: column;
  gap: var(--lg-spacing);
  padding: 32px;
  width: 100%;
  border-radius: var(--lg-border-radius);
  background: #30ADE7;
  background: linear-gradient(90deg, rgba(48, 173, 231, 1) 0%, rgba(26, 122, 203, 1) 100%);
}

.search .header {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: start;
  width: 100%;
  gap: var(--sm-spacing);
}

.search .main-group h2,
.search .main-group p {
  color: var(--white);
}

.search .buttons-wrapper {
  width: 100%;
  overflow-x: scroll;

  @media screen and (min-width: 768px) {
    overflow: hidden;
  }
}

.search .buttons {
  display: flex;
  flex-direction: row;
  gap: var(--sm-spacing);
  width: 510px;

  @media screen and (min-width: 768px) {
    width: 100%;
    gap: var(--md-spacing);
  }
}

.search .buttons button {
  border: none;
  color: var(--white);
  background-color: #FFFFFF14;
  width: auto;

  @media screen and (min-width: 768px) {
    width: 100%;
  }
}

.search .buttons button.selected {
  color: var(--primary-color);
  background-color: var(--white);
}

.search .buttons button:hover {
  cursor: pointer;
}

.search form {
  display: flex;
  flex-direction: column;
  gap: var(--md-spacing);

  @media screen and (min-width: 960px) {
    flex-direction: row;
  }
}

.search .form-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  gap: var(--sm-spacing);
}

.search .form-group label {
  color: var(--white);
}

/* COURSE SHOUCASE */

.vitrine-cursos {
	width: 100%;
	margin: 24px 0;

	@media screen and (min-width: 768px) {
		margin: 32px 0;
	}
}

.vitrine-cursos 
.carregando-vitrine img {
	width: 80px;
	object-fit: cover;
	animation: pulseOpacity 1s ease-in-out infinite;
}

@keyframes pulseOpacity {
	0%,
	100% {
		opacity: 0.3;
	}

	50% {
		opacity: 1;
	}
}

.vitrine-cursos 
.container {
	gap: var(--md-spacing);

	@media screen and (min-width: 768px) {
		gap: var(--xl-spacing);
	}
}

/* .melhores-oportunidades-container {
	font-family: 'Dosis', sans-serif;
	position: relative;
	padding: 40px 20px;
	max-width: 1200px;
	margin: 0 auto;
	text-align: start;
	gap: 1rem;
} */

.topo-vitrine {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	gap: var(--sm-spacing);

	@media screen and (min-width: 768px) {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
		gap: var(--lg-spacing);
	}
}

.topo-vitrine button {
	display: none;

	@media screen and (min-width: 768px) {
		display: block;
	}
}

.titulo-melhores {
	/* flex: 1 1 auto;
	text-align: left;
	font-weight: 700;
	color: #2a2a2a; */
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sm-spacing);
	max-width: 650px;

	@media screen and (min-width: 768px) {
		align-items: flex-start;
		gap: var(--md-spacing);
	}
}

.titulo-melhores h2 {
	text-align: center;

	@media screen and (min-width: 768px) {
		text-align: left;
	}
}

/* .botao-oportunidades {
	flex-shrink: 0;
} */

/* .btn-oportunidades {
	background-color: #30ADE7;
	color: white;
	border: none;
	padding: 10px 14px;
	border-radius: 14px;
	cursor: pointer;
	transition: background-color 0.2s ease;
	margin-right: 10px;
	box-shadow: 1px #000;
} */

/* .btn-custom:hover {
	background-color: #219ccf;
}

.btn-oportunidades:hover {
	background-color: #2499c6;
} */

.lista-cards {
	display: grid;
	grid-template-columns: repeat(2, 132px);
	flex-wrap: wrap;
	gap: var(--sm-spacing);

	@media screen and (min-width: 375px) {
		grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	}

	@media screen and (min-width: 425px) {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
		gap: var(--md-spacing);
	}

	@media screen and (min-width: 1024px) {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	}
}

.card-curso {
	background: white;
	border: 2px solid #EFEFEF;
	border-radius: var(--sm-border-radius);
	box-shadow: 0 10px 24px -8px #ECECEC;
	text-align: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
}

.card-curso:hover {
	/* box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); */
	transform: translateY(-4px);
}

.card-curso .card-logo img {
	max-width: 100%;
	object-fit: contain;
	display: block;
	border-radius: 16px;
}

/* .final-card {
	margin-top: auto;
	display: flex;
	justify-content: center;
} */

.final-card {
	margin-top: auto;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: var(--md-spacing);
	padding: 16px;
}

.final-card h5 {
	text-align: center;
	font-size: 16px;

	@media screen and (min-width: 768px) {
		text-align: left;
		font-size: 24px;
	}
}

/* .final-card p {
	font-size: 0.95rem;
	font-weight: bold;
	color: #2F2F2F;
	margin-bottom: 10px;
} */

/* Preço */
.card-curso .card-preco {
	font-size: 0.95rem;
	color: #555;
	border-top: 1px solid #eee;
	padding-top: 12px;
}

/* .valor_slide span {
	color: #30ADE7;
	font-weight: 900;
	font-size: 16px;
} */

/* .valor_slide {
	font-family: 'REM', sans-serif;
	padding: 20px 10px;
	text-align: center;
} */

.valor-slide {
	/* font-family: 'REM', sans-serif; */
	display: flex;
	flex-direction: column;
	/* gap: var(--sm-spacing); */
	gap: 4px;
	padding-bottom: 8px;
	text-align: center;

	@media screen and (min-width: 768px) {
		text-align: left;
	}
}

.valor-slide p {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;

	@media screen and (min-width: 768px) {
		flex-direction: row;
		gap: var(--sm-spacing);
	}
}

.valor-slide span {
	font-family: var(--font-descriptions-bold);
	color: var(--primary-color);
	/* font-weight: 900;
	font-size: 16px; */
}

.desc_slide-oportunidades {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 6px;
}

.desc_slide {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
}

.desc_slide div {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
}

.desc_slide span {
	font-weight: bold;
	/* font-size: 16px; */
}

.card-curso .card-preco span {
	color: #30ADE7;
	font-weight: bold;
}

/* FEEDBACKS */

.depoimentos {
	margin: 32px 0;
	width: 100%;
}

.depoimentos
.container {
	gap: var(--lg-spacing);
}

.depoimentos
.header {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: var(--md-spacing);
	width: 100%;
	max-width: none;

	@media screen and (min-width: 768px) {
		gap: var(--lg-spacing);
		max-width: 650px;
	}
}

/* .section-group {
	text-align: center;
	justify-items: center;
} */

.depoimentos-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sm-spacing);
	/* margin-top: var(--xxl-spacing); */
	@media screen and (min-width: 768px) {
		gap: var(--lg-spacing);
	}
}

.depoimento-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--md-spacing);
	border-radius: var(--lg-spacing);
	border: 2px solid #EFEFEF;
	padding: var(--lg-spacing);
	text-align: center;
	background-color: var(--white);
	box-shadow: 0 10px 24px -8px #ECECEC;
}

/* .depoimento-card .aspas {
	font-size: 28px;
	color: var(--primary-color);
	margin-bottom: var(--md-spacing);
} */

/* @font-face {
    font-family: 'Dosis';
    src: url('../fonts/Dosis/Dosis-VariableFont_wght.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
} */

/* .depoimento-card h4 {
	font-family: 'Dosis', sans-serif;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	color: #2F2F2F;
	margin-bottom: 4px;
} */

/* @font-face {
    font-family: 'REM';
    src: url('../fonts/REM/REM-VariableFont_wght.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
} */

/* .depoimento-card p {
	font-family: 'REM', sans-serif;
	font-size: 16px;
	color: #757575;
	font-weight: 400;
	margin-bottom: 20px;
} */

/* .depoimento-card .funcao {
	font-family: 'REM', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #9999A3;
} */

/* Responsivo */
@media (max-width: 768px) {
	.depoimentos-grid {
		grid-template-columns: 1fr;
	}

	/* .depoimento-card h4 {
        font-size: 16px;
    }

    .depoimento-card p {
        font-size: 14px;
    }

    .depoimento-card .funcao {
        font-size: 14px;
    } */
}

/* CURSOS INSTITUIÇÕES */

.melhores-oportunidades-container {
	font-family: 'Dosis', sans-serif;
	position: relative;
	padding: 40px 20px;
	max-width: 1200px;
	margin: 0 auto;
	text-align: start;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.topo-melhores-oportunidades {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.titulo-melhores {
	font-weight: 700;
	color: #2a2a2a;
	font-size: 1.8rem;
	flex: 1 1 auto;
	text-align: left;
}

.botao-oportunidades {
	flex-shrink: 0;
}

.btn-oportunidades {
    background-color: #30ADE7;
    color: white;
    border: none;
    padding: 10px 14px;
    border-radius: 14px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: 1px #000;
}

.btn-oportunidades:hover {
	background-color: #2499c6;
}

.lista-cards {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
	margin-bottom: 50px;
}

.card-curso {
	background: white;
	border-radius: 16px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
	text-align: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
}

.card-curso:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-4px);
}

.card-curso .card-logo img {
	width: 100%;
	object-fit: cover;
	border-radius: 16px 16px 0 0;
}

.final-card, .final-card-oportunidades {
	margin-top: auto;
	text-align: left;
	padding: 10px 16px;
}

.final-card p, .final-card-oportunidades p {
	font-size: 1rem;
	font-weight: bold;
	color: #2F2F2F;
}

.card-curso .card-preco {
	font-size: 0.95rem;
	color: #555;
	border-top: 1px solid #eee;
	padding-top: 12px;
}

.card-curso .card-preco span {
	color: #30ADE7;
	font-weight: bold;
}

.valor_slide, .valor_slide-oportunidades {
	font-family: 'REM', sans-serif;
	color: #30ADE7;
	font-weight: 900;
	font-size: 16px;
	padding: 20px 10px 8px;
	text-align: left;
}

.desc_slide, .desc_slide-oportunidades {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-align: left;
}

.desc_slide {
	align-items: center;
	text-align: center;
}

.desc_slide div {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
}

.desc_slide span {
	font-weight: bold;
	font-size: 16px;
}

/* Tablets: 3 por linha */
@media (max-width: 992px) {
	.lista-cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Celulares: 2 por linha */
@media (max-width: 600px) {
	.lista-cards {
		grid-template-columns: repeat(2, 1fr);
	}

	.topo-melhores-oportunidades {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.titulo-melhores {
		text-align: center;
	}

	.botao-oportunidades {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.btn-oportunidades {
		width: auto;
	}
}

/* Ultra Pequenos (menos de 400px) */
@media (max-width: 400px) {
	.lista-cards {
		grid-template-columns: 1fr;
	}
}


/* SUPPORTS */

/* .apoios .container {
  gap: var(--lg-spacing);
}

.apoios .wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--md-spacing);
  width: 100%;

  @media screen and (min-width: 768px) {
    align-items: flex-start;
  }
}

.apoios .header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sm-spacing);

  @media screen and (min-width: 768px) {
    align-items: flex-start;
    gap: var(--md-spacing);
  }
}

.apoios .logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--xl-spacing);
  align-items: center;
  justify-items: center;
  width: 100%;
}

.apoios .logos img {
  max-height: 70px;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(100%);
  transition: transform 0.3s ease, filter 0.3s ease;
}

.apoios .logos img:hover {
  transform: scale(1.05);
  filter: grayscale(0%);
}

.apoios .logos .logo-exame {
  max-height: 145px;
} */

.apoios .container {
	gap: var(--lg-spacing);
}

.apoios .wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--md-spacing);
	width: 100%;
}

.apoios .header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sm-spacing);
}

@media screen and (min-width: 768px) {
	.apoios .wrapper {
		align-items: flex-start;
	}

	.apoios .header {
		align-items: flex-start;
		gap: var(--md-spacing);
	}
}

.apoios .logos {
	overflow: hidden;
	width: 100%;
	position: relative;
	padding: 10px 0;
}

.apoios .logos .track {
	display: flex;
	align-items: center;
	gap: 50px;
	width: max-content;
	will-change: transform;
}

.apoios .logos .logo-box {
	width: 140px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.apoios .logos img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.apoios .logos img:hover {
	transform: scale(1.1);
}

.apoios .logos img.logo-exame {
	max-height: 145px;
}

@media (max-width: 600px) {
	.apoios .logos .logo-box {
		width: 110px;
		height: 55px;
	}
	.apoios .logos .track {
		gap: 40px;
	}
}



/* PROL FRIEND */

.amigo-proleduca {
	padding: 104px 20px;
}

.amigo-proleduca .container {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 48px;
	background-color: #060C66;
	border-radius: var(--sm-border-radius);
	gap: var(--lg-spacing);
	overflow: hidden;

	@media screen and (min-width: 950px) {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: 0;
	}
}

.amigo-proleduca .context {
	display: flex;
	flex-direction: column;
	gap: var(--md-spacing);
	align-items: center;
	width: 100%;

	@media screen and (min-width: 950px) {
		align-items: flex-start;
		gap: var(--lg-spacing);
		max-width: 680px;
	}
}

.amigo-proleduca .context h2,
.amigo-proleduca .context p {
	color: var(--white);
}

.amigo-proleduca .context p {
	max-width: 530px;
}

.amigo-proleduca .context .wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--md-spacing);
	align-items: center;
	text-align: center;

	@media screen and (min-width: 950px) {
		align-items: flex-start;
		text-align: left;
	}
}

.amigo-proleduca .context button {
	width: 100%;

	@media screen and (min-width: 950px) {
		width: auto;
	}
}

.amigo-imagem-wrapper {
	position: absolute;
	right: 48px;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	max-width: 420px;
	width: 35%;
}

.amigo-imagem {
	width: 100%;
	max-height: 380px;
	object-fit: contain;
	display: block;
}


@media screen and (max-width: 950px) {
	.amigo-proleduca .container {
		text-align: center;
		align-items: center;
		padding: 48px 24px 0;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		min-height: 600px;
	}

	.amigo-imagem-wrapper {
		position: relative;
		right: auto;
		bottom: 0;
		width: 100%;
		max-width: none;
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}

	.amigo-imagem {
		width: 70%;
		max-width: 500px;
		height: auto;
		object-fit: contain;
	}
}


/* STYLE FOOTER */

.footer-custom {
  background-color: #07075B;
  color: #FFFFFF;
  padding: 60px 20px 40px;
  font-size: 14px;
  background-image: url('../img/new-background-footer.png');
  background-repeat: repeat;
  background-size: contain;
}
/* 
@font-face {
  font-family: 'REM';
  src: url('../fonts/REM/REM-VariableFont_wght.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
} */

.footer-custom a {
  position: relative;
  font-family: 'REM', sans-serif;
  color: #B3B3D3;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-custom a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #B3B3D3;
  transition: width 0.3s ease;
}

.footer-custom a:hover::after {
  width: 100%;
}


.footer-container {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px;
  justify-content: space-between;
  align-items: flex-start;
}

.footer-logo-block {
    flex: 0 0 288px;
    text-align: center;
    align-self: center;
}
.footer-logo-img {
    max-width: 288px;
}
.footer-slogan {
    font-family: 'Dosis', sans-serif;
    color: #FFFFFF;
    font-size: 16px;
    margin-top: 10px;
}

.footer-columns-group {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    justify-content: space-between;
    gap: 40px;
}

.footer-column {
  min-width: 160px;
}

/* @font-face {
  font-family: 'Dosis';
  src: url('../fonts/Dosis/Dosis-VariableFont_wght.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
} */

.footer-column h4 {
  font-family: 'Dosis', sans-serif;
  color: #FFFFFF;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 24px;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-column ul li {
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .footer-logo-block {
    text-align: center;
    flex: none;
  }

  .footer-logo-block img {
    width: 172px;
  }

  .footer-columns-group {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .footer-column {
    min-width: unset;
  }

  .footer-column h4 {
    font-size: 20px;
  }

  .footer-custom a {
    font-size: 14px;
  }
}


/* STYLE HEADER  */

.pe-header {
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.06);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.header-idiomas {
    margin: 10px 20px 0px 20px;
}

.pe-header-content {
    max-width: 1240px;
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pe-logo-link {
    display: flex;
    align-items: center;
}
.pe-logo-img {
    height: 40px;
    width: auto;
}

.pe-nav-menu {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

.pe-nav-item {
    font-family: 'REM', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    color: #2F2F2F;
    transition: color 0.2s;
}
.pe-nav-item:hover {
    color: #007bbf;
}

.pe-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.pe-flag {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 4px;
    cursor: pointer;
}

.pe-flag-img {
    width: 45px;
    height: auto;
    border-radius: 2px;
}

.pe-flag:hover .pe-flag-img {
    border-color: #009fe3;
}

.pe-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 16px;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.pe-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.pe-hamburger span {
    width: 24px;
    height: 3px;
    background-color: #1c1c3b;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.pe-mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    /* background-color: #FFFFFF; */
    background-image: url('../img/responsive-menu-background.png');
    background-repeat: repeat;
    background-size: contain;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;

    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;
    transition: all 0.35s ease;
}

.pe-mobile-menu.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.pe-mobile-menu-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.pe-mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pe-mobile-item {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
}

.pe-mobile-item:hover {
    color: #007ac2;
}

.pe-mobile-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pe-close-menu {
    margin-top: 24px;
    background-color: #FFEAEA;
    border: none;
    border-radius: 20px;
    font-weight: 600;
    width: 64px;
    height: 64px;
    align-self: center;
    transition: background 0.2s ease;
}

.pe-close-menu:hover {
    background-color: #F150501A;
}

.pe-close-menu i {
    font-size: 28px;
    color: #F15050;
}


@media (max-width: 950px) {
  .pe-nav-menu,
  .pe-header-actions {
    display: none;
  }

  .pe-hamburger {
    display: flex;
  }

  .pe-header-content {
    justify-content: space-between;
  }
}

