html {
	scroll-behavior: smooth;
}
div {
	box-sizing:border-box;
}
body{
    font-size: 16px;
    color: #191919;
    background-color: #fafafa;
    font-style: normal;
    position: relative;
    font-weight: 400;
    padding: 0;
    margin: 0;
    font-family: 'Arimo', sans-serif;
	overflow-x: hidden;
}
.container{
    width: 1100px;
    padding: 0;
    border: 0;
    margin: 0 auto;
    position: relative; 
}
.inner-container{
    width: 830px;
    padding: 0;
    border: 0;
    margin: 0 auto;
    position: relative; 
}


h1, h2, h3, h4, h5, h6{
	font-family: 'Arimo', sans-serif;
	font-weight: 700;
}
.fonte2 {
	font-family: "Playfair Display", serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.fonte3 {
	font-family: 'Cormorant Garamond', serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.fonte4 {
	font-family: 'Stoke', serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
strong{
    font-weight: 700;
}

.img-responsive{
  width: 100%;
}
.clearfix{
  clear: both;
}
p{
    line-height: 26px;
}
p.empty{
    line-height: 16px !important;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
a,a:active,a:visited,a:focus{
    text-decoration: none;
    color: #1243cd;
	cursor: pointer;
}
a:hover{
    text-decoration: underline;
    color: #1243cd;
}
button {
	font-family: 'Arimo', sans-serif;
	border: none;
	cursor: pointer;
}


.main-btn{
    display: inline-block;
    border: 2px solid #e20045;
    background: #e20045;
    color: #191919 !important;
    text-align: center;
    position: relative;
    font-size: 42px;
    padding: 32px 56px 20px;
    border-radius: 20px;
    text-decoration: none;
    font-weight: 700;
	position: relative;
	line-height: 37px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    margin-bottom: 15px;
    -webkit-box-shadow: 0 7px 0 #e20045;
    -moz-box-shadow: 0 7px 0 #e20045;
    box-shadow: 0 7px 0 #e20045;

}
.main-btn span{
	display: block;
	font-size: 22px;
	line-height: 34px;
	font-weight: 400;
	margin-top: 12px;
}
.main-btn:hover{
    background: #ff004e;
    border-color: #e20045;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    -webkit-box-shadow: 0 7px 0 #e20045;
    -moz-box-shadow: 0 7px 0 #e20045;
    box-shadow: 0 7px 0 #e20045;
    text-decoration: none;
}
.main-btn img{
	position: absolute;
	bottom: -65px;
	right: -25px;
}

ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
ul li{
	position: relative;
	padding-left: 35px;
	margin-bottom: 30px;
	line-height: 24px;
}
ul li:before{
	position: absolute;
	top: 5px;
	left: 0;
	content: '';
	width: 26px;
	height: 22px;
	background: url(../images/check.png) center center no-repeat;
}
ol {
   list-style: none;
   margin: 0;
   left: 0;
}
ol li {
   counter-increment: item;
   margin-bottom: 35px;
   position: relative;
   padding-left: 72px;
   font-size: 18px;
}
ol li:before {
   position: absolute;
   content: counter(item);
   background: #2dc1ca;
   border-radius: 100%;
   color: #191919;
   width: 52px;
   height: 52px;
   text-align: center;
   display: inline-block;
   top: 0;
   left: 0;
   line-height: 52px;
   font-size: 32px;
   font-weight: 700;
}

.all-caps{
	text-transform: uppercase;
}

.align-left{
	float: left;
	margin: 0 15px 15px 0;
}
.align-right{
	float: left;
	margin: 0 0 15px 15px;
}


/* --------------------------- HEADER ---------------------------- */
/*header{
	padding: 20px 0 0;
	float: left;
	width: 100%;
}
header img{
	display: inline-block;
}
header strong{
	font-size: 26px;
	font-weight: 400;
	display: block;
	margin: 20px 0 0;
	padding: 0 90px;
	font-family: 'Arimo', sans-serif;
	line-height: 36px;
}
header h1{
	font-size: 41px;
	margin: 45px 0 20px;
}*/
/* --------------------------- NAVIGATION ---------------------------- */
/*nav{
	background: #db4596;
	width: 100%;
}
nav ul li:before{
	display: none;
}
nav ul li{
	padding: 0;
	display: inline-block;
	color: #f9a0d0;
	margin: 0 3px;
	font-size: 16px;
	line-height: 26px;
	padding: 18px 0;
	font-family: 'Arimo', sans-serif;
}
nav ul li.active{
	position: relative;
	color: #191919;
}
nav ul li.active span{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 17.5px 12px 17.5px;
	border-color: transparent transparent #191919 transparent;
	position: absolute;
	bottom: 0;
	left: calc(50% - 17.5px);
}*/





/* --------------------------- FOOTER ---------------------------- */
footer{
	float: left;
	width: 100%;
	background: #1f1f1f;
	padding: 45px 0;
}
footer a, footer a:active, footer a:visited, footer a:focus{
	color: #191919;
	text-decoration: none;
}
footer a:hover{
	color: #191919;
	text-decoration: underline;
}
footer.gap-footer{
	margin-top: 145px;
	padding-top: 25px;
}
footer .footer-container{
	width: 1100px;
	margin: 0 auto;
	color: #191919;
}
footer .copy-container{
	font-size: 16px;
	margin-bottom: 15px;
}
footer .copy-container i{
	height: 29px;
	width: 29px;
	background: #191919;
	border-radius: 100%;
	color: #2dc1ca;
	font-size: 18px;
	line-height: 32px;
	display: inline-block;
	margin: 0 9px 0 13px;
}
footer .footer-link{
	font-size: 14px;
	margin-bottom: 20px;
}
footer .footer-text{
	font-size: 12px;
	line-height: 18px;
}
footer .footer-text p{
	font-size: 12px;
	line-height: 18px;
}
footer.pink-footer{
	background: #db4596;
}

/* --------------------------- CUSTOM MEDIA QUERY ---------------------------- */
@media only screen and (max-width: 1100px) {
	footer .footer-container, .container{
		width: 100%;
	}
	footer .footer-container{
		padding-left: 30px;
		padding-right: 30px;
	}    
}
@media only screen and (max-width: 1023px) {
	.inner-container {
		width: 100%;
	}
}
@media only screen and (max-width: 767px) {
	nav ul li{
		font-size: 16px;
	}
	footer.gap-footer{
		padding-top: 65px;
	
	}
	header strong{
		padding: 0 15px;
		font-size: 23px;
		line-height:32px;
		margin-bottom: 20px;
	}
}
@media only screen and (max-width: 479px) {
	header h1 {
		font-size: 24px;
	}
	nav ul li{
		font-size: 10px;
	}
	img.main-logo {
    	width: 100px;
	}
	header strong {
	    line-height: 32px;
	    font-size: 24px;
	}
	footer, footer.gap-footer{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	nav ul li {
	    font-size: 15px;
    	padding: 12px 0;
	}
	nav ul li.active span{
		border-width: 0 8.5px 6px 8.5px;
		left: calc(50% - 2px);
	}
}
@media only screen and (max-width: 374px) {
	header{
		padding-bottom: 50px;
	}
	header strong{
		font-size: 22px;
		line-height: 30px;
		padding: 0;
	}
	header .inner-container div{
		padding: 0;
	}
	footer .footer-container{
		padding-left: 15px;
		padding-right: 15px;
	}
	footer .footer-link{
		font-size: 12px;
	}
}
@media only screen and (max-width: 320px) {
	header strong {
    	font-size: 26px;
	}
	nav ul li{
		font-size: 13px;
	}
}







































/* FONT WEIGHT  */
.f-normal {
	font-weight: 400;
}
.f-bold {
	font-weight: 700;
}


/* TITULOS  */
.titulo-1 {
	font-size: 65px;
}
.subtitulo-1 {
	color: #fff; 
	font-size: 25px; 
	text-transform: uppercase;
}
.titulo-2 {
	font-size: 45px;
	padding: 0px 20px;
}



/* WHATSAPP BOTAO  */
.whatsapp-icone {
	position: fixed; 
	z-index: 99; 
	bottom: 90px; 
	right: 24px;
	border-radius: 100%;
	width: 60px;
}



/* BOTAO  */
.btn {
	display: inline-block;
    color: #fafafa !important;
    text-align: center;
    position: relative;
    text-decoration: none;
    font-weight: 700;
	line-height: 37px;
	margin-bottom: 15px;
}

.btn-comprar {
	background: #fe940d;
	border-radius: 5px;
	font-size: 22px;
	padding: 15px 25px;
	line-height: 24px;
	/*box-shadow: 0px 0px 20px 0px #ff0064 !important;*/
	text-decoration: none !important;
	
}
.btn-animacao {
	box-shadow: 0 0 0 0 rgba(41, 72, 255, 0.7);
	-webkit-animation: pulsing 3s infinite ease;
  	-moz-animation: pulsing 3s infinite ease;
  	-ms-animation: pulsing 3s infinite ease;
  	animation: pulsing 3s infinite ease;
  	transition: all 300ms ease-in-out;
}
/*@-webkit-keyframes pulsing {
  to {
    box-shadow: 0 0 0 30px rgba(232, 76, 61, 0);
  }
}

@-moz-keyframes pulsing {
  to {
    box-shadow: 0 0 0 30px rgba(232, 76, 61, 0);
  }
}

@-ms-keyframes pulsing {
  to {
    box-shadow: 0 0 0 30px rgba(232, 76, 61, 0);
  }
}*/

@keyframes pulsing {
  0% {
    /*box-shadow: 0 0 0 30px rgba(232, 76, 61, 0);*/
    opacity: 1;
    background: #fe940d;
  }
  50% {
  	opacity: 1;
  	background: #29b1ff;
  }
  100% {
  	opacity: 1;
  	background: #fe940d;
  }
}





.btn-border-animation {
  /*width: 60vmin;
  height: 50vmin;
  display: grid;*/
  place-content: center;
  color: white;

/*  text-shadow: 0 1px 0 #000;*/
  --border-angle: 0turn;
  --main-bg: conic-gradient(
    from var(--border-angle),
    #fff,
    #fff 5%,
    #fff 60%,
    #fff 95%
  );
  border: solid 3px transparent;
  border-radius: 10px;
  --gradient-border: conic-gradient(
    from var(--border-angle),
    transparent 25%,
    #ffbe1f,
    #72faff 99%,
    transparent
  );
  background: var(--main-bg) padding-box, var(--gradient-border) border-box, var(--main-bg) border-box;
  background-position: center center;
  -webkit-animation: bg-spin 3s linear infinite;
          animation: bg-spin 3s linear infinite;
}
@-webkit-keyframes bg-spin {
  to {
    --border-angle: 1turn;
  }
}
@keyframes bg-spin {
  to {
    --border-angle: 1turn;
  }
}
/*.btn-border-animation:hover {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}*/

@property --border-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0turn;
}


.btn-whatsapp {
	padding: 10px; 
	border-radius: 5px; 
	background: #27ca42; 
	color: #fff; 
	width: 100%;
	font-size: 18px; 
	height: 60px;
}
.btn-instagram {
	padding: 10px; 
	border-radius: 10px; 
	color: #fff; 
	width: 100%; 
	font-size: 18px; 
	height: 60px;

	background: #833ab4;
	background: -webkit-linear-gradient(to right, #fcb045, #fd1d1d, #833ab4);  
	background: linear-gradient(to right, #fcb045, #fd1d1d, #833ab4);
}



/* SCROLL MENU  */
.scrollmenu {
  overflow: auto;
  white-space: nowrap;
  /*text-align: center;*/
  padding: 15px 0px 10px 5px;
}
.scrollmenu a {
  display: inline-block;
  color: #fafafa;
  text-align: center;
  padding: 8px 16px 6px 16px;
  line-height: 1.2;
  /*border: 1px solid #fafafa;*/
  background-color: #ececec;
  border-radius: 5px;
  text-decoration: none;
}
.scrollmenu a:hover {
  font-weight: 700;
  color: #191919;
  background-color: #ff003c;
}









/* SECAO INCLUSO ------------------------------------------------------------------------- */
.padding-section {
	padding: 25px 5px 50px 5px;
}
.padding-section-video {
	padding: 0px 0px 50px 0px;
}
.included-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0px 10px;
  padding: 20px;
}
.incluso-flex {
	display: flex; 
	justify-content: center; 
	align-items: stretch; 
	text-align: start; 
	flex-wrap: wrap;
}
.incluso-card {
	background: rgba(255, 255, 255, 0.5); 
	padding: 10px 25px;
	margin: 5px; 
	width: 100%;
  border-radius: 5px;

	flex: 0 0 calc(33.33% - 10px);

	border-radius: 16px;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.incluso-card-positivo {
	border: 0.5px solid mediumseagreen;
}
.incluso-card-negativo {
	border: 0.5px solid #b33c3c;
}
.incluso-card-img {
	border: 1px solid #eee;
  border-radius: 20px;
  margin: 10px 0px 0px 0px;
  width: 100px;
  height: 100px;

  aspect-ratio: 1 / 1;
}
.incluso-card-p {
	color: #191919; 
	font-size: 20px;
}



.inclusos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.coluna {
  flex: 1;
  min-width: 280px;
}

.lista-nao-inclusos li {
  list-style: none;
  margin-bottom: 0.8rem;
  font-size: 1rem;
  display: flex;
  align-items: flex-start;
  padding: 0px 30px;
}

.lista-inclusos li {
  list-style: none;
  margin-bottom: 0.8rem;
  font-size: 1rem;
  display: flex;
  align-items: flex-start;
  padding: 0px 30px;
}

.lista-inclusos i {
  color: #00a86b;
  margin-right: 0.5rem;
  font-size: 1.2rem;
}

.lista-nao-inclusos i {
  color: #df0000;
  margin-right: 0.5rem;
  font-size: 1.2rem;
}






.vaga-flex {
	display: flex; 
	justify-content: center; 
	align-items: stretch; 
	text-align: start; 
	flex-wrap: wrap;
}



.proximos-passos-card {
	background: rgba(255, 255, 255, 0.95);
	padding: 10px 25px;
	margin: 5px; 
	width: 100%;
	border: 1px solid #ccc; 
  border-radius: 5px;

	flex: 0 0 calc(33.33% - 10px);
}












/* HEADLINE -------------------------------------------------------------------------------------  */
.headline {
	padding: 25px 5px 25px 5px;
}
.headline-titulo {
	color: #071462; 
	font-size: 45px; 
	font-weight: 700; 
/*	line-height: 1.2; */
/*	letter-spacing: -1.5px;*/
	margin: 20px 0px 0px 5px; 
}
.headline-texto {
	color: #939393; 
	/*font-size: 20px; */
	line-height: 1.2 !important; 
	font-weight: 400; 
	margin: 0;
}




/* SECAO BOTAO CTA -------------------------------------------------------------------------------  */
.secao-botao-cta {
	padding: 30px 0px 40px 0px;
}



/* SECAO CONVERSAO -------------------------------------------------------------------------------------  */
.secao-conversao {
/*	background: #fafafa; */
	padding: 30px 5px 0px 5px;
}







/* SECAO FAQ ------------------------------------------------------------------------------------------  */
.accordion-faq {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
  cursor: pointer;
  padding: 18px;
  margin-top: 5px;
  width: 100%;
  border: none;
  border-radius: 5px;
  text-align: left;
  outline: none;
  font-size: 16px;
  transition: 0.4s;

  width: 100%;
}

.accordion-faq:after {
  content: '\002B';
  color: #fff;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

.active-faq {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.active-faq:after {
  content: "\2212";
}

.accordion-faq:hover {
  background-color: rgba(255, 255, 255, 0.3);
  color: #fff;
}

.panel {
  padding: 0 18px;
  margin-top: 5px;
  border-radius: 5px;
  display: none;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  overflow: hidden;
  text-align: left;
}







/* RODAPE --------------------------------------------------------------------------------  */
.rodape {
	background: rgb(250,250,250);
	background: linear-gradient(180deg, rgba(250,250,250,1) 0%, rgba(250,250,250,1) 100%); 
	padding: 150px 0px 0px 0px;
}
.rodape-linha {
	background: #fafafa;
	height: 5px;
}





/* MODAL ------------------------------------------------------------ */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 11;
  padding: 20px 10px 50px 10px;
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.6); /* Black w/ opacity */
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

/* Modal Content */
.modal-content {
  /*background-color: #EFF2F7;*/
  background: rgba(255, 255, 255, 0.85);
  margin: auto;
  padding: 20px;
  border: 2px solid #ccc;
  border-radius: 5px;
  width: 75%;
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  z-index: 999;
  position: relative;
}

.close:hover,
.close:focus {
  color: #111;
  text-decoration: none;
  cursor: pointer;
}






/* TAB ROTEIRO ------------------------------------------------------------ */
div.scrollmenu {
  background-color: transparent;
  overflow: auto;
  white-space: nowrap;
}

div.scrollmenu button {
  display: inline-block;
  color: white;
  text-align: center;
  padding: 14px;
  text-decoration: none;
  border-radius: 5px;
  background: #fef1e1;
  color: #d48016;
  font-size: 16px;
}

div.scrollmenu button:hover {
  color: #fe940d;
}

div.scrollmenu button span {
  font-size: 12px; 
  opacity: 0.7;
}

.tab-roteiro-conteudo {
	background: transparent;
/*	padding: 20px;*/
	margin: 0px 5px;
	border-radius: 20px;
/*	border: 1px solid #fe940d;*/
	text-align: left;
}

.tab-roteiro-conteudo-img {
	border-radius: 5px;
	width: 100%;
}


.tab-roteiro-ativa, .tab-roteiro-ativa:hover {
	background: #fe940d !important;
	color: #fff !important;
}


.tab-valor-conteudo {
	background: #fff;
	padding: 20px 100px;
	margin: 0px 5px;
	border-radius: 5px;
	border: 1px solid #fe940d;
}


.tab-valor-ativa, .tab-valor-ativa:hover {
	background: #fe940d !important;
	color: #fff !important;
}




.preco-membros {
	background: #e7dbcb;
  padding: 40px 0px 20px 0px;
  border-radius: 10px;
  margin-bottom: 40px;
/*  font-size: 1.1em;*/
}





/* FOTOS ULTIMOS GRUPOS  */
.fotos-flex {
	display: flex; 
	justify-content: center; 
	align-items: stretch; 
	text-align: start; 
	flex-wrap: wrap;
	padding: 0px 10px;

	flex-wrap: nowrap;
	justify-content: start;
	overflow: auto;
}
.fotos-card {
	margin: 1px; 
	width: 100%;

	flex: 0 0 calc(33.33% - 60px);
}
.fotos-card-img {
  border-radius: 5px;
  width: 300px;
  height: 300px;

  aspect-ratio: 1 / 1;
}
.fotos-card-p {
	color: #191919; 
	font-size: 20px;
}





/* ICONES RESUMO NA CAPA  */
.icones-resumo-flex {
	padding: 15px 20px; 
	display: flex; 
	justify-content: center;
}

.icones-resumo-flex div {
	text-align: center; 
	padding: 10px; 
	margin-right: 5px; 
	border-radius: 5px; 
	font-size: 12px;
}

.icones-resumo-flex div i {
	font-size: 25px; 
	margin-bottom: 5px; 
	display: inline-block;
}











.gradiente-topo {
	background: #833ab4;
	background: -webkit-linear-gradient(to right, #fcb045, #fd1d1d, #833ab4);  
	background: linear-gradient(to right, #fcb045, #fd1d1d, #833ab4);
}

.w3-container {
	padding: 0px 10px !important;
}

.poucas-vagas-bg {
	background-color: #fffbf1;
}
.poucas-vagas-content {
	padding: 10px 0px; 
	text-align: center; 
	font-size: 16px; 
	font-weight: bold;
}



.parallax {
/*  background-image: url('https://theworldtravelguy.com/wp-content/uploads/2022/10/DSCF0524_1200.jpg');*/

  /*background-image:
    linear-gradient(45deg,
    rgba(0, 0, 0, 0.15),
    rgba(0, 0, 0, 0.15)), 
    url('https://theworldtravelguy.com/wp-content/uploads/2022/10/DSCF0524_1200.jpg');*/

  /* Full height */
/*  height: 100%; */

  /* Create the parallax scrolling effect */
/*  background-attachment: fixed;*/
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}


.hide-desktop {
	display: none !important;
}
.hide-mobile {
	display: block !important;
}









/* CAPA ----------------------------------------------------------------- */
.hero {
  position: relative;
  height: 80vh;
  overflow: hidden;
}

.hero picture img.background-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 20%, rgba(0,0,0,0.75) 70%, rgba(0,0,0,0.85) 100%);
  z-index: 2;
}

.hero-content {
  position: absolute;
  bottom: 4rem;
/*  left: 4rem;*/
  color: white;
  z-index: 3;
  max-width: 60%;

  width: 100%;
  transform: translateX(-50%);
  left: 50%;
  text-align: center;
}

.text-content {
  max-width: 800px;
}

.trip-date {
  font-size: 1rem;
/*  color: #ccc;*/
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.trip-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 10px;
  font-family: 'Stoke', serif;
  text-transform: uppercase;
/*  line-height: 1.1;*/
  color: #ffd200;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

.trip-title-base {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 10px;
  font-family: 'Stoke', serif;
  text-transform: uppercase;
/*  line-height: 1.1;*/
  color: #ffe46b;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}

.trip-subtitle {
  font-size: 1.5rem;
/*  margin-bottom: 20px;*/
  margin: -5px 0px 25px 0px;
  color: #f0f0f0;
  font-family: 'Arimo', sans-serif;
  text-transform: uppercase;
  font-weight: 400;
  color: #fffae2;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}

.trip-subtitle-highlight {
	font-size: 1.2rem;
  margin: -12px 0px 25px 0px;
  color: #f0f0f0;
  font-family: 'Stoke', serif;
  font-weight: 400;
  color: #322f23;
}
.trip-subtitle-highlight span {
  background: #fffae2;
  padding: 0px 5px;
  border-radius: 1px;
}

.trip-description {
  font-size: 1.1rem;
  line-height: 1.6;
/*  color: #e0e0e0;*/
  color: #ccc;
}

.cta-button, .cta-button:visited {
  display: inline-block;
  margin-top: 2rem;
  padding: 1rem 1.5rem;
  font-family: 'Arimo', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  background-color: white;
  border-radius: 5px;
  text-decoration: none !important;
  transition: all 0.3s ease;
  text-transform: uppercase;
}










/* ALERTA POUCAS VAGAS  */
.alert-box {
  font-family: 'Arimo', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: white;
/*  background-color: rgba(223, 0, 0, 0.1);*/
/*  border: 1px solid #df0000;*/
  border-radius: 8px;
/*  padding: 0.75rem 1rem;*/
  margin-top: 1rem;
  display: inline-block;
/*  backdrop-filter: blur(4px);*/
}

.alert-box i {
  color: #ff8282;
  margin-right: 0.5rem;
}

.alert-box .highlight {
  color: #ff8282;
  font-weight: bold;
}
.alert-box .highlight2 {
  color: #ff4b4b;
  font-weight: bold;
}






/* VEJA ABAIXO INFORMACOES DA VIAGEM */
.scroll-indicator {
  text-align: center;
  padding: 1.5rem 2rem;
  background-color: #fff6e9;
  color: #333;
  font-family: 'Arimo', sans-serif;
}

.scroll-text {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.scroll-note {
  font-size: 0.95rem;
  color: #555;
}

.arrow-down {
  font-size: 2rem;
  color: #000;
  margin-top: 1rem;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);  
  }
  40% {
    transform: translateY(10px);
  }
  60% {
    transform: translateY(5px);
  }
}





/* NAVBAR SURREAL */
.navbar-surreal {
	background: transparent;
  position: fixed;
  top: 0;
  width: 100%;
  display: block;
  transition: top 0.1s;
  z-index: 10 !important;
}

.navbar-surreal .navbar-surreal-flex {
	background: transparent;
  display: flex; 
  flex-wrap: nowrap; 
  justify-content: space-between; 
  align-items: center; 
  text-align: center; 
  padding: 10px 20px;
}

.navbar-surreal-logo {
	width: 75px;
}

.navbar-surreal-menu-items {
	display: flex; 
	align-items: center; 
	flex-wrap: nowrap; 
	justify-content: end;
}

.navbar-surreal-menu-items a {
	font-size: 12px; 
	color: white; 
	padding-left: 20px;
}





/* TIMELINE ROTEIRO/ITINERARY  */
.itinerary-section {
	background: #564C38;
	background: linear-gradient(180deg, rgba(86, 76, 56, 1) 0%, rgba(56, 84, 57, 1) 33%, rgba(46, 65, 94, 1) 68%, rgba(86, 76, 56, 1) 100%);

	padding: 25px 0px 50px 0px !important;
}
.itinerary-section-title, .itinerary-section-subtitle {
	color: #fff;
}

.itinerary-timeline {
  position: relative;
  margin: 0 auto;
  padding: 20px 10px;
  max-width: 800px;
  text-align: left;

  /* scroll horizontal */
  display: flex;
  gap: 10px; /* espaço entre os cards */
  overflow-x: auto; /* habilita rolagem lateral */
/*  scroll-snap-type: x mandatory;*/
  -webkit-overflow-scrolling: touch; /* scroll suave no mobile */
}

.itinerary-timeline::before {
  /*content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;

  left: 50%;
  transform: translateX(-50%);
  border-left: 2px dashed #ccc;*/
}

.itinerary-day {
  position: relative;
/*  margin: 0 auto 60px auto;*/
  background: #fff;
  border-radius: 8px;
	/*box-shadow: 0 4px 8px rgba(0,0,0,0.05);*/
  width: 90%;
  border: 0.6px solid #fe940d;

  box-shadow: 0 0 0 transparent;
  transition: box-shadow 0.3s ease;



	/* scroll horizontal */
  flex: 0 0 80%; /* cada card ocupa 80% da tela */
  scroll-snap-align: start;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.itinerary-day.itinerary-glow-card {
  box-shadow: 0 0 75px 5px rgb(255 235 212);
}

.itinerary-day::before { 
  /*content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 16px;
  background: #fd940a;
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 0 0 2px #fef1e1;*/
}

.itinerary-day img {
  width: 100%;
  border-radius: 8px 8px 0px 0px;

  aspect-ratio: 16 / 9;
}

.itinerary-text-content {
	padding: 15px 20px;
}

.itinerary-date {
  font-weight: bold;
  font-size: 14px;
  color: #a2a2a2;
  margin-bottom: 4px;
  margin-top: 0;
  text-transform: uppercase;
}

.itinerary-day h2 {
  margin-top: 0;
  margin-bottom: 0;
  color: #333;
}

/*.itinerary-description {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  transition: all 0.3s ease;
  color: #555;
  margin-bottom: 10px;
}

.itinerary-description.expanded {
  -webkit-line-clamp: unset;
}*/

.itinerary-description {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* Mostra só 3 linhas */
  transition: all 0.3s ease;
}

.itinerary-description.expanded {
  -webkit-line-clamp: unset;
  display: block;
}

.itinerary-read-more {
  background: none;
  border: none;
  color: #a0a0a0;
  cursor: pointer;
  font-size: 0.9em;
  padding: 0;
  margin-top: 10px;
  margin-bottom: 10px;
  display: inline-block;
}

.itinerary-info {
  font-size: 0.9em;
  color: #666;
  margin-top: 10px;
  border-top: 1px solid #eee;
  padding-top: 10px;
/*  text-transform: uppercase;*/
  font-size: 12px;
}

.itinerary-info p {
  line-height: 18px !important;
}

.itinerary-info strong {
  font-weight: bold;
}












/* REVIEWS  */
.reviews-section {
	background: #564C38;
	background: linear-gradient(180deg, rgb(56 67 86) 0%, rgb(84 56 77) 33%, rgb(94 71 46) 68%, rgb(83 56 86) 100%);

	padding: 25px 0px 50px 0px !important;
}
.reviews-section-title, .reviews-section-subtitle {
	color: #fff;
}

.reviews-timeline {
  position: relative;
  margin: 0 auto;
  padding: 20px 20px;
  max-width: 800px;
  text-align: left;

  /* scroll horizontal */
  display: flex;
  align-items: flex-start;
  gap: 10px; /* espaço entre os cards */
  overflow-x: auto; /* habilita rolagem lateral */
/*  scroll-snap-type: x mandatory;*/
  -webkit-overflow-scrolling: touch; /* scroll suave no mobile */
}

.reviews-timeline::before {
  /*content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;

  left: 50%;
  transform: translateX(-50%);
  border-left: 2px dashed #ccc;*/
}

.reviews-comment {
  position: relative;
/*  margin: 0 auto 60px auto;*/
  background: #fff;
  border-radius: 12px;
	/*box-shadow: 0 4px 8px rgba(0,0,0,0.05);*/
  width: 90%;
  border: 0.6px solid #d8d8d8;

  box-shadow: 0 0 0 transparent;
  transition: box-shadow 0.3s ease;



	/* scroll horizontal */
  flex: 0 0 80%; /* cada card ocupa 80% da tela */
  scroll-snap-align: start;
/*  box-shadow: 0 4px 10px rgba(0,0,0,0.1);*/
}

.reviews-comment.reviews-glow-card {
  box-shadow: 0 0 75px 5px rgb(255 235 212);
}

.reviews-comment::before { 
  /*content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 16px;
  background: #fd940a;
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 0 0 2px #fef1e1;*/
}

.review-screenshot {
  width: 100%;
  border-radius: 8px 8px 0px 0px;

/*  aspect-ratio: 16 / 9;*/
}

.reviews-ig-logo {
	width: 30px;
	margin-right: 10px;
}

.reviews-text-content {
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: flex-start;
	padding: 20px;
}

.reviews-ig {
/*  font-weight: bold;*/
  font-size: 14px;
  color: #333;
  margin-bottom: 0px;
  margin-top: 0;
  line-height: 1.2;
/*  text-transform: uppercase;*/
}

.reviews-comment h2 {
  margin-top: 0;
  margin-bottom: 0;
  color: #333;
}

/*.reviews-description {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  transition: all 0.3s ease;
  color: #555;
  margin-bottom: 10px;
}

.reviews-description.expanded {
  -webkit-line-clamp: unset;
}*/

.reviews-description {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* Mostra só 3 linhas */
  transition: all 0.3s ease;
}

.reviews-description.expanded {
  -webkit-line-clamp: unset;
  display: block;
}

.reviews-read-more {
  background: none;
  border: none;
  color: #a0a0a0;
  cursor: pointer;
  font-size: 0.9em;
  padding: 0;
  margin-top: 10px;
  margin-bottom: 10px;
  display: inline-block;
}

.reviews-info {
  font-size: 0.9em;
  color: #666;
  margin-top: 10px;
  border-top: 1px solid #eee;
  padding-top: 10px;
/*  text-transform: uppercase;*/
  font-size: 12px;
}

.reviews-info p {
  line-height: 18px !important;
}

.reviews-info strong {
  font-weight: bold;
}





.flex-cards-perfil-viajantes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0px 10px;
  padding: 20px;
}
.card-perfil-viajantes {
	border: 0.5px solid #ccc;
	border-radius: 10px;
	padding: 15px 25px;
	margin: 10px 0px;
}











/* PACKAGE */
.package-section {
	background: #2b2b2b;
/*	background: linear-gradient(180deg, rgba(86, 76, 56, 1) 0%, rgba(56, 84, 57, 1) 33%, rgba(46, 65, 94, 1) 68%, rgba(86, 76, 56, 1) 100%);*/

	padding: 25px 0px 50px 0px !important;
}
.package-section-title, .package-section-subtitle {
	color: #fff;
}

.package-timeline {
  position: relative;
  margin: 0 auto;
  padding: 20px 10px;
  max-width: 800px;
  text-align: left;

  /* scroll horizontal */
  display: flex;
  gap: 10px; /* espaço entre os cards */
  overflow-x: auto; /* habilita rolagem lateral */
/*  scroll-snap-type: x mandatory;*/
  -webkit-overflow-scrolling: touch; /* scroll suave no mobile */
}

.package-day {
  position: relative;
  background: #fff;
  border-radius: 8px;
  width: 90%;
/*  border: 0.6px solid #fe940d;*/
	border: 5px solid #fff;
  box-shadow: 0 0 0 transparent;
  transition: box-shadow 0.3s ease;

	/* scroll horizontal */
  flex: 0 0 80%; /* cada card ocupa 80% da tela */
  scroll-snap-align: start;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  padding: 15px;
  cursor: pointer;
}
.package-day-active {
	/*background: #fcf5e8;
	border: 5px solid #ffa32c;
	border-radius: 10px;*/

	position: relative;
  border-radius: 10px;
  padding: 15px;
  background: linear-gradient(white, white) padding-box, 
              linear-gradient(90deg, #ff8c00, #ffb84d, #ff6600, #ff8c00) border-box;
  border: 5px solid transparent; /* transparente, a borda vem do gradiente */
}

.package-day img {
  width: 100%;
  border-radius: 8px 8px 0px 0px;

  aspect-ratio: 16 / 9;
}

.package-text-content {
	padding: 15px 20px;
}

.package-date {
  font-weight: bold;
  font-size: 14px;
  color: #a2a2a2;
  margin-bottom: 4px;
  margin-top: 0;
  text-transform: uppercase;
}

.package-day h2 {
  margin-top: 0;
  margin-bottom: 0;
  color: #333;
}

.package-division-line {
	border-top: 1px solid #eee;
  margin: 30px 0px;
}

.package-price {
	text-align: left;
}
.package-price .a-partir {
	font-size: 1rem;
}
.package-price .preco {
	font-size: 1.3rem;
	margin: 0px;
	padding: 10px 0px 0px 0px;
	font-weight: bold;
	color: green;
}
.package-price .por-pessoa {
	font-size: 1rem;
	margin-top: -10px;
}

.package-button {
	background: #232121;
	color: #fff;
	text-transform: uppercase;
	border-radius: 5px;
	width: 100%;
	padding: 20px; 
	font-size: 1.2rem;
}







.img-hoteis {
	width: 100%;
	height: auto;
	padding: 0px 20px;
}

.img-hoteis img {
	width: 100%;
	border-radius: 5px;
}




/* APARECE ENQUANTO CARREGA AS IMAGENS - LOADING IMAGES */
.image-loading {
	/*width: 300px;*/
  /*aspect-ratio: 1 / 1;*/
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #e0e0e0; /* fallback caso skeleton não carregue */
}

.skeleton {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  z-index: 1;
}

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.image-loading img {
  /*width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;*/
  position: relative;
  z-index: 2;
}








/* MEDIA QUERIES MOBILE  */
@media only screen and (max-width: 500px) {
	.titulo-1 {
		font-size: 45px;
	}
	.titulo-2 {
		font-size: 2.2rem;
	}
	p {
		line-height: 22px !important;
	}


	.whatsapp-icone {
		width: 54px;
		bottom: 14px; 
		right: 75px;
	}




	.scrollmenu {
	  text-align: center;
	  padding: 15px 5px 10px 5px;
	}


	.headline {
		padding: 10px 5px 10px 5px;
	}
	.headline-titulo {
		font-size: 25px; 
		margin: 5px 0px 0px 5px; 
	}



	.secao-botao-cta {
		padding: 20px 0px 25px 0px;
	}



	.secao-conversao {
/*		padding: 0px;*/
	}



	
	.tabcontent {
		margin: 0px;
		padding: 10px 20px 20px 20px;
	}
	.tabcontent-flex {
		flex-wrap: wrap;
	}
	.tabcontent-flex-texto {
		width: 100%;
		padding-right: 0px;
	}
	.tabcontent-flex-img {
		width: 100%;
	}

	.modal-content {
	  width: 100%;
	}

	.incluso-flex {
		flex-wrap: nowrap;
		justify-content: start;
		overflow: auto;
	}

	.fotos-flex {
		flex-wrap: nowrap;
		justify-content: start;
		overflow: auto;
	}

	.vaga-flex {
		flex-wrap: wrap;
	}

	.incluso-card {
		background: rgba(255, 255, 255, 0.5); 
		padding: 5px 15px; 
		border-radius: 5px; 
		margin: 5px; 
		width: 100%;
		border-radius: 5px;
		margin-bottom: 0px;

		/*flex: 0 0 calc(50% - 10px);*/
		flex: 0 0 calc(40%);

		display: inline-block;
	}

	.fotos-card {
		padding-left: 5px; 
		border-radius: 5px; 
		width: 100%;

		/*flex: 0 0 calc(50% - 10px);*/
		flex: 0 0 calc(70%);

		display: inline-block;
	}

	.vaga-card {
		background: rgba(255, 255, 255, 0.5); 
		padding: 10px 25px; 
		border-radius: 5px; 
		margin: 5px; 
		width: 100%;
		border-radius: 20px;

		flex: 0 0 calc(90% - 10px);
	}

	.proximos-passos-card {
		flex: 0 0 calc(90% - 10px);
		border-radius: 5px;
	}

	.conteudo-card {
		background: #fff; 
		padding: 0px; 
		border-radius: 5px; 
		margin: 5px 0px 20px 0px; 
		width: 100%;

		flex: 0 0 calc(90% - 10px);
	}


	.conteudo-card-texto {
		padding: 0px 20px;
	}

	.hide-desktop {
		display: block !important;
	}
	.hide-mobile {
		display: none !important;
	}

	.tab-valor-conteudo {
		padding: 20px;
	}







	/* CAPA	*/
	.hero {
	  height: 70vh;
	}
	.hero-content {
    bottom: 2rem;
/*    left: 1.5rem;*/
    max-width: 80%;
  }

  .trip-title {
    font-size: 2.5rem;
  }

  .trip-title-base {
    font-size: 1rem;
  }

  .trip-subtitle {
    font-size: 1.3rem;
  }
  .trip-subtitle-highlight {
  	font-size: 1rem;
  }

  .trip-description {
    font-size: 1rem;
  }

  .overlay {
    padding: 40px 20px;
  }







  .included-container {
	  display: grid;
	  grid-template-columns: repeat(2, 1fr);
	  gap: 5px 10px;
	  padding: 20px;
	}



	.inclusos-grid {
    flex-direction: column;
  }





	/* NAVBAR SURREAL */ 
	.navbar-surreal .navbar-surreal-flex {
	  justify-content: start; 
	  padding: 5px 0px 0px 0px;
	}

	.navbar-surreal-logo {
		padding: 0px 10px;
	}

	.navbar-surreal-menu-items {
		display: inline-block;
		overflow: auto;
	  white-space: nowrap;
	  padding: 10px;
	  margin-bottom: 4px;
	}

	.navbar-surreal-menu-items a {
		display: inline-block;
	  text-align: center;
	  padding: 5px 10px;
	  line-height: 1.2;
	  border: 0.5px solid rgba(255, 255, 255, 0.5);
	  border-radius: 5px;
	  text-decoration: none;
	}







	/* TIMELINE ROTEIRO/ITINERARY	*/
	.itinerary-timeline::before {
/*    left: 20px;*/
    left: 50%;
  }
  .itinerary-day {
/*    margin-left: 50px;*/
    width: 100%;
/*    padding: 16px;*/
  }
  .itinerary-day::before {
/*    left: -28px;*/
    left: 50%;
    transform: translateX(-50%);
  }






  /* PACKAGES	*/
	.pacakge-timeline::before {
    left: 50%;
  }
  .pacakge-day {
    width: 100%;
  }
  .pacakge-day::before {
    left: 50%;
    transform: translateX(-50%);
  }






  .reviews-ig {
	  line-height: 1.2;
	}




	.flex-cards-perfil-viajantes {
	  grid-template-columns: repeat(1, 1fr);
	}


}






