/*
Theme Name: Project Zion Theme.
Author: Hans Ccarita
Description: El tema, peronalizado y enfocado a los servicios que presta la Empresa con un diseño claro. La tipografía es sencilla, clara y legible en una gran variedad de tamaños de pantalla, además de disponible en multitud de idiomas. Lo hemos diseñado pensando primero en su uso móvil, lo que implica que tu contenido ocupará el centro de la escena independientemente de cómo lleguen tus visitantes, ya sea desde un móvil inteligente, una tableta, un portátil o un ordenador de escritorio.
Author URI: https://github.com/hanszio
version: 1.0
License: GNU General Public License v3 or later  
License URI: http://www.gnu.org/licenses/gpl-3.0.html  
Text Domain: projectzion
Tags: wordpress theme, hans designer, web developer
*/

/* GENERALES */
:root {
	--background: #f6f6e9;
	--white: #fff;
	--gray-1: #ebebeb;
	--gray-2: #d6d6d7;
	--gray-3: #c2c2c3;
	--gray-4: #aeaeaf;
	--gray-5: #999a9b;
	--gray-6: #858587;
	--gray-7: #707173;
	--gray-8: #5c5d5f;
	--gray-9: #48494b;
	--gray-10: #333437;
	--black: #000;
	--dark: #151818;
	--red: #ff0047;
	--red-dark: #cc0542;
	--yellow: #f8af50;
	--yellow-dark: #f59a2f;
	--orange: #ff8243;
	--orange-dark: #fd5f00;
	--green: #abcb50;
	--green-dark: #8ab72b;
	--blue: #005792;
	--blue-dark: #13334c;
	--blue-rgb: 0, 87, 146;
	--blue-dark-rgb: 19, 51, 76;
	--font-primary: "Work Sans", -apple-system, Helvetica, Arial, sans-serif;
	--font-secondary: "Gowun Batang", serif;
}

*,
*::after,
*::before {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
	background: var(--background);
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-primary);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main {
	position: relative;
}

section {
	width: 90%;
	max-width: 140rem;
	margin: 0 auto;
	position: relative;
}

section p {
	margin-bottom: 2rem;
	box-sizing: border-box;
}

section p:last-child {
	margin: 0;
}

h1,
h2,
h3,
h4 {
	font-family: var(--font-secondary);
	font-style: normal;
	font-weight: 600;
	font-size: 3.2rem;
	line-height: 4rem;
	color: var(--dark);
}

h2 {
	font-weight: 500;
	font-size: 2.8rem;
}

h3 {
	font-weight: 400;
	font-size: 2.4rem;
}

h4 {
	font-weight: 300;
	font-size: 1.8rem;
}

p,
li,
a {
	font-family: var(--font-primary);
	font-style: normal;
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 2.6rem;
	text-align: center;
	color: var(--dark);
}

a {
	text-decoration: none;
}

ul {
	margin-bottom: 2rem;
}

li {
	text-align: left;
	list-style: disc outside;
	margin-left: 1em;
}

p:empty {
	display: none;
}

hr {
	width: 100%;
	margin: 3rem 0;
	color: var(--black);
}

/* FIN-GENERALES */
/* ESTILOS ESPECIALES */
.btn-general {
	display: inline-block;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: initial;
	text-align: center;
	text-transform: uppercase;
	color: var(--blue);
	padding: 1rem 2rem;
	border: 2px solid var(--blue);
	border-radius: 0.5rem;
}

.btn-golden {
	color: var(--orange);
	border-color: var(--orange);
}

/* FIN-ESPECIALES */
/* HEADER */
.header__frontpage {
	position: relative;
}

.header__nav {
	width: 100%;
	position: fixed;
	z-index: 2;
	background: linear-gradient(180deg, #1f2023b8 0%, rgb(0 0 0 / 0%) 100%);
}

.header__nav:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 110%;
	background: linear-gradient(180deg, #1f2023b8 0%, rgb(0 0 0 / 0%) 100%);
	backdrop-filter: blur(2.5px);
	z-index: -1;
}

.header__content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: unset;
	padding: 1rem 1.5rem 0;
	background: linear-gradient(
		0deg,
		rgba(var(--blue-rgb), 0.8) 0%,
		rgba(var(--blue-dark-rgb), 0.8) 100%
	);
	border-radius: 1rem;
	margin-top: 1.5rem;
}

.header__logo img {
	width: 12rem;
	height: auto;
}

.header__widgets .wp-block-polylang-language-switcher li {
	list-style: none;
	margin: 0;
}

.header__widgets .wp-block-polylang-language-switcher a {
	text-decoration: none;
	display: block;
	width: 32px;
	height: 22px;
}

.header__widgets .wp-block-polylang-language-switcher a img {
	border-radius: 6px;
	width: 32px;
	height: 22px;
	object-fit: cover;
}

.header__banner .swiper-container {
	position: relative;
}
/* BUSCADOR */
.search_widgets-item {
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.search_widgets-item .wp-block-search {
	min-width: 320px;
	width: 30vw;
}

.search_widgets-item .wp-block-search input {
	width: 100%;
	padding: 1.7rem 1.9rem 1.8rem;
	padding-left: 5.5rem;
	font: 400 1.8rem var(--font-primary);
	text-align: center;
	border-radius: 7rem;
	box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.2);
}

.search_widgets-item .wp-block-search input::placeholder {
	font: 400 1.8rem var(--font-primary);
	color: var(--gray-3);
}

.search_widgets-item .wp-block-search button {
	position: absolute;
	height: 100%;
	left: 0.5rem;
	top: 0;
	border: none;
	width: 40px;
	color: var(--gray-3);
	background-color: transparent;
	cursor: pointer;
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
	margin: 0;
}

.search_widgets-item .wp-block-search__inside-wrapper {
	border: none;
	flex-direction: row-reverse;
}

.search_widgets-item .wp-block-search__button svg {
	min-height: 3.8rem;
	min-width: 3.8rem;
}

.searchwp-live-search-result p {
	padding: 1.2rem 1rem 1rem !important;
}

.searchwp-live-search-result p:hover {
	background: var(--gray-1);
}

.searchwp-live-search-result a {
	text-decoration: none;
	font-size: 1.8rem;
	text-align: left;
}

.searchwp-live-search-results-showing {
	min-height: fit-content !important;
	transition: 0.7s;
}

.searchwp-live-search-results-showing {
	border-radius: 0.6rem;
	box-shadow: none;
}
/* FIN-BUSCADOR */
/* FIN HEADER */
/* MENU */
#menu__burger {
	display: none;
}

.header__menu input + label {
	background: var(--orange);
	border: 13px solid var(--orange);
	border-radius: 50%;
	position: fixed;
	bottom: 30px;
	right: 30px;
	height: 20px;
	width: 20px;
	z-index: 5;
	box-sizing: initial;
}

.header__menu input + label span {
	background: var(--dark);
	position: absolute;
	width: 100%;
	height: 3px;
	top: 50%;
	margin-top: -1px;
	left: 0;
	display: block;
	transition: 0.5s;
}

.header__menu input + label span:first-child {
	top: 4px;
}

.header__menu input + label span:last-child {
	top: 16px;
}

.header__menu input + label span:nth-of-type(1) {
	width: 50%;
}

.header__menu input + label span:nth-of-type(2) {
	width: 100%;
}

.header__menu input + label span:nth-of-type(3) {
	width: 75%;
}

.header__menu label:hover {
	cursor: pointer;
}

.header__menu input:checked + label span {
	opacity: 0;
	top: 50%;
	width: 100%;
}

.header__menu input:checked + label span:first-child {
	opacity: 1;
	transform: rotate(405deg);
}

.header__menu input:checked + label span:last-child {
	opacity: 1;
	transform: rotate(-405deg);
}

.header__menu input ~ nav {
	background: var(--dark);
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 0%;
	z-index: 4;
	transition: 0.5s;
	transition-delay: 0.5s;
	overflow: hidden;
	box-shadow: none;
	display: none;
}

.header__menu input ~ nav ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 3rem 0;
	box-sizing: border-box;
	align-items: center;
	margin: 0 auto;
}

.header__menu input ~ nav ul > li {
	opacity: 0;
	transition: 0.5s;
	transition-delay: 0s;
}

.header__menu input ~ nav ul > li > a {
	font-family: var(--font-primary);
	font-size: 2.2rem;
	text-decoration: none;
	text-align: center;
	color: #ffffff;
	font-weight: 400;
	display: block;
	padding: 3.3rem 3rem;
	width: 100vw;
	text-transform: uppercase;
}

.header__menu input ~ nav ul > li > a:hover,
.header__menu input ~ nav ul > li > a:active {
	background: linear-gradient(45deg, var(--orange-dark), var(--orange));
	color: var(--dark);
}

.header__menu input:checked ~ nav {
	display: inherit;
	background: var(--dark);
	height: 100vh;
	width: 100vw;
}

.header__menu input:checked ~ nav ul > li {
	opacity: 1;
	transition-delay: 0.5s;
	display: block;
	margin: 0;
}

.header__menu input:checked ~ nav ul > li.current-menu-item a {
	background: var(--orange);
}

.header__menu input:checked ~ nav ul > li:not(:last-child) {
	border-bottom: 1px solid;
	border-image: linear-gradient(
			to right,
			var(--blue),
			var(--blue-dark),
			var(--blue)
		)
		1;
}

.header__banner .stx-layers-content h2:after {
	position: absolute;
	content: "";
	width: 270px;
	height: 3px;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		89.45deg,
		#ce9728 -29.95%,
		#865b11 -6.25%,
		#e7b846 17.45%,
		#ffec7a 33.25%,
		#e7b846 56.96%,
		#ce9728 80.66%,
		#ffff73 104.36%,
		#f2b93a 128.07%
	);
	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.6);
	border-radius: 2px;
}

/* FIN-MENU */
/* MENU SECUNDARIO */
#menu-menu-header-secundario-esp,
#menu-menu-header-secondary-eng {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	display: none;
}

#menu-menu-header-secundario-esp li,
#menu-menu-header-secondary-eng li {
	list-style: none;
	margin: 0;
}

#menu-menu-header-secundario-esp li a,
#menu-menu-header-secondary-eng li a {
	color: var(--white);
	font: 300 1.4rem var(--font-primary);
	letter-spacing: 0.07rem;
	padding: 0 2rem;
}

.header__widgets {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	column-gap: 2rem;
}

#menu-menu-header-secundario-esp li + li,
#menu-menu-header-secondary-eng li + li {
	border-right: solid 1px var(--white);
}

#menu-menu-header-secundario-esp li:first-child a,
#menu-menu-header-secondary-eng li:first-child a {
	border: solid 2px var(--orange);
	border-radius: 6px;
	color: var(--orange);
	padding: 0.7rem 0.9rem;
	display: block;
	font-weight: 500;
	font-size: 1.5rem;
}

#menu-menu-header-secundario-esp li:first-child a:before,
#menu-menu-header-secondary-eng li:first-child a:before {
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 1.5rem;
	height: 1.6rem;
	background: url(assets/images/call.svg) no-repeat center center;
	margin-right: 0.5rem;
	margin-top: -0.3rem;
}
.header__banner .slider_instance .stx-main-container {
	height: 100vh !important;
}

/* FIN MENU SECUNDARIO */
/* FRONTPAGE */
.frontpage {
	background: url(assets/images/mapi_back.webp) no-repeat top center,
		var(--background);
	background-size: 100% auto;
}

.frontpage__welcome {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	padding: 7rem 0;
}

.welcome__text {
	max-width: 80.6rem;
}

.frontpage h1,
.frontpage h2,
.itinerarios__bestdestinations h2,
.pages__box h1,
.taxonomy_box h1 {
	font-weight: 400;
	font-size: 4.4rem;
	line-height: 5.5rem;
	text-align: center;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	position: relative;
}

.frontpage h2 {
	text-align: center;
}

.welcome__text p {
	text-align: center;
}

.frontpage__bestdestinations {
	padding: 2rem 0;
	text-align: center;
	margin-bottom: 5rem;
}

.bestdestinations_box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: 5rem;
}

.besttours__card {
	flex: 0 1 100%;
	position: relative;
	cursor: pointer;
	padding: 1rem;
}

.besttours__card::before {
	content: "";
	padding-top: 150%;
	display: block;
}

.card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

.card-button {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 25%;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0);
	backdrop-filter: blur(0px);
	margin: 1%;
	padding: 1.2rem 2rem;
	border-radius: 1rem;
	transition: all 0.3s ease-out;
	z-index: 1;
}

.besttours__card:after {
	content: "";
	width: 100%;
	height: 20rem;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(
		0deg,
		rgba(0, 0, 0, 0.7987570028011204) 0%,
		rgba(35, 43, 87, 0) 100%
	);
	border-radius: 0 0 1rem 1rem;
}

.card-image {
	width: 100%;
	height: 100%;
}

.card-button h3 {
	position: relative;
	font-weight: 200;
	line-height: 2.8rem;
	color: var(--white);
	margin-bottom: 0;
	padding-bottom: 0;
	font-size: 2.4rem;
}

.card-button h3:after {
	height: 1px;
}

.card-button span {
	font-size: 1.6rem;
	color: var(--white);
	letter-spacing: 0.1rem;
}

.besttours__card:hover .card-button,
.besttours__card:active .card-button {
	/* top: 0; */
	/* bottom: 0; */
	height: 98.7%;
	background: rgba(0, 0, 0, 0.53);
	backdrop-filter: blur(2px);
	transition: all 0.5s 0.1s ease-out;
}

.card-duration,
.card-button-itinerary,
.card-button > span:nth-child(3) {
	opacity: 0;
	height: 0;
	transition: all 0.3s ease-out;
}

.besttours__card:hover .card-duration,
.besttours__card:hover .card-button-itinerary,
.besttours__card:hover .card-button > span:nth-child(3) {
	opacity: 1;
	height: 2.6rem;
	transition: all 0.5s 0.1s ease-out;
}

span.card-button-itinerary {
	position: absolute;
	height: initial !important;
	bottom: 0;
	border: solid 2px var(--orange);
	border-radius: 6px;
	color: var(--orange);
	padding: 1rem 1.5rem 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.13rem;
	font-weight: 600;
	margin-bottom: 3rem;
	line-height: normal;
}

span.card-duration {
	display: inline-block;
	vertical-align: middle;
	margin-top: 0;
}

span.card-duration:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 2rem;
	height: 2rem;
	background: url(assets/images/timer.svg) no-repeat center;
	background-size: contain;
	margin-right: 0.4rem;
	margin-bottom: 0.4rem;
}

.card-button h3:after {
	position: absolute;
	content: "";
	width: 5rem;
	background: var(--white);
	bottom: 0;
	left: 50%;
	transform: translatex(-50%);
	opacity: 0;
	height: 0;
	transition: all 0.3s ease-out;
}

.besttours__card:hover .card-button h3:after {
	opacity: 1;
	height: 0.2rem;
	transition: all 0.8s 0.1s ease-out;
}

.besttours__card:hover .card-duration {
	margin-top: 3rem;
}

.besttours__card:hover .card-button h3 {
	font-size: 2.6rem;
	line-height: 2.8rem;
	padding-bottom: 3rem;
	transition: all 0.5s 0.1s ease-out;
}

section.frontpage__testimonials {
	background: url(assets/images/back_testimonials.webp) no-repeat center
		bottom;
	background-size: cover;
	min-height: 55rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
}

.frontpage__map {
	width: 100%;
	max-width: 100%;
	height: 450px;
	position: relative;
	background: var(--blue-dark);
	display: flex;
	justify-content: center;
	padding-bottom: 3rem;
	box-sizing: content-box;
}

.frontpage__map > iframe {
	width: 90%;
	border-radius: 1rem;
}

.depicter-layer-frame.depicter-symbol-layer {
	z-index: 1 !important;
}
/* FIN-FRONTPAGE */
/* FOOTER */
.footer {
	background: var(--blue-dark);
	text-align: center;
}

.footer__widgets {
	display: flex;
	flex-wrap: wrap;
	gap: 6rem;
	padding: 6rem 0;
}

.footer__widgets p,
.footer__widgets a,
.footer__widgets li {
	text-align: center;
	text-decoration: none;
	color: var(--white);
	line-height: 2.6rem;
	margin: 0;
	list-style-position: inside;
}

.footer__widgets > div {
	flex: 1 0 25rem;
}

.footer__widgets h2 {
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 2.1rem;
	/* letter-spacing: 0.1rem; */
	color: var(--orange);
	margin-bottom: 2rem;
	position: relative;
	font-family: var(--font-primary);
	text-transform: uppercase;
}
.ico-link a {
	/* font-weight: 400; */
	font-size: 2.2rem;
}

.ico-link a:before {
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 3.2rem;
	height: 3.2rem;
	margin-right: 0.7rem;
}

.ico-phone a:before {
	background: url(assets/images/phone-ico.svg) no-repeat center center;
}

.ico-map a:before {
	background: url(assets/images/map-ico.svg) no-repeat center center;
}

.ico-mail a:before {
	background: url(assets/images/mail-ico.svg) no-repeat center center;
}

.ico-face a:before {
	background: url(assets/images/facebook-ico.svg) no-repeat center center;
}

.ico-insta a:before {
	background: url(assets/images/instagram-ico.svg) no-repeat center center;
}

.ico-whats a:before {
	background: url(assets/images/whatsapp-ico.svg) no-repeat center center;
}

.ico-link + .ico-link {
	margin-top: 1.5rem;
}

.footer__widgets > div:first-child figure img {
	width: 90% !important;
	margin-bottom: 5rem;
}

.footer__copyright {
	background: var(--black);
	padding: 3rem 0;
}

.copyright__box {
	margin: 0 auto;
}

.copyright__box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
}

.copyright__box .credits img {
	height: 24px;
	padding: 0 5px;
}

.copy p {
	font-weight: 300;
	text-align: center;
	color: var(--gray-1);
	font-size: 1.4rem;
}

.credits a {
	font-weight: 300;
	font-size: 10px;
	line-height: 27px;
	background: linear-gradient(to right, #bf1e63, #fc950f, #0b7ef0);
	background-size: 200% 200%;
	animation: rainbow 2s ease-in-out infinite;
	background-clip: text;
	-webkit-background-clip: text;
	color: #ffffff00;
	transition: color 0.2s ease-in-out;
	text-rendering: optimizeLegibility;
	display: inline-flex;
}

.credits a:hover {
	color: rgb(255 255 255);
}

@keyframes rainbow {
	0% {
		background-position: left;
	}

	50% {
		background-position: right;
	}

	100% {
		background-position: left;
	}
}

/* .footer__innerpages SECTION {
	border-top: solid 2px var(--gray-7);
	padding: 7rem 0;
} */

p.footer_social_icons {
	padding-top: 2rem;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
}
.footer__widgets > div:last-child li {
	list-style: none;
}

.medios__pago img {
	display: inline-block;
	vertical-align: middle;
	padding: 0 2rem 2rem 0;
	box-sizing: content-box;
	max-height: 4.2rem;
	width: auto !important;
}

/* FIN-FOOTER */
/* INTERNAS */
.header__innerpages .header__nav {
	position: relative;
	background: none;
	/* margin-bottom: 4.3rem; */
}
.header__innerpages .header__nav::before {
	display: none;
}

.header__innerpages .header__content {
	background: linear-gradient(
		0deg,
		var(--blue-dark) 0%,
		var(--blue-dark) 100%
	);
}

/* FIN-INTERNAS */
/* ITINERARIOS */
#slider__itinerario-mw {
	/* border-radius: 1rem; */
}

.itinerarios__banner {
	width: 100%;
	/* max-width: 140rem; */
	margin: 0 auto;
}

.slider__slide {
	width: 100%;
	height: 40rem;
}

.slider__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

.itinerarios__highlights > div {
	position: relative;
	display: inline-block;
	margin: 0 2rem 1.5rem 0;
	padding-left: 4rem;
}

.itinerarios__highlights > div:last-child {
	margin-bottom: 0;
}

.itinerarios__highlights > div::before {
	position: absolute;
	content: "";
	width: 3.2rem;
	height: 3.2rem;
	left: 0;
	top: 0.4rem;
	filter: brightness(0) saturate(100%) invert(63%) sepia(84%) saturate(887%)
		hue-rotate(340deg) brightness(101%) contrast(91%);
}

.caracteristica__duracion::before {
	background: url(assets/images/duration.svg) no-repeat center;
}

.caracteristica__max-pax::before {
	background: url(assets/images/max-people.svg) no-repeat center;
}

.caracteristica__edad-minima::before {
	background: url(assets/images/min-age.svg) no-repeat center;
}
.caracteristica__tipo-tour::before {
	background: url(assets/images/category.svg) no-repeat center;
}
.caracteristica__destino::before {
	background: url(assets/images/destination.svg) no-repeat center;
}

.itinerario-titulo {
	/* margin-bottom: 2rem; */
	padding-bottom: 2rem;
}

.itinerario-titulo h1 {
	position: relative;
	display: block;
	/* width: 90%; */
	margin: 0 auto;
	text-align: center;
	/* color: var(--white); */
	font-weight: 400;
}
.itinerario-titulo span {
	/* color: var(--white); */
	/* font-size: 2.2rem; */
	/* font-family: var(--font-primary); */
	/* font-weight: 700; */
	/* display: block; */
	/* margin: .5rem 0 2rem 0; */
	letter-spacing: 0.15rem;
}

#slider__itinerario-ow {
	margin: 2rem 0;
}

.itinerarios__bestdestinations .besttours__card {
	flex: 1 0;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading {
	background: var(--dark);
	color: var(--white);
	text-transform: uppercase;
	font: 500 1.8rem var(--font-primary);
	text-align: center;
	padding: 1.5rem;
	border: none;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading--active,
.itinerary--content .responsive-tabs .responsive-tabs__heading--active:hover {
	background: var(--blue);
}

.itinerary--content .responsive-tabs .responsive-tabs__panel {
	padding-bottom: 30px;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading:after {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid var(--white);
	content: "";
	display: block;
	position: absolute;
	right: 1.2rem;
	top: 50%;
	transform: translate(-50%, -50%);
}

.itinerary--content .responsive-tabs .responsive-tabs__heading--active:after,
.itinerary--content
	.responsive-tabs
	.responsive-tabs__heading--active:hover:after {
	border-top: 0;
	top: 50%;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading:hover {
	border: none;
}

.itinerary--content {
	width: 100%;
}

.itinerary--content h2 {
	font: 500 2.8rem var(--font-primary);
	color: var(--dark);
}

.itinerarios__bestdestinations h2 {
	color: var(--dark);
}

.itinerarios__box {
	margin-bottom: 5rem;
}

.itinerario-estracto {
	width: 90%;
	margin: 0 auto 3rem;
}

.pages__box,
.taxonomy_box {
	padding-top: 3rem;
}

.itinerarios__form {
	background: var(--dark);
	border-radius: 1.2rem 1.2rem 0 0;
}

.itinerarios__form h4 {
	font: 500 2.8rem/3.6rem var(--font-secondary);
	text-align: left;
	color: var(--white);
	padding: 2.4rem 1.8rem 2.2rem;
}

.itinerarios__form strong {
	font: 600 2rem / 2.4rem var(--font-primary);
	color: var(--white);
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	display: block;
	text-align: left;
}

form.wpcf7-form {
	background: var(--white);
	padding: 1.5rem;
	border: solid 1px var(--gray-3);
	border-radius: 0 0 1rem 1rem;
	position: relative;
}

form.wpcf7-form span + span {
	display: block;
	margin-top: 0.7rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-select,
.wpcf7 textarea {
	width: 100%;
	font: 300 1.8rem var(--font-primary);
	border-radius: 0.7rem;
}

.wpcf7 input,
.wpcf7 textarea {
	padding: 1.5rem;
	border: none;
	background-color: var(--white);
	letter-spacing: 1.2px;
	transition: 0.3s ease background, color;
	color: var(--gray-3);
	vertical-align: middle;
	border: solid 0.1rem var(--gray-2);
}

.wpcf7 ::placeholder {
	color: var(--gray-5);
}

.wpcf7 :focus {
	color: var(--gray-7);
	outline: 0;
}

.wpcf7 :focus::placeholder {
	color: var(--white);
}

.wpcf7 textarea {
	height: 150px;
	resize: none;
}

.wpcf7 input[type="submit"] {
	background: linear-gradient(
		251deg,
		var(--background) 0%,
		var(--background) 100%
	);
	color: var(--blue);
	cursor: pointer;
	font-weight: 600;
	text-transform: uppercase;
	padding-top: 1.8rem;
	border: solid 2px var(--blue);
	transition: 0.5s;
}

.wpcf7 input[type="submit"]:hover {
	background: linear-gradient(251deg, var(--blue) 0%, var(--blue-dark) 100%);
	color: var(--background);
	transition: 0.5s;
}

.wpcf7 span.wpcf7-list-item {
	margin: 0 0 10px 0;
}

.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-acceptance-missing {
	border: 5px solid var(--red);
	margin-top: -30px;
}

.wpcf7 span.wpcf7-not-valid-tip {
	color: var(--red);
	font-size: 12px;
	padding: 5px;
}

.wpcf7 .wpcf7-mail-sent-ok {
	border: 5px solid var(--white);
	margin-top: -30px;
}

span.wpcf7-spinner {
	position: absolute;
	bottom: 14px;
	right: 10px;
	height: 24px !important;
	margin: 0;
}

.itinerarios__form p {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 1rem 1rem 0 0;
	background: radial-gradient(
		88.34% 402.27% at 82.38% -13.87%,
		var(--blue) 0%,
		var(--blue-dark) 100%
	);
	padding: 2.9rem 1.8rem 2.2rem;
}

/* FIN-ITINERARIOS */
/* PAGINAS */
.pages__box h1 {
	color: var(--dark);
}

.itinerarios__box section p {
	text-align: justify;
}

.pages__box .itinerary--content {
	margin-bottom: 6rem;
	width: 90%;
}

.pages__box p {
	text-align: justify;
}

.taxonomy_box h1 {
	color: var(--dark);
}

section.category__cards {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: 2rem;
}

.navigation__category {
	margin-bottom: 5rem;
}

/* FIN-PAGINAS */
/* --- Formulario de Contactanos --- */
.pages__box .wpcf7 input {
	border: 1px solid var(--gray-2);
	padding: 4px;
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.pages__box .wpcf7 textarea {
	padding: 4px;
	border: 1px solid var(--gray-2);
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.pages__box .wpcf7 input[type="submit"] {
	border: none;
	padding: 4px 10px;
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	background: var(--dark);
	color: var(--white);
	cursor: pointer;
}

.pages__box .wpcf7 span input,
.pages__box .wpcf7 span select,
.pages__box .wpcf7 span textarea {
	padding-left: 2%;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-bottom: 0.4rem;
	font-family: var(--font-primary), sans-serif;
	width: 100%;
	font-weight: 300;
	font-size: 1.6rem;
	color: var(--gray-5);
	box-sizing: border-box;
	border-radius: 5px;
	border-color: var(--blue);
}

.pages__box form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: none;
	padding: 0;
	border: none;
}

.pages__box form label {
	flex-basis: 100%;
}

.pages__box form .formT {
	flex-basis: 100%;
	text-align: left;
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--dark);
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--blue);
	text-transform: uppercase;
	margin: 1rem 0;
}

.pages__box form p > label {
	width: 48%;
}

.pages__box .wp-block-contact-form-7-contact-form-selector {
	width: 100%;
	margin: 3rem auto;
}

.pages__box .wpcf7 input[type="submit"] {
	font-family: var(--font-primary), sans-serif;
	font-weight: 600;
	font-size: 1.6rem;
	color: #fff;
	border-radius: 4px;
	background: var(--blue);
	text-transform: uppercase;
	text-align: center;
	width: 100%;
	transition: 0.2s ease-in-out;
	padding: 16px 18px;
}

.pages__box .wpcf7 input[type="submit"]:hover {
	background: var(--blue);
	background-size: 200% 200%;
	animation: rainbow 2s ease-in-out infinite;
}

.pages__box form span {
	font-size: 1.6rem;
	font-weight: 400;
	padding-bottom: 0.5rem;
	color: var(--gray-7);
	display: block;
}

/* FIN-FORMULARIO */
/* SIDEBAR-PAGES */
.sidebar__pages > div:first-child {
	background: var(--white);
	border-radius: 0.5rem;
	padding: 3rem 1.5rem;
	text-align: center;
}

.sidebar__pages > div:first-child h3 {
	font: 700 3.4rem var(--font-secondary);
	color: var(--blue-dark);
}

.sidebar__pages > div:first-child > div {
	border-top: solid 1px var(--blue-dark);
	margin-top: 2rem;
	padding-top: 2rem;
}

.sidebar__pages > div:first-child .wp-block-button a {
	color: var(--gray-8);
	font: 400 1.8rem var(--font-primary);
	background: var(--background);
	border-radius: 0.5rem;
	border: solid 2px var(--blue-dark);
	width: 100%;
}

.sidebar__pages > div:first-child .wp-block-buttons {
	gap: 1.5rem;
	margin-top: 2rem;
}

.sidebar__pages > div:first-child .wp-block-button {
	width: 100%;
	position: relative;
}

.sidebar__pages > div:first-child .wp-block-button:nth-child(1):before {
	content: "";
	position: absolute;
	width: 1.8rem;
	height: 2.8rem;
	left: 89px;
	top: 0;
	bottom: 0;
	background: url(assets/images/green-phone.svg) no-repeat center;
	margin: auto;
}

.sidebar__pages > div:first-child .wp-block-button:nth-child(2):before {
	content: "";
	position: absolute;
	width: 2.8rem;
	height: 2.8rem;
	left: 51px;
	top: 0;
	bottom: 0;
	background: url(assets/images/green-wa.svg) no-repeat center;
	margin: auto;
}

/* FIN-SIDEBAR-PAGES */
/* HIGHTLIGHTS */
.itinerarios__highlights {
	display: flex;
	flex-wrap: wrap;
	background: var(--white);
	border-radius: 1rem;
	padding: 2rem;
	margin-bottom: 2rem;
}

.itinerarios__highlights h4 {
	font: 500 1.7rem var(--font-primary);
	color: var(--dark);
}

.itinerarios__highlights p,
.itinerarios__highlights a,
.itinerarios__highlights span {
	font: 400 1.6rem var(--font-primary);
	color: var(--gray-4);
	line-height: normal;
	text-align: left;
}
/* FIN-HIGHLIGHTS */

/*  FEATURES */
.frontpage__features {
	width: 100%;
	padding: 10rem 0;
}

.features-box {
	width: 90%;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	gap: 5rem;
	padding: 6rem 0 0 0;
}

.features-box .feature {
	flex: 0 1 100%;
}

.frontpage__features h2 {
	font-weight: 700;
	font-size: 3rem;
	line-height: 3.4rem;
	text-transform: uppercase;
	text-align: center;
	color: var(--blue);
	position: relative;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}

.frontpage__features h2:after {
	position: absolute;
	content: "";
	width: 7rem;
	height: 0.4rem;
	background: var(--gray-5);
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.features-box .feature h3 {
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 2.8rem;
	color: var(--blue-dark);
	padding: 3rem 0;
	margin-bottom: 3rem;
	position: relative;
}

.features-box .feature h3:after {
	position: absolute;
	content: "";
	width: 7rem;
	height: 0.4rem;
	background: var(--gray-3);
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
/*  FIN FEATURES */

.grecaptcha-badge { 
    visibility: hidden;
}
