/*
Theme Name: Cusquito Peru - Theme 1.0
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://vibedigital.agency
version: 1.0
License: GNU General Public License v3 or later  
License URI: http://www.gnu.org/licenses/gpl-3.0.html  
Text Domain: original vibe digital agency
Tags: wordpress theme, hans designer, web developer
*/

/* GENERALES */
:root {
	--color-background: #f7f7f7;
	--color-white: #fff;
	--color-gray-1: #f0f0f0;
	--color-gray-2: #e9e5e5;
	--color-gray-3: #9c9c9c;
	--color-gray-4: #4e4f55;
	--color-gray-5: #272933;
	--color-gray-6: #1a1a1a;
	--color-black: #000;
	--color-blue: #337ab7;
	--color-blue-dark: #286090;
	--color-green: #5cb85c;
	--color-green-dark: #449d44;
	--color-yellow: #f0ad4e;
	--color-yellow-dark: #ec971f;
	--color-red: #d9534f;
	--color-red-dark: #c9302c;
	--color-vibe-blue: #4cacbc;
	--color-vibe-blue-dark: #3398a9;
	--color-vibe-green: #a0d995;
	--color-vibe-green-dark: #7ec072;
	--color-vibe-yellow: #ffbb64;
	--color-vibe-yellow-dark: #f4ae53;
	--color-vibe-red: #ff6868;
	--color-vibe-red-dark: #ec5454;
	--color-vibe-light: #d6dce4;
	--color-vibe-yellow-cream: #f0ece6;
	--color-vibe-red-cream: #f6efef;
	--color-vibe-dark: #3c4049;
	--font-primary: "museo-sans", sans-serif;
	--font-secondary: "museo", serif;
	--radius-vibe: 1.2rem;
}

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

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

body {
	font-family: var(--font-primary), -apple-system, Helvetica, Arial,
		sans-serif;
	/* -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale; */
	position: relative;
}

main {
	padding-top: 5rem;
}

section {
	width: 90%;
	max-width: 120rem;
	margin: 0 auto;
	/* position: relative; */
	padding: 0 1.5rem;
}

section p:not(section p:last-child),
section ul:not(section ul:last-child) {
	margin-bottom: 1rem;
	box-sizing: border-box;
}

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

section > p:first-child {
	padding-top: 0;
}

h1,
h2,
h3,
h4 {
	font: 500 3.4rem/3.6rem var(--font-secondary);
	color: var(--color-vibe-dark);
}

h2 strong {
	font-weight: 100;
}

h3 {
	font-weight: 900;
	font-size: 1.8rem;
	line-height: normal;
}

p,
li,
a {
	font: 100 1.6rem/2.6rem var(--font-primary);
	color: var(--color-vibe-dark);
	padding-top: 2.5rem;
	& strong {
		font-weight: 500;
	}
}

a {
	padding-top: 0;
}

p {
	+ p {
		padding-top: 0;
	}
	+ h2,
	+ h3,
	+ h4 {
		padding-top: 2rem;
	}
}

ul {
	+ h2,
	+ h3,
	+ h4 {
		padding-top: 2rem;
	}
}

h2,
h3,
h4 {
	+ p {
		padding-top: 1rem;
	}
}

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

p,
h2,
h3 {
	&:empty {
		display: none;
	}
}

hr {
	margin: 3rem 0;
	color: var(--color-vibe-dark);
}

.btn a {
	font: 700 1.6rem / normal var(--font-secondary);
	color: var(--color-vibe-blue);
	background: none;
	border: 2px solid var(--color-vibe-blue);
	border-radius: 1.2rem;
	padding: 1.3rem 2.1rem;
	transition: 0.5s;
	&:hover {
		background: var(--color-vibe-blue);
		color: var(--color-white);
		transition: 0.5s;
	}
}
/* FIN-GENERALES */

/** Banner Estilos **/
.n2-ss-slider-3.n2-ow {
	border-radius: var(--radius-vibe);
}
/** -- FIN -- Banner Estilos **/

.header__content {
	position: relative;
	width: calc(90% - 3rem);
	max-width: calc(120rem - 3rem);
	margin: 0 auto;
	margin-top: 2rem;
	z-index: 1;
	& .header__banner {
		/* border: 0.1rem solid var(--color-background); */
		border-radius: var(--radius-vibe);
	}
	& .header__nav {
		position: absolute;
		top: 0;
		width: 100%;
		display: flex;
		justify-content: space-between;
		background: linear-gradient(to bottom, #3c4049c2, #3c404900);
		backdrop-filter: blur(7px);
		border-radius: var(--radius-vibe) var(--radius-vibe) 0 0;
		padding-right: 1.5rem;
		& .header__logo {
			background: var(--color-background);
			padding: 0.6rem 1.7rem 0.8rem 0;
			border-radius: 1rem 0 var(--radius-vibe) 0;
			position: relative;
			a {
				display: block;
				padding: 0;
				line-height: unset;
			}
			&:before,
			&:after {
				content: url("data:image/svg+xml;charset=UTF-8,<svg id='Capa_2' data-name='Capa 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><defs><style>.cls-1{fill:%23f7f7f7;stroke-width:0px;}</style></defs><g id='Capa_1-2' data-name='Capa 1'><path class='cls-1' d='M0,12h0V0h12C5.37,0,0,5.37,0,12Z'/></g></svg>");
				width: 1.4rem;
				height: 1.4rem;
				position: absolute;
			}
			&:before {
				top: 99%;
				left: 0;
			}
			&:after {
				top: 0;
				left: 99%;
			}
		}
	}
}

.header__bottom_widgets {
	position: absolute;
	bottom: 0;
	right: 0;
	> div {
		background: var(--color-white);
		padding: 1rem 0 0 1rem;
		border-radius: var(--radius-vibe) 0 var(--radius-vibe) 0;
		position: relative;
		&:before,
		&:after {
			content: url("data:image/svg+xml;charset=UTF-8,<svg id='Capa_2' data-name='Capa 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><defs><style>.cls-1{fill:%23ffffff;stroke-width:0px;}</style></defs><g id='Capa_1-2' data-name='Capa 1'><path class='cls-1' d='M12,0h0v12H0c6.63,0,12-5.37,12-12Z'/></g></svg>");
			width: 1.6rem;
			height: 1.6rem;
			position: absolute;
		}
		&:before {
			bottom: 99%;
			right: 0;
		}
		&:after {
			right: 99%;
			bottom: 0;
		}
	}
}

/*** MENU ***/
#menu__burger {
	display: none;
}

.header__menu {
	& input + label {
		background: var(--color-vibe-red);
		border: 1.3rem solid var(--color-vibe-red);
		border-radius: 50%;
		position: fixed;
		bottom: 3rem;
		right: 3rem;
		height: 2rem;
		width: 2rem;
		z-index: 5;
		box-sizing: initial;
		& span {
			background: var(--color-vibe-dark);
			position: absolute;
			width: 100%;
			height: 0.3rem;
			top: 50%;
			margin-top: -0.1rem;
			left: 0;
			display: block;
			transition: 0.5s;
			&:first-child {
				top: 0.4rem;
			}
			&:last-child {
				top: 1.6rem;
			}
			&:nth-of-type(1) {
				width: 50%;
			}
			&:nth-of-type(2) {
				width: 100%;
			}
			&:nth-of-type(3) {
				width: 75%;
			}
		}
	}
	& label:hover {
		cursor: pointer;
	}
	& input {
		&:checked {
			+ label span {
				opacity: 0;
				top: 50%;
				width: 100%;
				&:first-child {
					opacity: 1;
					transform: rotate(405deg);
				}
				&:last-child {
					opacity: 1;
					transform: rotate(-405deg);
				}
			}
		}
		~ nav {
			background: var(--color-vibe-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;
			& ul {
				display: flex;
				flex-direction: column;
				justify-content: center;
				height: 100%;
				padding: 3rem 0;
				box-sizing: border-box;
				align-items: center;
				margin: 0 auto;
				> li {
					opacity: 0;
					transition: 0.5s;
					transition-delay: 0s;
					> a {
						font-family: var(--font-primary);
						font-size: 2.2rem;
						text-decoration: none;
						text-align: center;
						color: var(--color-white);
						font-weight: 400;
						display: block;
						padding: 2.3rem 2rem;
						width: 100%;
						text-transform: uppercase;
					}
				}
			}
		}
		&:checked ~ nav {
			display: inherit;
			background: var(--color-vibe-dark);
			height: 100vh;
			width: 100vw;
			& ul > li {
				opacity: 1;
				transition-delay: 0.5s;
				display: block;
				margin: 0;
				width: 100%;
				&.current-menu-item a {
					background: linear-gradient(
						90deg,
						var(--color-vibe-green) 0%,
						var(--color-vibe-dark) 5%
					);
				}
				&:not(:last-child) {
					border-bottom: 1px solid;
					border-image: linear-gradient(
							to right,
							var(--color-vibe-dark),
							var(--color-vibe-red),
							var(--color-vibe-dark)
						)
						1;
				}
				& .sub-menu li:not(:last-child) {
					border-bottom: 1px solid;
					border-image: linear-gradient(
							to right,
							var(--color-vibe-dark),
							var(--color-vibe-dark),
							var(--color-vibe-dark)
						)
						1;
				}
			}
		}
		& ~ nav .sub-menu {
			display: none;
			padding: 0;
			width: 90%;
			border-radius: var(--radius-vibe);
			background: var(--color-vibe-red);
			height: auto;
			& a {
				text-transform: none;
			}
		}
	}
}

.menu__nav ul li {
	&:hover .menu-item-has-children {
		display: block;
	}
	& .menu-item-has-children {
		display: none;
		background: var(--color-vibe-dark);
		position: relative;
		width: 100%;
		z-index: 1000;
		& li {
			display: block;
			overflow: hidden;
			border-bottom: 1px solid rgba(255, 255, 255, 0.5);
			& a {
				display: block;
				margin-left: 20px;
				& span {
					float: right;
					position: relative;
					top: 3px;
					margin-right: 0;
					margin-left: 10px;
				}
			}
		}
	}
}
/*** FIN-MENU ***/

/** SWITCH DE IDIOMNAS **/
.header__top_widgets > div {
	height: 100%;
}

.lang_switch {
	height: 100%;
	display: flex;
	align-items: center;
	> div {
		display: flex;
		align-items: center;
	}
	& p {
		display: none;
	}
	& ul {
		& li {
			list-style: none;
			padding-top: 0;
		}
		& a {
			display: flex;
			padding: 0.8rem;
			border-radius: 0.6rem;
			background: #00000031;
		}
		& img {
			width: 4rem;
		}
	}
}
/** FIN SWITCH DE IDIOMNAS **/

/** WIDGETS BANNER BOTTOM **/
.btn_phone a {
	display: flex;
	align-items: center;
	&:before {
		display: inline-block;
		content: "";
		width: 1.4rem;
		height: 2rem;
		background: url(assets/images/smartphone-banner.svg) no-repeat center
			center;
		background-size: 1.4rem 2rem;
		margin-right: 0.5rem;
		transition: 0.5s;
	}
	&:hover:before {
		filter: brightness(10);
		transition: 0.3s;
	}
}

/** FIN WIDGETS BANNER BOTTOM **/

/** INFORMACIÓN DE INICIO **/
.frontpage__welcome {
	background-color: var(--color-white);
	border-radius: var(--radius-vibe);
	padding: 25rem 0 5rem;
	margin-top: -25rem;
	margin-bottom: 5rem;
	z-index: -1;
	& .welcome_text {
		width: 84%;
		margin: 0 auto;
		text-align: center;
		& img {
			margin-top: 3rem;
			width: inherit;
			max-width: 50rem;
		}
	}
}
/** FIN INFORMACIÓN DE INICIO **/

/** TEST DE DOBLE MENU **/
/* Oculta el menú mobile por defecto */
.header__menu--mobile {
	display: none !important;
}

/* Muestra el menú mobile en dispositivos móviles y resoluciones menores a 1200px */
@media (max-width: 1199px) {
	.header__menu--mobile {
		display: block !important;
	}

	.header__menu--desktop {
		display: none;
	}
}

/* Muestra el menú de escritorio por defecto */
.header__menu--desktop {
	display: block;
}

/* Oculta el menú de escritorio en resoluciones menores a 1200px */
@media (max-width: 1199px) {
	.header__menu--desktop {
		display: none;
	}
}
/** FIN TEST DE DOBLE MENU **/

/** FOOTER **/
#footer {
	margin: 5rem 0 2rem;
}
.footer__box {
	background-color: var(--color-vibe-yellow-cream);
	border-radius: var(--radius-vibe);
	padding: 5rem 0 0;
}
.footer__widgets {
	display: flex;
	padding: 0 1.5rem 5rem;
	gap: 5rem;
	flex-wrap: wrap;
	> div {
		flex: 0 1 100%;
	}
	div[id^="nav_menu"] ul {
		padding-top: 3rem;
	}
	h3 {
		font: 500 2.4rem/2.8rem var(--font-secondary);
	}
	a {
		text-decoration: none;
	}
}

.footer_logo img {
	max-width: 18rem;
}

.footer__frontpage-map {
	width: 100%;
	max-width: 100%;
	height: 450px;
	padding: 0 1.5rem;
	margin-bottom: 2rem;
	> iframe {
		border-radius: var(--radius-vibe);
	}
}

.footer__copyright {
	background-color: var(--color-vibe-dark);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 1.6rem 1.5rem;
	border-radius: 0 0 var(--radius-vibe) var(--radius-vibe);
	> div {
		padding: 1rem 0;
		width: 100%;
	}
	& a,
	& p {
		font: 300 1.4rem / 1.6rem var(--font-primary);
		color: var(--color-white);
		text-align: center;
		padding: 0;
	}
}

p[class^="ico"] {
	position: relative;
	padding-left: 3.5rem;
	&:before {
		content: "";
		width: 2.4rem;
		height: 2.4rem;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}

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

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

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

.footer-socials {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding-top: 1rem;
}
/** FIN FOOTER **/

/** CREDITOS **/
.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;
		a:hover {
			color: rgb(255 255 255);
		}
	}
	img {
		height: 24px;
		padding: 0 5px;
	}
}

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

	50% {
		background-position: right;
	}

	100% {
		background-position: left;
	}
}
/** FIN CREDITOS **/

/** ENCABEZADO PAGINAS INTERNAS **/
.header__innerpages {
	& .header__content {
		width: 90%;
		max-width: 120rem;
	}
	& .header__logo {
		background: none !important;
		padding: 0.7rem 1.7rem 0.7rem 1.5rem !important;
		&:before,
		&:after {
			display: none;
		}
	}
	.header__nav {
		background: var(--color-vibe-yellow-cream);
		border-radius: var(--radius-vibe);
		position: unset;
	}
	.lang_switch p {
		color: var(--vibe-dark);
	}
}
/** FIN ENCABEZADO PAGINAS INTERNAS **/

/** CUERPO DE PAGINAS INTERNAS **/
.v_title {
	margin-bottom: 3rem;
	& h1,
	& p {
		text-align: center;
	}
}

.category__cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5%;
}

.v__card {
	flex: 0 1 100%;
	max-width: 36rem;
	margin-bottom: 2rem;
	& h3,
	& p,
	& span {
		color: var(--color-background);
		text-align: center;
	}
	& h3 {
		font: 500 2.2rem/2.6rem var(--font-secondary);
	}
	& a {
		text-decoration: none;
	}
	& p {
		font: 300 1.6rem/2.2rem var(--font-primary);
		padding-top: 1.5rem;
	}
	& .title-bottom {
		display: block;
		margin: 1.8rem 1.2rem;
		border-bottom: 2px solid var(--color-vibe-light);
		padding: 0 0 1.5rem 0;
		transition: 0.5s;
		& h3,
		& span {
			color: var(--color-vibe-dark);
			text-align: left;
			margin: 0;
			transition: 0.5s;
		}
		& h3 {
			font-weight: 100;
		}
		& span {
			font-weight: 500;
		}
	}
}

.card_image {
	position: relative;
	z-index: -1;
	height: 45rem;
	background-size: cover;
	background-position: center;
	border-radius: var(--radius-vibe);
	& .card_btn {
		background-color: var(--color-background);
		padding: 1rem 0 0 1rem;
		border-radius: var(--radius-vibe) 0 var(--radius-vibe) 0;
		position: absolute;
		bottom: 0;
		right: 0;
		&:before,
		&:after {
			content: url("data:image/svg+xml;charset=UTF-8,<svg id='Capa_2' data-name='Capa 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><defs><style>.cls-1{fill:%23f7f7f7;stroke-width:0px;}</style></defs><g id='Capa_1-2' data-name='Capa 1'><path class='cls-1' d='M12,0h0v12H0c6.63,0,12-5.37,12-12Z'/></g></svg>");
			width: 1.6rem;
			height: 1.6rem;
			position: absolute;
		}
		&:before {
			bottom: 99%;
			right: 0;
		}
		&:after {
			right: 99%;
			bottom: 0;
		}
		& .btn_more {
			font: unset;
			border-color: var(--color-vibe-blue);
			background-color: var(--color-background);
			display: block;
			padding: 1.4rem 1.6rem 1.2rem;
			transition: background-color 0.5s;
			& img {
				transition: 0.5s;
			}
		}
	}
}

.card_description {
	opacity: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(19, 20, 21, 0.3);
	backdrop-filter: blur(7px);
	border-radius: var(--radius-vibe);
	padding: 3rem;
	transition: opacity 0.5s;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: 0.5s;
}

.v__card:hover .card_description {
	opacity: 1;
	transition: 0.5s;
}

.v__card:hover .btn_more {
	background-color: var(--color-vibe-blue);
	transition: 0.5s;
	& img {
		filter: brightness(5);
	}
}

.v__card:hover .title-bottom {
	border-color: var(--color-vibe-blue);
	transition: 0.5s;
	& h3,
	& span {
		opacity: 0;
		margin-top: -7rem;
		transform: 0.5s;
	}
}
/** FIN CUERPO DE PAGINAS INTERNAS **/
/* FORMULARIO */
form.wpcf7-form {
	background: var(--color-vibe-yellow-cream);
	padding: 1.5rem;
	border-radius: 0 0 0.7rem 0.7rem;
	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: 400 1.6rem var(--font-primary);
	border-radius: var(--radius-vibe);
}

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

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

.wpcf7 {
	& input,
	& select,
	& textarea {
		&:focus,
		&:focus-visible,
		&:focus-within {
			color: var(--color-vibe-dark);
			outline: none;
			border-style: none;
		}
	}
}

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

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

.v_submit {
	background-color: var(--color-vibe-green);
	border-radius: var(--radius-vibe);
	position: relative;
	width: fit-content;
	margin: 0 auto;
	&:hover {
		background-color: var(--color-vibe-green-dark);
	}
	&:before {
		position: absolute;
		left: 1.7rem;
		top: 50%;
		transform: translateY(-50%);
		content: "";
		width: 2.4rem;
		height: 2.4rem;
		background: url(assets/images/send-mail.svg) no-repeat center center;
		background-size: 2.4rem 2.4rem;
		margin-right: 0.5rem;
		transition: 0.5s;
	}
	&:hover:before {
		filter: brightness(10);
		transition: 0.3s;
	}
}

.wpcf7 input[type="submit"] {
	background: none;
	color: var(--color-white);
	cursor: pointer;
	font-weight: 600;
	text-transform: uppercase;
	width: auto;
	padding-left: 4.5rem;
	&:hover {
		color: var(--color-background);
	}
}

.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;
}

/* --- Formulario de Contactanos --- */
.v_the_content .wp-block-contact-form-7-contact-form-selector {
	margin: 2rem auto;
	background: var(--color-vibe-yellow-cream);
	padding: 2.5rem 2rem;
	border-radius: var(--radius-vibe);
}

.v_the_content .wpcf7 span input,
.v_the_content .wpcf7 span select,
.v_the_content .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(--color-vibe-dark);
	box-sizing: border-box;
	border-radius: 5px;
	background: var(--color-background);
}

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

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

.v_the_content form .formT {
	flex-basis: 100%;
	text-align: left;
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--color-gray-4);
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--color-vibe-green);
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.v_the_content form p > label {
	width: 48%;
}
.v_the_content form label + span {
	margin-top: 2rem;
}

.v_the_content .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(--color-vibe-green);
	text-transform: uppercase;
	text-align: center;
	width: 100%;
	transition: 0.2s ease-in-out;
	padding: 16px 18px;
}

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

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

/* FIN-FORMULARIO */

/** ITINERARIOS **/
section[class^="itinerary"] {
	width: 100%;
	max-width: unset;
	margin: 0;
	position: unset;
	padding: initial;
}
main.itinerary__box {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	width: 100%;
	max-width: 120rem;
	margin: 3rem auto 0;
	margin-bottom: 0px;
	position: relative;
	padding: 0 1.5rem;
	justify-content: center;
	> article {
		flex: 1;
	}
	> aside.general_sidebar {
		max-width: 37rem;
	}
}

section.itinerary__banner {
	margin-bottom: 3rem;
	& #slider__itinerario-mw {
		border-radius: 1rem;
	}
	& .slider__slide {
		width: 100%;
		height: 42rem;
		& img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
}

.v_content .itinerary__content {
	& h3 {
		font: 700 1.8rem/2.4rem var(--font-secondary);
		color: var(--color-vibe-blue);
	}
	& h2 {
		font: 700 2.2rem/2.6rem var(--font-secondary);
		text-transform: uppercase;
	}
}

.itinerary__content div.wp-block-pb-accordion-item {
	margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: solid .2rem color-mix(in srgb, var(--color-vibe-green) 40%, transparent);
}
/** FIN ITINERARIOS **/

/** SIDEBAR ITINERARIOS **/
.itinerary__form {
	background: var(--color-vibe-yellow-cream);
	border-radius: var(--radius-vibe) var(--radius-vibe) 0 0;
	padding-bottom: 0.5rem;
	> p {
		font: 100 1.5rem/2.2rem var(--font-primary);
		display: block;
		padding: 0 1.5rem;
		text-align: center;
		&:first-child {
			padding: 0;
		}
		&:last-child {
			width: 90%;
			margin: 0 auto;
			border-bottom: 2px solid var(--color-vibe-blue);
			padding: 0 0 1.5rem 0;
		}
		& strong {
			border-radius: var(--radius-vibe) var(--radius-vibe) 0 0;
			background: var(--color-vibe-blue);
			padding: 2rem 1.5rem 1.8rem;
			font: 900 2.2rem/2.2rem var(--font-primary);
			color: var(--color-background);
			text-transform: uppercase;
			letter-spacing: 0.1rem;
			display: block;
			text-align: center;
		}
	}
	> h4 {
		font: 500 2.4rem/2.8rem var(--font-secondary);
		text-align: center;
		color: var(--color-vibe-blue-dark);
		padding: 2rem 1.5rem 2rem;
	}
}

/** FIN SIDEBAR ITINERARIOS **/
.frontpage__testimonials {
	margin-bottom: 5rem;
	& .ti-widget.ti-trip .ti-widget-container {
		color: var(--color-gray-4) !important;
	}
}

.grecaptcha-badge {
  display: none !important;
}

.c-accordion__title::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%); /* Ajusta la posición vertical al centro del contenedor */
    width: 2rem;
    height: 2rem;
    background-color: var(--color-vibe-green);
    mask-image: url(assets/images/plus.svg);
    -webkit-mask-image: url(assets/images/plus.svg);
    mask-size: cover;
    -webkit-mask-size: cover;
    transform-origin: center; /* Asegura que la rotación ocurra en el centro del ícono */
    transition: transform 0.3s ease;
    display: inline-block;
}

.is-open > .c-accordion__title::after {
    background-color: var(--color-vibe-red);
    transform: rotate(225deg) translateY(35%) translateX(35%);
    transition: transform 0.3s ease;
}

.c-accordion__content {
  padding: 1rem 2rem 0 2rem;
}