@charset "utf-8";
/*
Theme Name: lapava_v02
Theme URI:
Description: Design created for Panda Creatiu.
Version: 1.0
Author: Panda Creatiu
Author URI: http://www.pandacreatiu.com/
Tags:
*/
/* ------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;/*vertical-align: baseline*/;background: transparent;list-style:none;
	webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;}
:focus {outline: 0;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
table {border-collapse: collapse;border-spacing: 0;}
a {text-decoration:none;}

@font-face {
  font-family: 'Inter'; /* El nom que utilitzaràs en el teu CSS */
  src: url('fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype-variations');
  font-weight: 100 900; /* Defineix el rang de pesos suportats per la font variable */
  font-optical-sizing: auto; /* Habilita l'ajust de la mida òptica si la font ho suporta */
  font-style: normal; /* L'estil per defecte és normal */
}

@font-face {
  font-family: 'Fiyona'; /* El nom que utilitzaràs per a aquesta font */
  src: url('fonts/Fiyona-Regular.ttf') format('truetype');
  font-weight: normal; /* Aquesta és una font regular, així que el pes és normal */
  font-style: normal; /* L'estil és normal (no itàlica) */
  font-optical-sizing: auto; /* Opcional, depèn de si la font ho suporta */
}

/* -------------------------------------------------------------------- */
html, body{ overflow-x: hidden; }
body { font-family: 'Inter'; font-size:14px; }

body .hidden { display: none !important; }

.txtgen{ font-size: 24px; line-height: 35px; font-weight: 300; color:#2C0000; }

.txtgen strong{ font-weight:600; font-size:32px; font-style:italic; }

.txtgen p, .txtgen h1, .txtgen h2, .txtgen h3{ margin-bottom: 30px; }
.txtgen h1{ font-size: 140%; }
.txtgen h2{ font-size: 120%; }

.txtgen h3{ font-size: 100%; }

.txtgen img { width: 100% !important; max-width: 1200px !important; height: auto !important; }

/* .txtgen a{ color: #fff; background-color:#ff4949; padding:30px 60px; display: block; width: fit-content; margin-top:50px; } */
.txtgen a{ text-decoration:underline; color:#ff4949; }

.txtgen ul, .txtgen ol{ padding-left:40px; margin-bottom:25px; margin-top:15px; }
.txtgen ul li, .txtgen ol li{  list-style:outside; margin-bottom:20px; }
.txtgen ol li { list-style:decimal; }
.txtgen iframe { max-width: 100%; height: 300px; }

.txtgen ul strong, .txtgen ol strong{ font-size:24px; font-style:normal; }


.txtgen form{ font-size:15px; }
.txtgen form p{ margin-bottom:0; }

.txtgen input[type="text"], .txtgen input[type="email"], .txtgen textarea{ 
	width: 100%; border: none; border: 1px solid #2C0000; margin: 0px 0 15px 0; color: #2C0000; background-color: #fff; box-sizing: border-box; padding: 15px; border-radius: 5px; }

.txtgen input[type='checkbox']{ margin-top: 5px; margin-left: -5px; }

.txtgen textarea{ resize:none; height: 180px; font-family: 'Dosis', sans-serif; font-size: 1em; }

.txtgen .label_checkbox{ font-size: 14px; color: #1A1A1A; }

.txtgen input[type="submit"]{ border: none; margin-top: 10px; cursor: pointer; background-color: #2C0000; color: #fff; padding: 10px 40px; font-size:16px; font-weight:300; text-transform:uppercase;  
	font-family: 'Inter'; border-radius: 5px; }


.transition{ transition: all .3s ease-in-out; }

.shadow{ -webkit-box-shadow: 0px 5px 15px 0px rgba(96,67,17,0.4); -moz-box-shadow: 0px 5px 15px 0px rgba(96,67,17,0.4); box-shadow: 0px 5px 15px 0px rgba(96,67,17,0.4); }
.radius{ -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; }

::selection { background: #F1F1F1; }
::-moz-selection { background: #F1F1F1; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-button { width: 0px; height: 0px; }
::-webkit-scrollbar-thumb { background: #7f7f7f; border: 0px none #ffffff; border-radius: 0px; }
::-webkit-scrollbar-thumb:hover { background: #7f7f7f; }
::-webkit-scrollbar-thumb:active { background: #000000; }
::-webkit-scrollbar-track { background: #f1f1f1; border: 0px none #ffffff; border-radius: 50px; }
::-webkit-scrollbar-track:hover { background: #f1f1f1; }
::-webkit-scrollbar-track:active { background: #333333; }
::-webkit-scrollbar-corner { background: transparent; }

select{
    padding: .3125rem 3rem .3125rem 1rem;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org/2000/svg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.2%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat, repeat;
    background-position: right 1rem center;
    border-radius: .25rem;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #d8e2ef;
    color: #344040;
    background-size: 10px 12px;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.075);
    outline:none;
}

.clear{ clear: both; }

.wrapper{ width: 100%; margin: 0; padding:70px 0; }

.container{ width: 100%; max-width: 1500px; min-width: 320px; margin: auto; padding: 0 10px; position: relative; }

.pie_de_foto{ font-size:12px; font-style:italic; margin-top:3px; }

/* MENU / SUBMENU -------------------- */
.header{ width: 100%; height: 180px; background-color: #ff4949; position:relative; }
	
	.header .container{ height:100%; }

	.logo{ position: absolute; top: 50%; transform: translateY(-50%); }

	.header_menu{ position: absolute; right: 10px;  top: 50%; transform: translateY(-50%); font-size: 16px; font-weight: 600; text-transform:uppercase; display:flex; }

		#main-nav ul { margin: 0; padding: 0; display: inline-flex; }
		#main-nav li { display: block; float: left; margin: 0; padding: 0; position: relative; cursor: pointer; word-wrap: break-word; }
		#main-nav li a, .carta { display: block; padding: 10px 15px; color: #2c0000; transition: all .3s ease-in-out; border:2px solid #2c0000; margin:0 15px; cursor:pointer; }
		#main-nav .current-menu-item a, #main-nav .current_page_item a, #main-nav a:hover, li.current-menu-parent >a{  }

	/* menu mobile*/
	.menu_movil_trigger{ display: none; }

		.menu_mobile{ margin-top: 20px; }

			.sidr { display: block; position: fixed; top: 0; height: 100%; z-index: 999999; width: 260px; overflow-x: hidden; overflow-y: auto;
			  font-size: 14px; background: #ff4949; padding: 15px; }

			.sidr .sidr-inner { padding: 0 0 15px; }

			.sidr.right { left: auto; right: -260px; }
			.sidr.left { left: -260px; right: auto; }

				.lang_mobile{ font-size: 13px; font-weight: 700; width: 60px; }

				.menu_mobile a, .menu_mobile_carta{ display: block; padding: 10px 15px; color: #fff; transition: all .3s ease-in-out; border:2px solid #fff; margin:0 15px; cursor:pointer; text-align:center; 
					text-transform: uppercase; font-size: 16px; font-weight: 600; }
				.menu_mobile ul li{ padding: 10px 0; }
				.menu_mobile_carta{ margin-top:10px; }

@media only screen and (max-width: 1075px) {

	.header{ width: 100%; height: 100px; background-color: #ff4949; position:relative; }
		.logo svg{ width:300px; height:auto; }
		.header_menu{ display:none; }
		.menu_movil_trigger{ display:inherit; position: absolute; right: 30px;  top: 50%; transform: translateY(-50%); }

}


/* reviews */
.home_reviews{ position:relative; }

	.home_reviews_content{ position: relative; z-index: 2; width: 100%; background-color:#BCE1E1; border-top-right-radius: 60px; border-bottom-left-radius: 60px; padding:40px 20px; margin-top:40px; }

		.swiper-reviews{ margin:50px 0 20px 0; overflow:hidden; }
		.home_review_content{ width:100%; max-width:800px; margin:auto; text-align:center; }
			.home_review_name{ font-size:35px; font-weight:700; color:#2c0000; font-style:italic; }
			.home_review_text{ margin-top:40px; font-size:30px; font-style:italic; line-height:1.3; color:#2c0000; }

			.pag_banner{ margin-bottom:40px; }

	.home_reviews_bottom{ position:absolute; z-index: 1; width:100%; height:120px; bottom:0; left:0; background-color:#fff; }

		.home_reviews_pag_bottom{ height: 80px; }

@media only screen and (max-width: 930px) {
	.home_review_name{ font-size:19px; }
	.home_review_text{ font-size:17px; }
}

.swiper-pagination-bullet{ width:17px !important; height:17px !important; opacity:.15 !important; }
.swiper-pagination-bullet-active{ background:#2C0000 !important; opacity:1 !important;  }



/* FLEXIBLE CONTENT ============================================================================================================================================== */


/* BANNER GEN ======================================================================================================== */
.banner{ background-size:cover; background-position:center; background-repeat:no-repeat; padding:180px 0; }

.banner_text{ font-family: 'Fiyona'; color:#fff; width:100%; max-width:750px; font-size:80px; line-height:1; padding:30px 0; line-height: 1.4; }
.banner_text strong{ text-decoration:underline; }

@media only screen and (max-width: 763px) {
	.banner{ font-size:50px; padding:0; }
}

/* BANNER HOME ======================================================================================================= */
.banner_home_text{ font-family: 'Fiyona'; color:#2c0000; width:100%; max-width:750px; font-size:80px; line-height:1; padding:30px 0; }
.banner_home_text h1{ font-weight:normal; }
.banner_home_text strong{ text-decoration:underline; }

@media only screen and (max-width: 763px) {
	.banner_home_text{ font-size:50px; padding:0; }
}


/* BANNER VIDEO ====================================================================================================== */
.home_banner{ width: 100%; height: calc(100vh  - 180px); position: relative; }
	.video-background-controls{ display:none; }
	

/* TEXT ============================================================================================================== */
.only_text{ width:100%; max-width:1200px; }
	.only_text_title{ font-family: 'Fiyona'; color:#2C0000; width:100%; font-size:80px; line-height:1; }
	.only_text_title h2, .only_text_title h3{ font-weight:normal; }
	.only_text_text{ margin-top:50px; }


@media only screen and (max-width: 763px) {
	.only_text_title{ font-size:50px; padding:0; }
}



/* TEXTO - IMAGEN ==================================================================================================== */
.texto_imagen_titulo{ font-family: 'Fiyona'; color:#2C0000; font-size:80px; text-align:center; padding:70px 0 150px 0; width:100%; max-width:800px; margin:auto; line-height:1.1; }
.texto_imagen_titulo h2, .texto_imagen_titulo h3{ font-weight:normal; }

.texto_imagen{ display:flex; justify-content: space-between; }
	
	.texto_imagen_txt{ margin-bottom:25px; }
	.texto_imagen_txt h3{ font-family: 'Fiyona'; font-style: italic; line-height: 1.3; font-size:32px; font-weight:700; color:#ff4949; width:100%; max-width:400px; }

		.texto_imagen_title{ font-family: 'Fiyona'; line-height: 1.3; font-size:80px; font-weight:700; color:#2C0000; margin-bottom:40px; }

	.texto_imagen_img{ margin-bottom:25px; }
		.texto_imagen_img img{ width:100%; height:auto; }


.link_border{ width:fit-content; margin:70px auto 0 auto; padding:25px 50px; font-size:24px; text-align:center; }


@media only screen and (max-width: 850px) {
	.texto_imagen_titulo{ font-size:60px; text-align:left; padding:0 0 50px 0; }

	.texto_imagen{ display:block; }

		.texto_imagen_txt{ width:100% !important; }
			.texto_imagen_title{ font-size:50px; }

		.texto_imagen_img{ width:100% !important; }
}



/* DESTACADO ========================================================================================================= */
.destacado{ width:100%; max-width:1150px; margin:auto; text-align:center; padding:30px 0; }
	.destacado_txt{ font-family: 'Fiyona'; color:#2C0000; font-size:70px; line-height:1.2; }
	.destacado_txt strong{ text-decoration:underline; }
	.destacado_txt p{ margin-bottom:40px; }
	.destacado_txt p:last-child{ margin-bottom:0; }

	.destacado_link{ width:fit-content; margin:60px auto 0 auto; color: #fff; background-color:#ff4949; padding:30px 60px; color:#fff; font-size:24px; }

@media only screen and (max-width: 850px) {
	.destacado_txt{ font-size:45px; }
}

/* ITEMS HORIZONTAL ================================================================================================== */
.items_horizontal{ padding:30px 10px; }
	
	.items_h_text, .items_h_subtext{ font-family: 'Fiyona'; text-align:center; width:100%; max-width:1200px; margin:auto; }
		.items_h_text{ font-size: 80px; line-height:90px; }
		.items_h_subtext{ font-size: 60px; line-height:70px; }
		.items_h_subtext p{ margin-bottom:50px; }

	.items_h_items{ margin-top:90px; display:flex; flex-wrap:wrap; justify-content: space-between; }
		
		.items_h_item{ width:32%; }
			.items_h_item_img{ width:100%; aspect-ratio:1.3; background-position:center; background-size:cover; background-repeat:no-repeat; }
			.items_h_item_txt{ font-size: 24px; margin-top:30px; line-height:1.4; font-weight:300; }
			.items_h_item_txt h2, .items_h_item_txt h3{ font-weight:normal; }


@media only screen and (max-width: 850px) {
	.items_h_text{ font-size: 50px; line-height:60px; }
	.items_h_subtext{ font-size: 40px; line-height:1.2; }

	.items_h_items{ margin-top:60px; display:block; }
		.items_h_item{ width:100%; max-width:450px; margin:0 auto 30px auto; }
			.items_h_item_txt{ margin-top:15px; }
}


/* OPINIONES ========================================================================================================= */
.opiniones_title{ font-family: 'Fiyona'; text-align: center; font-size: 80px; line-height: 90px; width: 100%; max-width: 1200px; margin: auto; color:#2c0000; }

@media only screen and (max-width: 850px) {
	.opiniones_title{ font-size: 50px; }
}



.swiper-pagination-bullet {
    background-color: #fff !important; 
 }

/* ITEMS VERTICAL ==================================================================================================== */
.items_v_item{ display:flex; justify-content: space-between; margin:120px 0; }

	.items_v_item_img{ width:45%; }
		.items_v_item_img img{ width:100%; height:auto; }

	.items_v_item_content{ width:45%; }

		.items_v_item_title{ display:flex; font-size:32px; font-weight:700; }
		.items_v_item_title div:first-child{ min-width: 35px; width:35px; }

		.items_v_item_txt{ margin-top:20px; padding-left:35px; }

@media only screen and (max-width: 850px) {

	.items_v_item{ display:block; margin:0; }

		.items_v_item_img{ width:100%; }

		.items_v_item_content{ width:100%; margin-top:25px; }

			.items_v_item_title{ font-size:25px; }
			.items_v_item_txt{ margin-top:20px; padding-left:35px; }

}

/* TEXTO CENTRADO ==================================================================================================== */
.txt_center_title{ font-family: 'Fiyona'; text-align: center; font-size: 80px; line-height: 90px; width: 100%; max-width: 1200px; margin: 40px auto; }
.txt_center_title h2, .txt_center_title h3{ font-weight:normal; }

.txt_center_txt{ text-align:center; width: 100%; max-width: 1000px; margin: 90px auto 0 auto; }

@media only screen and (max-width: 850px) {
	.txt_center_title{ font-size: 50px; line-height: 1.2; margin: 0 auto; }
}

/* PROS/CONTRAS ====================================================================================================== */
.proscontras{ display:flex; }
	
	.pros, .contras{ width:50%; padding:90px; }

	.pros{ background-color:#ff4949; color:#2C0000; }
	.contras{ background-color:#F6F6F6; color:#2C0000; }

	.pros .txtgen{ color:#2C0000; }
	.contras .txtgen{ color:#2C0000; }

	.proscontras_title{ font-family: 'Fiyona'; font-size: 80px; line-height: 90px; margin-bottom:60px; }

@media only screen and (max-width: 850px) {
	.proscontras{ display:block; }
		.pros, .contras{ width:100%; padding:30px; }

		.proscontras_title{ font-size: 50px; line-height: 1.2; }
}


/* MI HISTORIA ============================================================ */
.mi_historia{ margin-top:80px; }
.mi_historia_content{ margin-top:-60px; }


/* CONTACTO =============================================================== */
.contacto{ margin-top:70px; text-align:center; }



/* FOOTER ======================================================================================================================================================== */
.formulari{ background-color:#2C0000; padding:80px 0; }

	.formulari .container{ display:flex; }
		.formulari_txt{ width:50%; padding-right:70px; }
			.formulari_txt1{ font-family: 'Fiyona'; font-size: 64px; line-height: 80px; color:#fff;  }
			.formulari_txt1 strong{ text-decoration:underline; }
			.formulari_txt2{ margin-top:50px; color:#fff; }

		.formulari_form{ width:50%; padding-left:40px; margin-bottom:70px; }
			.formulari_form_code{ color:#fff; width:100%; /*height:200px;*/ }

.formkit-alert-error{ color:#f2643b !important; }

.formulari_form_text{ color:#fff; padding:0 12px; line-height:1.2; }
.formulari_form_text img{ width:100%; height:auto; }


@media only screen and (max-width: 850px) {
	.formulari .container{ display:block; }

		.formulari_txt{ width:100%; padding-right:0px; }
			.formulari_txt1{ font-size: 50px; line-height:1.2; }

		.formulari_form{ width:100%; padding-left:0px; }

		.formulari_form_text{ padding:0; }
}


.formkit-field, .formkit-field{ flex: initial !important; width:100%; }
.formkit-powered-by-convertkit-container{ display:none !important; }

.formkit-form[data-uid="34d6cbb382"][min-width~="700"] [data-style="clean"], .formkit-form[data-uid="34d6cbb382"][min-width~="800"] [data-style="clean"] { padding: 10px; padding-top: 0 !important; }


	/* FORM THEME 3  formulario de contacto ------------------------------------------------------- */
	.form_theme_3 { color: #fff; box-sizing: border-box; }

		.form_theme_3 input[type="text"], .form_theme_3 input[type="email"], .form_theme_3 textarea{ 
			width: 100%; border: none; margin: 10px 0 35px 0; color: #2C0000; background-color: #fff; box-sizing: border-box; padding: 20px; border-radius: 5px; }

		.form_theme_3 input[type='checkbox']{ margin-top: 5px; margin-left: -5px; }

		.form_theme_3 textarea{ resize:none; height: 180px; font-family: 'Dosis', sans-serif; font-size: 1em; }

		.form_theme_3 .label_checkbox{ font-size: 14px; color: #1A1A1A; }

		.form_theme_3 a{ font-size: 14px; color: #0091B2; }
		.form_theme_3 a:hover{ text-decoration: underline; }

		.form_theme_3 input[type="submit"]{ border: none; margin-top: 10px; cursor: pointer; background-color: #fff; padding: 10px 40px; font-size:16px; font-weight:300; text-transform:uppercase;  
			font-family: 'Inter'; border-radius: 5px; }

		.wpcf7-not-valid-tip{ position: absolute; margin: -23px 0 20px 2px !important; font-size: 16px; font-weight: 300 !important; }

		.form_theme_3 div.wpcf7-validation-errors{ margin: -20px 0 20px -10px !important; font-size: 14px !important; border: none !important; 
			padding-top: 0 !important; color: #ff4949 !important; box-sizing: border-box; padding: 15px; }

		.wpcf7-response-output{ border-radius: 5px; padding:10px !important; font-weight:300 !important; }



.footer{ background-color:#F6F6F6; padding:30px 0 30px 0; }

	.footer-eu{ text-align:center; }
	.footer-eu svg{ fill: #2c0000; }

	.footer_cols{ display:flex; align-items: center; justify-content: space-between; margin-top:50px; }

		.footer_col1{ width:340px; font-family: 'Fiyona'; font-size:32px; color:#2c0000; line-height:1.2; }
		.footer_col1 strong{ text-decoration:underline; }

		.footer_col2 svg{ margin-bottom:15px; color:#FF4A4D; }
		.footer_col2 a{ color:#2c0000; font-size:16px; text-decoration:underline; }

		.footer_col3 a{ color:#2c0000; font-size:16px; font-weight:300; }
		.footer_col3 ul li{ margin:20px 0; }



@media only screen and (max-width: 763px) {

	.footer_cols{ display:block; }
		.footer_col1, .footer_col2, .footer_col3{ margin-bottom:60px; }
}


/* PER FER FUNCIONAR LA MAQUETACIO FLOAT DE CONTENT ------------------------------- */
.alignnone { margin: 5px 20px 20px 0; }
.aligncenter, div.aligncenter { display: block; margin: 5px auto 5px auto; }
.alignright { float:right; margin: 0px 0 7px 7px; }
.alignleft { float: left; margin: 0px 7px 7px 0; }
a img.alignright { float: right; margin: 5px 0 7px 7px; }
a img.alignnone { margin: 5px 7px 7px 0; }
a img.alignleft { float: left; margin: 5px 7px 7px 0; }
a img.aligncenter { display: block; margin-left: auto; margin-right: auto }
.wp-caption { background: #fff; border: 1px solid #f0f0f0; max-width: 96%; padding: 5px 3px 10px; text-align: center; }
.wp-caption.alignnone { margin: 5px 20px 20px 0; }
.wp-caption.alignleft { margin: 5px 20px 20px 0; }
.wp-caption.alignright { margin: 5px 0 20px 20px; }
.wp-caption img { border: 0 none; height: auto; margin: 0; max-width: 98.5%; padding: 0; width: auto; }
.wp-caption p.wp-caption-text { font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px; }
/* Text meant only for screen readers. */
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important; color: #21759b; display: block; font-size: 14px; font-size: 0.875rem; font-weight: bold; height: auto;
	left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ }


.grecaptcha-badge { visibility: hidden; opacity: 0; transition: linear opacity 1s; }
.grecaptcha-badge.showgr { visibility: visible; opacity: 1; transition: linear opacity 1s; }