/*  --------------- VARIABLES ---------------  */
	@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap');
	@font-face {
		font-family: 'Blov Erli';
		font-style: normal;
		font-weight: normal;
		font-display: swap;
		src: url('fonts/blov-erly.woff2') format('woff2');
	}
	:root{
		/* --col0: #180c12;
		--col1: #ed77b4;
		--col5: #f7f1f4; 
		--col6: #ffffff; */

		--col0: #1d2231;
		--col1: #a68df4;
		--col2: #7edce2;
		--col3: #d6cff7; 
		--col5: #ece9fb;
		--col6: #ffffff;

		--font1: 'Comfortaa', sans-serif;
		--font2: 'Blov Erli', Serif;

		--fs0: 100px;
		--fs1: clamp(3.125rem, 2.358rem + 3.4091vw, 5rem); /* 80 -> 50 */
		--fs2: clamp(2.25rem, 1.7386rem + 2.2727vw, 3.5rem); /* 56 -> 36 */
		--fs3: clamp(1.6875rem, 1.4318rem + 1.1364vw, 2.3125rem); /* 37 -> 27 */
		--fs4: clamp(1.25rem, 1.1222rem + 0.5682vw, 1.5625rem); /* 25 -> 20 */
		--fs5: clamp(1.1875rem, 1.1364rem + 0.2273vw, 1.3125rem); /* 21 -> 19 */
		--fs6: 18px;
		--fs7: 16px;
	}

/*  --------------- GENERAL ---------------  */
	*{
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		outline: none;
	}
	html, body{
		accent-color: var(--col1);
		color: var(--col0);
		font-family: var(--font1), sans-serif;
		line-height: 1.2;
		font-weight: normal;
		font-size: 16px;
	}
	moz-selection{background: var(--col1);	color: var(--col6);}
	*::-moz-selection{background: var(--col1);	color: var(--col6);}
	div.icons > .btn-group, body > .jmodedit{display: none !important;}
	li{list-style-position: inside;}
	address{font-style: normal;}
	img{width: auto; max-width: 100%; height: inherit;}
	i.fa{font-family: "FontAwesome"; font-weight: 400; line-height: inherit;}
	[data-switch], [data-ancla]{cursor: pointer;}
	.mr{margin-right: 5px;}
	.ml{margin-left: 5px;}
	a{text-decoration: none;}
	button{width: auto;}
	b, strong{font-weight: bold; font-size: inherit; color: inherit;}
	.logo img, .logo svg{transition:all 0.3s ease-out; -webkit-trasition:all 0.3s ease-out;}
	picture.cover{display: block; overflow: hidden;}
	picture.cover > *:not(source){display: block; width: 100%; height: 100%; object-fit: cover;}
	picture img{display: block;}
	picture{display: block;}
	picture.rel .fa{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background-color: var(--col6);
		color: var(--col1);
		width: 75px;
		height: auto;
		border-radius: 50%;
		aspect-ratio: 1/1;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: var(--fs4);
  		box-shadow: 0 0 20px rgba(0,0,0,0.3);
	}
	picture.rel .fa.small{
		width: 60px;
  		font-size: var(--fs6);
	}
	picture.rel:hover .fa{background-color: var(--col6);}
	.logo:hover img, .logo:hover svg{opacity: 0.8;}
	.headerwrapper{position: relative; z-index: 10 !important;}
	.bblack{background-color: black;}
	.bcol0{background-color: var(--col0);}
	.bcol1{background-color: var(--col1);}
	.bcol2{background-color: var(--col2);}
	.white{background-color: var(--col6);}
	.col0{color: var(--col0);}
	.col1{color: var(--col1);}
	.col2{color: var(--col2);}
	svg{fill: currentColor;}
	.fill1{fill: var(--col1);}
	.fill6{fill: var(--col6);}
	.grey{background-color: var(--col5);}
	.bcol-facebook{background-color: #3b5999;}
	.bcol-twitter{background-color: #55acee;}
	.bcol-linkedin{background-color: #0077B5;}
	.bcol-google{background-color: #dd4b39;}
	.bcol-pinterest{background-color: #bd081c;}
	.bcol-youtube{background-color: #cd201f;}
	.bcol-whatsapp{background-color: #25D366;}
	.bcol-instagram{background-color: #e4405f;}
	details{background-color: rgba(0,0,0,.07);	border-radius: 3px;}
	details:not([open]){animation-name: fold-in; animation-duration: .3s;}
	details[open] > div{animation-name: fold-out; animation-duration: .3s;}
	summary{cursor: pointer;}
  	summary::-webkit-details-marker, summary::marker{content: ""; display: none;}
  	summary::after{content: "+"; line-height: 1; cursor: pointer; font-size: var(--fs4); color: var(--col1);}
	details[open] summary::after{content: "−";}
	@keyframes fold-out{
		0%{opacity: 0; margin-top: -15px; }
		100%{opacity: 1; margin-top: 0; }
	}
	@keyframes fold-in{
		0%{padding-bottom: 15px;}
		100%{padding-bottom: 0;}
	}
	[data-zoom] picture{background-color: var(--col1); position: relative; overflow: hidden;}
	[data-zoom] picture:hover img{mix-blend-mode: multiply;}
	[data-zoom] picture:after{
		content: "\f002";
		font-family: "FontAwesome";
		position: absolute;
		top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
		background-color: var(--col6);
		color: var(--col1);
		width: 50px;
		border-radius: 50%;
		aspect-ratio: 1/1;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: var(--fs6);
  		box-shadow: 0 0 10px rgba(0,0,0,0.3);
		opacity: 0;
	}
	[data-zoom] picture:hover:after{opacity: 1;}
	.nofooter footer{display: none;}
	.grecaptcha-badge{display: none !important;}
	@media screen and (min-width: 1001px){
		.zigzag .item:nth-child(even) > *:first-child{order: 2;}
	}
	.embedvideo{display: block; width: 100%; height: auto; aspect-ratio: 16/9;}
	body .print1{display: none;}
	.fancybox__caption{max-width: 1200px;}
	.clamp{-webkit-line-clamp: initial !important;}
	[data-clamp]{cursor: pointer;}
	span{font-weight: inherit;}

	.dots.left::before{left: 0;}
	.dots.bottom::before{bottom: 0;}
	.dots::before{
		content: "";
		position: absolute;
		background-color: var(--col1);
		width: 70%;
		height: 70%;
		z-index: 0;
	}
	.sticky{position: sticky; top: 120px;}
	.squares{
		background-color: var(--col3);
		background-image: linear-gradient(to right, rgba(201, 182, 248, 0.2), rgba(126, 220, 226, 0.2)), linear-gradient(0deg, transparent 95%, rgba(255, 255, 255, 0.3) 95%), linear-gradient(90deg, transparent 95%, rgba(255, 255, 255, 0.3) 95%);
		background-size: 20px 20px;
		background-attachment: fixed;
	}

/*  --------------- TITULOS ---------------  */
	h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{font-weight: bold; text-wrap: balance; font-family: var(--font2);}
	.h0{font-size: var(--fs0);}
	.h1{font-size: var(--fs1);}
	.h2{font-size: var(--fs2);}
	.h3{font-size: var(--fs3);}
	.h4{font-size: var(--fs4);}
	.h5{font-size: var(--fs5);}
	.h6{font-size: var(--fs6);}
	.formato h2{font-size: var(--fs2); margin-bottom: 30px;}
	.formato h3{font-size: var(--fs3); margin-bottom: 20px;}
	.formato h4{font-size: var(--fs4); margin-bottom: 20px;}
	.formato h5{font-size: var(--fs5); margin-bottom: 20px;}
	.formato h6{font-size: var(--fs6); margin-bottom: 15px;}

	.display1{letter-spacing: 0.3em; text-transform: uppercase;}

/*  --------------- BOTONES ---------------  */
	.btn{
		border: none;
		box-shadow: none;
		display: inline-block;
		text-decoration: none;
		text-transform: uppercase;
		cursor: pointer;
		font-weight: 700;
		font-size: var(--fs5);
		padding: 18px 35px;
		transition:all 0.3s ease-out;
		-webkit-trasition:all 0.3s ease-out;
		font-family: var(--font2);
		border-radius: 3px;
		box-shadow: 0px -5px 0px 0px rgba(0,0,0,0.4) inset;
	}
	.btn1, .btn-primary{
		background-image: linear-gradient(to right, var(--col2), var(--col1), var(--col1), var(--col2));
		color: var(--col6);
		background-size: 200%;
		background-position: 0%;
	}
	.btn1:hover,
	.btn1:focus,
	.btn1:active,
	.btn-primary:hover,
	.btn-default:hover,
	.btn-primary.focus, 
	.btn-primary:focus,
	.btn-primary.active,
	.btn-primary:active,
	.btn-primary:active:hover,
	.btn-primary:active:focus,
	.btn-primary.disabled:focus, 
	.btn-primary:disabled:focus{
		background-position: 100%;
	}
	.btn2{
		background-color: var(--col0); color: var(--col6);
	}
	.btn2:hover,
	.btn2:focus,
	.btn2:active{
		background-color: var(--col1);
	}
	.btn:hover, .btn:active, .btn:focus{
		text-decoration: none !important;
	}

	.btn-small {
		padding: 11px 23px;
		font-size: var(--fs6);
	}

/*  --------------- TIPOGRAFÍA ---------------  */
	.tt{text-transform: uppercase;}
	a{color: var(--col1);}
	p, .formato ul, .formato ol{
		margin-bottom: 20px;
		min-height: 1px;
		line-height: 2;
		color: var(--col);
		font-size: 17px;
		text-wrap: pretty;
	}
	.formato a:not(.btn):hover{text-decoration: underline;}
	.formato ul ul{margin-left: 20px;}
	p:last-child{margin-bottom: 0;}
	p a:hover, .formato a:hover{text-decoration: underline;}
	.formato blockquote{
		border-left: 3px solid var(--col1);
		padding-left: 30px;
		margin-bottom: 20px;
	}
	.formato table{width: 100%; margin-bottom: 30px; border-collapse: initial;}
	.formato table td{
		padding: 8px 11px;
		background-color: rgba(0,0,0,0.05);
		font-size: 15px;
	}
	.formato thead td{background-color: var(--col0); color: var(--col6);}
	.w, .pw *{color: var(--col6);}
	.fs0{font-size: var(--fs0); line-height: 1.0;}
	.fs1{font-size: var(--fs1); line-height: 1.1;}
	.fs2{font-size: var(--fs2); line-height: 1.2;}
	.fs3{font-size: var(--fs3); line-height: 1.2;}
	.fs4{font-size: var(--fs4); line-height: 1.3;}
	.fs5{font-size: var(--fs5); line-height: 1.4;}
	.fs6{font-size: var(--fs6); line-height: 1.4;}
	.fs7{font-size: var(--fs7); line-height: 1.4;}

/*  --------------- FORMULARIOS ---------------  */
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="date"],
	input[type="number"],
	input[type="tel"],
	textarea,
	select,
	.form-control,
	select.form-control,
	.form-control-select,
	.form-select
	{
		padding: 15px 20px;
		font-size: 15px;
		font-weight: 400;
		border: none;
		background-color: var(--col5);
		border-radius: 3px;
	}
	*[readonly], *[disabled]{
		opacity: 0.7;
		cursor: not-allowed;
	}
	input[type="checkbox"], input[type="radio"]{width: auto; margin-right: 5px;}
	label:not(:has(input[type="checkbox"])){
		display: block;
		font-size: var(--fs6);
		margin-bottom: 5px;
	}
	/*label:has(input[type="radio"]):not(:has(img)),
	label:has(input[type="checkbox"]):not(:has(img)){display: flex; align-items: center; gap: 5px;} */
	label:has(input[type="radio"]):not(:has(img)) input,
	label:has(input[type="checkbox"]):not(:has(img)) input{display: none;}
	label:has(input[type="radio"]):not(:has(img)):before,
	label:has(input[type="checkbox"]):not(:has(img)):before{
		content: "\f00c";
		font-family: "FontAwesome";
		height: 16px;
		aspect-ratio: 1/1;
		background-color: var(--col5);
		border: 1px solid var(--col1);
		display: flex;
		align-items: center;
  		justify-content: center;
		border-radius: 50%;
		cursor: pointer;
		color: transparent;
		font-size: 10px;
		text-align: center;
		float: left;
		margin-right: 5px;
	}
	label:has(input[type="checkbox"]):not(:has(img)):before{border-radius: 0;}
	label:has(input[type="radio"]:checked):not(:has(img)):before,
	label:has(input[type="checkbox"]:checked):not(:has(img)):before{background-color: var(--col1); color: var(--col6);}
	.opcap input{
	    display: inline-block;
	    width: 60px !important;
	    padding: 15px;
	    margin-left: 5px;
	}
	*::placeholder{color: inherit; opacity: 0.5;}
	input, select, textarea{font-family: inherit; margin: 0; width: 100%;}
	button{font-family: inherit; margin: 0;}
	select{
		-moz-appearance:none;
		-webkit-appearance:none;
		background-image: url('/images/estructura/bg_select.svg');
		background-repeat: no-repeat;
		background-position: center right 15px;
		background-size: 15px;
		padding-right: 40px;
	}
	textarea{resize: vertical;}
	textarea:focus, input:focus{box-shadow: none !important;}

	/* RSFORM */
	form .formContainer{gap: 20px; display: flex; flex-direction: column;}
	form .formRow{display: grid; gap: inherit;}
	form .formRow:has(.formSpan6){grid-template-columns: repeat(2, 1fr);}
	form .formRow:has(.formSpan4){grid-template-columns: repeat(3, 1fr);}
	form .formRow:has(.formSpan3){grid-template-columns: repeat(4, 1fr);}
	form .formRow > div{display: flex; flex-direction: column; gap: inherit;}
	.xdsoft_datetimepicker{padding-top: 10px !important; font-family: var(--font1) !important; min-width: 100%;}
	.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current, 
	.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default, 
	.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current{background: var(--col1) !important; box-shadow: none !important;}
	.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color: var(--col1) !important; font-weight: bold;}
	.xdsoft_datetimepicker .xdsoft_calendar table td:hover, 
	.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_time:hover{background: var(--col0) !important; color: var(--col6) !important;}
	.xdsoft_datetimepicker .xdsoft_year{width: 54px !important;}
	.xdsoft_datetimepicker .xdsoft_mounthpicker > *{z-index: 5 !important;}

	form .formBody:has(label > img){display: flex; flex-wrap: wrap; gap: 20px;}
	form .formBody:has(label > img) .formValidation,
	form .rsform-type-submitbutton .formBody .formValidation, 
	form .rsform-type-submitbutton .formBody .formDescription{width: 100%;}
	form .formBody label:has(img){
		flex: 1 1 25%; 
		cursor: pointer;
		padding: 30px;
		margin-block: 0;
		border: 1px solid rgba(0,0,0,0.1);
		background-color: rgba(0,0,0,0.05);
		text-align: center;
	}
	form .formBody label img{max-width: 80px;}
	form .formBody label:has(img) > span{
		display: block; 
		text-align: center;
		font-size: var(--fs6);
		margin-top: 5px;
	}
	form .formBody label:has(img):has(input:checked){background-color: var(--col1); border-color: var(--col1);}
	form .formBody label:has(img):has(input:checked) img{filter: invert(1) brightness(99);}
	form .formBody label:has(img):has(input:checked) span{color: var(--col6);}

	form .rsform-type-pagebreak .formBody{display: flex; justify-content: flex-end;}
	form .rsform-type-pagebreak .formBody:has(:nth-child(2)), form .rsform-type-submitbutton .formBody:has(.rsform-button-prev){
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.rsformProgress{font-size: var(--fs5) !important;}

	fieldset{border-width: 2px 0 0 0; border-color: var(--col0);}
	form fieldset:not(:last-child){margin-bottom: 60px;}
	fieldset legend{padding-right: 20px; margin-bottom: 15px;}

/*  --------------- LAUNCH ---------------  */
	header .launch{
		cursor: pointer;
		height: 25px;
		width: 35px;
		position: relative;
		z-index: 101;
	}
	header .launch span{
		background-color: var(--col1);
		display: block;
		height: 3px;
		left: 0;
		width: 100%;
		position: absolute;
		opacity: 1;
		-webkit-transition:all 0.3s ease-in-out;
		transition:all 0.3s ease-in-out;
	}
	header .launch span:nth-child(1){top: 0;}
	header .launch span:nth-child(2){top: 10px;}
	header .launch span:nth-child(3){top: 10px;}
	header .launch span:nth-child(4){top: 20px;}
	.sidr-open header .launch span:nth-child(1), body.open header .launch span:nth-child(1){top: 18px; left: 50%; width: 0;}
	.sidr-open header .launch span:nth-child(2), body.open header .launch span:nth-child(2){transform: rotate(45deg); -webkit-transform: rotate(45deg);}
	.sidr-open header .launch span:nth-child(3), body.open header .launch span:nth-child(3){transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
	.sidr-open header .launch span:nth-child(4), body.open header .launch span:nth-child(4){top: 18px; left: 50%; width: 0;}
	.sidr{
		display: none;
		position: fixed;
		top: 0;
		height: 100%;
		z-index: 999;
		width: 250px;
		overflow-x: none;
		overflow-y: auto;
		background-color: var(--col0);
		color: var(--col6);
		box-shadow: inset 0 0 10px rgba(0,0,0,0.25);
	}
	.sidr.right{left: auto; right: -260px;}
	.sidr.left{left: -260px; right:auto;}
	.sidr .nav li a, 
	.sidr .nav li span{
		color: var(--col6); 
		display: block; 
		line-height: 1.2;
		padding: 15px 20px;
	}
	.sidr .nav li a:hover, .sidr .nav li a:active, .sidr .nav li a:focus{background-color: var(--col1);}
	.sidr .nav li{display: block; border-bottom: 1px solid rgba(255,255,255,0.2); position: relative;}
	.sidr .nav li > i[data-switch]{
		position: absolute;
		top: 0;
		right: 0;
		background-color: rgba(255,255,255,0.2);
		width: 49px;
		aspect-ratio: 1/1;
		text-align: center;
		line-height: 49px;
		color: var(--col6);
	}
	.sidr .nav li ul{display: none; background-color: rgba(255,255,255,0.2);}
	.sidr .nav li ul li a{padding-left: 40px; padding-left: 25px; font-size: 14px;}
	.sidr-open .sticky-wrapper > *{left: inherit;}

/*  --------------- COOKIES ---------------  */
	.cookies{
		background-color: rgba(0,0,0,0.7);
		position: fixed;
		inset: 0;
		z-index: 99;
		height: 100dvh;
		width: 100%;
		backdrop-filter: blur(5px) grayscale(0.5);
		display: none;
	}
	.cookies p{margin: 0; padding: 0; font-size: 16px; line-height: 1.5;}
	.cookies .btn{flex-grow: 1; text-align: center;}
	body.notfound .cookies{display: none;}

/*  --------------- ALERTAS ---------------  */
	#system-message-container{
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10;
		bottom: 0;
		right: 0;
		backdrop-filter: blur(5px) grayscale(0.5);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background-color: rgba(0,0,0,0.3);
	}
	#system-message-container .alert, .rsfp_thankyou_popup_outer .rsfp_thankyou_popup_inner{
		padding: 20px;
		border: none;
		margin-bottom: 20px;
		z-index: 10;
		width: 640px;
		max-width: 100%;
		box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06), 0 0 100px rgba(0,0,0,0.5);
		border-top: 4px solid;
		border-color: currentColor;
		animation-duration: 1s;
		transition-timing-function: ease-in-out;
	}
	.alert .msg{align-self: center; line-height: 1.4; text-wrap: pretty;}
	.alert svg{
		width: 24px;
		height: 24px;
		fill: currentColor;
	}
	.alert-success, .rsfp_thankyou_popup_outer .rsfp_thankyou_popup_inner{background-color: #e1f4e8; color: #16a34a;}
	.rsfp_thankyou_popup_outer .rsfp_thankyou_popup_inner p{margin: 0;}
	.alert-info{background-color: #dff0f8; color: #0284c7;}
	.alert-warning{background-color: #fdf6e0; color: #eab308;}
	.alert-danger{background-color: #fbe3e3; color: #dc2626;}
	.alert .close i{cursor: pointer;}
	.alert .close i:hover{opacity: 0.7;}
	.rsfp_thankyou_popup_outer .rsfp_thankou_popup_close_btn{right: 12px; line-height: 1;}

/*  --------------- POPUP ---------------  */
	.popup{
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		background-color: var(--col6);
		padding: 30px;
		display: none;
		z-index: 100;
	}
	.popup > i{
		position: absolute;
		top: -40px;
		right: -40px;
		color: var(--col6);
		font-size: 32px;
		cursor: pointer;
	}
	.popup > div{display: none;}
	.popupoverlay{
		position: fixed;
		cursor: pointer;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: opacity .3s ease-out;
		opacity: 0;
		background-image: radial-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.7));
		z-index: 100;
		display: none;
		animation-name: fadeIn;
		animation-duration: 0.3s;
		animation-fill-mode: both;
	}
	.popupoverlay.open{display: block;}
	.popup.open{display: block;}
	.lpopup{cursor: pointer;}

/*  --------------- SWIPER ---------------  */
	.swiper-pagination-bullet-active{background-color: var(--col1);}
	.w .swiper-pagination-bullet{background-color: var(--col6);}
	.swiper-pagination-bullet{width: 12px; height: 12px;}
	.swiper[effect="fade"] .swiper-slide:not(.swiper-slide-visible){opacity: 0 !important;}
	.swiper-pagination-fraction{bottom: auto; top: auto; position: relative; transform: none; left: auto;}
	.swiper[form="true"] .swiper-button-disabled{opacity: 0; transition: opacity 0s;}
	.swiper-pagination-progressbar{top: auto !important; bottom: -1px; background-color: rgba(0,0,0,0.5); padding: 5px;}
	.swiper-pagination-progressbar-fill{background-color: var(--col1) !important;}
	.swiper-navigation.middle{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		z-index: 1;
		transform: translate(-50%, -50%);
		pointer-events: none;
	}
	.rel:has(.pd60-0.pd-nt) .swiper-navigation.middle{top: calc(50% - 30px);}
	.rel > .swiper-navigation.middle{width: calc(100% + 170px);}
	.swiper-navigation i.fa{
		background-color: rgba(0,0,0,0.07);
		aspect-ratio: 1/1;
		width: 50px;
		text-align: center;
		border-radius: 50%;
		cursor: pointer;
		color: var(--col0);
		pointer-events: auto;
	}
	.swiper-navigation i.fa:hover{background-color: var(--col0); color: var(--col6);}
	.swiper-navigation.w i.fa{background-color: rgba(255,255,255,0.8); color: var(--col1);}
	.swiper-navigation.w i.fa:hover{background-color: var(--col6);}
	@media screen and (min-width: 451px)
	{
		.swiper-pagination-bullet:has(img){
			background-color: transparent;
			width: 80px;
			height: auto !important;
			aspect-ratio: 1/1;
			border: 1px solid var(--col5);
			border-radius: 0;
			opacity: 1;
			margin: 5px !important;
		}
		.swiper-pagination-bullet-active:has(img){border-color: var(--col1);}
	}

/*  --------------- PAGINATION ---------------  */
	ul.pagination{display: flex; justify-content: center; gap: 5px; flex-flow: row wrap;}
	ul.pagination li{list-style: none;}
	ul.pagination li > *{
		color: var(--col0);
		background-color: var(--col5);
		aspect-ratio: 1/1;
		width: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 500;
	}
	ul.pagination li.active > *{
		color: var(--col6);
		background-color: var(--col1);
	}
	ul.pagination li:not(.active):not(.disabled) > *:hover{
		background-color: var(--col0);
		color: var(--col6);
	}
	ul.pagination li.disabled{opacity: 0.2;}
/*  --------------- ANIMACIONES ---------------  */
	.wow{animation-duration: 1.7s; transition-timing-function: ease-in-out;}
	.forwards{animation-fill-mode: forwards; opacity: 0;}
	.delay1{animation-delay: calc(1.7s / 4);}
	.delay2{animation-delay: calc((1.7s / 4) * 2);}
	.delay3{animation-delay: calc((1.7s / 4) * 3);}
	.delay4{animation-delay: 1.7s;}
	.vkLeft{animation-name: vkLeft;}
	.vkRight{animation-name: vkRight;}
	.vkTop{animation-name: vkTop;}
	.vkBot{animation-name: vkBot;}
	.vkFade{animation-name: vkFade;}
	.vkZoomOut{animation-name: vkZoomOut;}
	.vkZoomIn{animation-name: vkZoomIn;}
	@keyframes vkLeft {
	  0% {opacity: 0; transform: translateX(100px);}
	  100% {opacity: 1; transform: translateX(0px);}
	}
	@keyframes vkRight {
	  0% {opacity: 0; transform: translateX(-100px);}
	  100% {opacity: 1; transform: translateX(0px);}
	}
	@keyframes vkTop {
	  0% {opacity: 0; transform: translateY(100px);}
	  100% {opacity: 1; transform: translateY(0px);}
	}
	@keyframes vkBot {
	  0% {opacity: 0; transform: translateY(-100px);}
	  100% {opacity: 1; transform: translateY(0px);}
	}
	@keyframes vkFade {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
	@keyframes vkZoomOut {
		0% {transform: scale(1.1);}
		100% {transform: scale(1);}
	}
	@keyframes vkZoomIn {
		0% {transform: scale(1);}
		100% {transform: scale(1.1);}
	}

/*  --------------- FIX BUTTONS ---------------  */
	.fixbuttons{
		position: fixed;
		bottom: 20px;
		right: 20px;
		z-index: 9;
	}
	.fixbuttons .ico{
		width: 60px;
		aspect-ratio: 1/1;
		border-radius: 50%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 10px;
		cursor: pointer;
		box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
	}
	.fixbuttons .ico:hover{
		filter: grayscale(0.3);
	}
	.fixbuttons .btn{
		height: 100%;
		border-radius: 999px;
	}

/*  --------------- HEADER ---------------  */
	.is-sticky > header, body:not(.home) header{
		background-color: var(--col6) !important; 
		filter: drop-shadow(0 0 20px rgba(0,0,0,0.15));
	}
	header{
		position: relative;
		z-index: 10 !important;
		transition: all 0.3s ease-in-out;
	}
	body.home header{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		background-color: transparent;
	}
	body.home #sticky-wrapper{height: auto !important;}

	body.home #sticky-wrapper:not(.is-sticky) header nav > ul li > :not(ul){
		color: var(--col6);
	}

	.logo, .logo img{display: block;}

	header#header{position: relative; z-index: 10 !important; box-shadow: 0 0 40px rgba(0,0,0,0.2);}
	header .logo > *{
		width: 120px;
	}
	header .r svg{
		width: 25px;
		height: 25px;
		fill: var(--col0);
	}
	header .r a:hover svg{fill: var(--col1);}

	header nav > ul{display: flex; gap: 30px;}
	header nav, header nav > ul{height: 100%;}
	header nav ul li{list-style: none; position: relative;}
	header nav > ul li > :not(ul) {
		height: 100%;
		display: flex;
		align-content: center;
		align-items: center;
		position: relative;
		font-family: var(--font2);
		font-weight: bold;
		font-size: var(--fs4);
		color: var(--col0);
	}
	header nav > ul li > :not(ul):hover{color: var(--col1) !important;}
	header nav > ul li > ul {
		opacity: 0;
		pointer-events: none;
		display: flex;
		flex-direction: column;
		gap: 15px;
		position: absolute;
		background-color: var(--col6);
		left: 0;
		z-index: 5;
		text-align: left;
		padding: 30px;
		box-shadow: 0 25px 20px rgba(0,0,0,.15);
		transition: all 0.3s ease-in-out;
		border-top: 1px solid rgba(0,0,0,0.05);
	}
	header nav > ul li:hover > ul{opacity: 1; pointer-events: initial;}
	header nav > ul li > ul li > * {
		white-space: nowrap;
		color: var(--col0);
	}
	header .logo{
		position: absolute;
		top: 0;
		left: 30px;
		z-index: 1;
		background-color: var(--col6);
		aspect-ratio: 1/1;
		width: 140px;
		padding: 20px;
		border-radius: 0 0 999px 999px;
	}

/*  --------------- FOOTER ---------------  */
	footer.page-footer{margin: 0;}
	footer .logo img{
		max-width: 250px;
	}

	footer .copyright nav{
		border-top: 1px solid rgba(255,255,255,0.1);
	}

	footer nav ul li.parent i.responsive{display: none;}
	footer nav ul li ul, footer nav ul li span.fa{display: none;}
	footer nav ul li.divider ul{margin-bottom: 20px; padding-left: 20px; display: block;}
	footer nav ul li, footer address ul li{
		list-style-type: none;
		margin-block: 10px;
	}
	footer nav.moduletable ul li{list-style: inside; color: var(--col1);}
	footer nav ul li a, footer address ul li a, footer nav ul li span.separator{
		color: var(--col6);
		opacity: 0.4;
		transition: all 0.3s ease-in-out;
	}
	footer nav ul li a:hover, footer address ul li a:hover{
		transition: none;
		opacity: 1;
	}
	footer .social ul{
		display: flex;
		gap: 10px;
	}

	footer .social li{list-style-type: none;}
	footer .social li a{display: block;}
	footer .social i{
		aspect-ratio: 1/1;
		width: 40px;
		background-color: var(--col1);
		color: var(--col6);
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	footer .social a:hover i{background-color: var(--col6); color: var(--col1);}

/*  --------------- PAGEHEADER ---------------  */
	.pageheader picture{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0.5;
	}

	/* BREADCRUMB */
	.breadcrumb{margin-top: 15px;}
	.breadcrumb li.mod-breadcrumbs__divider{display: none;}
	.breadcrumb li{display: inline-block;}
	.breadcrumb li:not(:last-child):after{
		content: "▪";
		/* content: "●"; */
		color: var(--col1);
		margin: 0 10px;
	}
	.breadcrumb li > *{font-size: var(--fs6); color: var(--col);}
	.breadcrumb li > a:hover{color: var(--col1);}
	.breadcrumb li > span{color: var(--col0);}
	.pw .breadcrumb li > span{color: var(--col6);}

	/* BREADCRUMBS PS */
	/* .breadcrumb ol{text-align: center;}
	.breadcrumb ol li{display: inline-block !important;}
	.breadcrumb ol li:not(:last-child):after{
		content: "\f0da" !important;
		font-family: "FontAwesome";
		color: var(--col1) !important;
		margin: 0 5px !important;
	}
	.breadcrumb ol li span{
		text-transform: uppercase;
		font-weight: 500;
		letter-spacing: 1px;
		font-size: 13px;
		opacity: 0.6;
	}
	.breadcrumb ol li a:hover span{opacity: 1;} */

/*  --------------- FILTER ---------------  */
	.jfilters-filter-container{padding: 0; border: none;}
	.jfilters-filter-header__toggle{
		pointer-events: none;
		font-size: var(--fs6);
		font-weight: normal;
	}
	.jfilters-filter-header__toggle span{display: none;}
	.jfilters-filter-list__item{list-style: none; margin-bottom: 5px;}
	.jfilters-filter-list__item .tit{color: var(--col0); font-weight: 400; font-size: var(--fs7);}
	.jfilters-filter-list__item i.fa{
		width: 18px;
		aspect-ratio: 1/1;
		border: 1px solid var(--col0);
		line-height: 1;
		margin-right: 5px;
		font-size: 14px;
		text-decoration: none;
		color: transparent;
	}
	.jfilters-item-link:hover{text-decoration: initial;}
	.jfilters-item-link:hover span.tit{text-decoration: underline;}
	.jfilters-item-link--selected i.fa{color: var(--col6); background-color: var(--col0);}
	.jfilters-item-link--dummy-input::before{content: none;}
	.jfilters-filter-list .jfilters-filter-list{margin-bottom: 20px; margin-top: 5px;}
	.jfilters-filter-range-sliders__slider_bckgr{background-color: var(--col1);}
	.jfilters-filter-range-sliders{
		--knob-background: var(--col0);
		--knob-focus-color: var(--col0);
	}
	.jfilters-filter-range-sliders__knob::-moz-range-thumb:hover,
	.jfilters-filter-range-sliders__knob::-moz-range-thumb:focus,
	.jfilters-filter-range-sliders__knob::-webkit-slider-thumb:hover,
	.jfilters-filter-range-sliders__knob::-webkit-slider-thumb:focus{
		box-shadow: none;
	}
	.jfilters-filter-container__inner{margin: 0; padding: 0;}
	.jfilters-filter-range-sliders__container{width: 100%; margin: 0;}
	.jfilters-filter-range_inputs__input{padding: 10px 15px !important;}

/*  --------------- HOME ---------------  */

	/* PORTADA */
	section.portada{
		position: relative;
		height: 100dvh;
		overflow: hidden;
	}
	section.portada .video{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 0;
		background-color: var(--col0);
	}
	section.portada .video video {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		opacity: 0.7;
		pointer-events: none;
	}
	section.portada h1 span{font-weight: bold;}
	section.portada .more{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		text-align: center;
		padding: 60px;
		opacity: 0;
		z-index: 1;
		animation: fadeIn 1.7s cubic-bezier(0.165, 0.84, 0.44, 1) 1.7s forwards;
	}
	section.portada .more .mouse{
		width: 24px;
		height: 40px;
		border: 2px solid var(--col6);
		display: inline-block;
		border-radius: 30px;
		text-align: center;
		padding-top: 5px;
		cursor: pointer;
		position: relative;
		z-index: 1;
	}
	section.portada .more .mouse span{
		width: 4px;
		height: 7px;
		background-color: var(--col6);
		display: inline-block;
		border-radius: 6px;
	}
	section.portada .more .mouse:hover{background-color: var(--col6);}
	section.portada .more .mouse:hover span{background-color: var(--col1);}

/*  --------------- TATTOO MINIATURE ---------------  */
	.tattoos article picture{background-color: var(--col6); transition: background-color 0.3s ease-in-out;}
	.tattoos article picture img{aspect-ratio: 3/4; transition: transform 0.3s ease-in-out !important; mix-blend-mode: multiply;}
	.tattoos .subcats article .tit{
		position: absolute;
		top: 0;
		left: 0;
		color: var(--col6);
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.6);
		text-align: center;
	}
	.tattoos article a:hover picture{background-color: var(--col1);}
	.tattoos article a:hover picture img{transform: scale(1.1) !important;}
	.tattoos .g4 > div:nth-child(8n - 6) .vkTop{animation-delay: 0.1s;}
	.tattoos .g4 > div:nth-child(8n - 5) .vkTop{animation-delay: 0.15s;}
	.tattoos .g4 > div:nth-child(8n - 4) .vkTop{animation-delay:  0.2s;}
	.tattoos .g4 > div:nth-child(8n - 3) .vkTop{animation-delay: 0.2s;}
	.tattoos .g4 > div:nth-child(8n - 2) .vkTop{animation-delay: 0.15s;}
	.tattoos .g4 > div:nth-child(8n - 1) .vkTop{animation-delay:  0.1s;}

	.tattoos .g3 > div:nth-child(6n - 4) .vkTop{animation-delay:  0.2s;}
	.tattoos .g3 > div:nth-child(6n - 3) .vkTop{animation-delay: 0.2s;}
	.tattoos .g3 > div:nth-child(6n - 2) .vkTop{animation-delay: 0.15s;}
	.tattoos .g3 > div:nth-child(6n - 1) .vkTop{animation-delay:  0.1s;}

/*  --------------- FILTERS ---------------  */
	.mod-jfilters_filters{display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: flex-start; gap: 20px;}
	.jfilters-filter-header, .jfilters-item-link--clear{display: none;}
	.jfilters-filter-container{border: none; padding: 0;}