/****ADMIN COLORS PRESETS****/
.has-petrol-background-color{ background-color: var(--petrol) !important; }
.has-petrol-color{ color: var(--petrol) !important; }
.has-green-background-color{ background-color: var(--verde) !important; }
.has-green-color{ color: var(--verde) !important; }
.has-black-background-color{ background-color: var(--black) !important; }
.has-black-color{ color: var(--black) !important; }
.has-gris-background-color{ background-color: var(--gris) !important; }
.has-gris-color{ color: var(--gris) !important; }
.has-light-background-color{ background-color: var(--light) !important; }
.has-light-color{ color: var(--light) !important; }
.has-white-background-color{ background-color: var(--white) !important; }
.has-white-color{ color: var(--white) !important; }
.has-border-background-color{ background-color: var(--border) !important; }
.has-border-color{ color: var(--border) !important; }
.has-gradient-background-color{ background: var(--gradient) !important; }

main{
}

*{
	scroll-margin-top: var(--header-height);
}

.page-load-status{
	display: none;
}

/****************************************** FORM ***************************************/

.wpcf7-spinner{
	position: absolute;
	right: 15px;
	top: calc(50% - 12px);
	margin: 0 8px;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item{
	margin: 0;
}

.wpcf7-form-control.wpcf7-acceptance .form-checkbox{
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	margin-top: .175em;
	vertical-align: top;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFF' viewBox='0 0 16 16'%3E%3Cpath d='M1,8.604l1.75-1.75,3.097,3.097,7.403-7.403,1.75,1.75L5.847,13.451,1,8.604Z'/%3E%3C/svg%3E"); 
	background-repeat: no-repeat;
	background-position: center;
	background-size: .88889rem;
	border: 1px solid var(--gris);
	border-radius: 4px;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	print-color-adjust: exact;
}

.wpcf7-form-control.wpcf7-acceptance .form-checkbox:hover{
	border-color: var(--black);
}

.wpcf7-form-control.wpcf7-acceptance .form-checkbox:checked{
	background-color: var(--white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3E%3Cpath d='M1,8.604l1.75-1.75,3.097,3.097,7.403-7.403,1.75,1.75L5.847,13.451,1,8.604Z'/%3E%3C/svg%3E"); 
	border-color: var(--black);
}
.wpcf7-not-valid-tip{
	font-size: .8889rem;
}

.form-file .file-input::file-selector-button {
	width: 2.5rem;
	height: 2.5rem;
	border: 0 none;
	background-color: transparent;
	font-size: 0;
	text-indent: -9999px;
	background-image: url(../../images/icon-attach.svg);
	background-position: center;
	background-size: cover;
	cursor: pointer;
}


/****************************************** UTILITARIOS ***************************************/

.border-gold {
	border: .75rem solid transparent; /* Set a transparent border to reserve space */
	border-image: linear-gradient(to right, #a87d2c, #faea79, #d1b350, #faea79, #ba9538); /* Apply the gradient */
	border-image-slice: 1; /* Specifies the border region (use 1 for simple gradients) */
	border-right: 0 none;
	border-left: 0 none;
}
.tittle_tag{
	background-color: var(--light);
	border: 1px solid var(--border);
	color: var(--black);
	align-items: center;
	font-size: .88889rem;
	font-weight: 600;
	line-height: 1;
	gap: .5rem;
	padding: .75rem 1rem;
	border-radius: 50em;
}
.tittle_tag svg{
	width: 1rem;
	height: 1rem;
}

/****************************************** SWIPER ***************************************/

.swiper-button-prev,
.swiper-button-next{
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background-color: rgba(255,255,255,.5);
	border: 1px solid transparent;
	color: var(--black);
}
.swiper-button-next:after, .swiper-button-prev:after{
	display: none;
}
.swiper-button-next svg, .swiper-button-prev svg{
	width: 70%;
}

.swiper-button-prev:hover,
.swiper-button-next:hover{
	background-color: var(--white);
	border-color: var(--border);
}

/****************************************** HEADER ***************************************/

.site_header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header-height);
	z-index: 999;
	color: var(--white);
	transition: background .3s ease;
}

body.scrolled .site_header{
	background-color: var(--white);
	-webkit-box-shadow: 0 1px 15px 0 rgba(0,0,0,.1);
	box-shadow: 0 1px 15px 0 rgba(0,0,0,.1);
	color: var(--black);
}

.site_header_brand{
	max-width: 9rem;
}

body.scrolled .site_header_brand .logo_white,
.site_header_brand .logo_green{
	display: none;
}
body.scrolled .site_header_brand .logo_green{
	display: block;
}

.sub-menu,
.main_menu{
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2.5rem;
}

.main_menu a{
	display: block;
	font-weight: 600;
	font-size: 1.1111rem;
	text-decoration: none;
	padding: .25rem 0;
	color: inherit;
}
.main_menu >li.current-menu-item>a,
.main_menu >li>a:hover{
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
}

.sub-menu{
	position: absolute;
	display: none;
	background-color: rgba(0,0,0,.8);
	gap: 0;
	top: 100%;
	left: -.5rem;
}
li.menu-item-has-children.active >.sub-menu{
	display: block;
}
.sub-menu a{
	display: block;
	white-space: nowrap;
	font-size: 1rem;
	padding: .25rem .75rem .25rem .5rem;
	color: var(--white);
}
.sub-menu a:hover{
	background-color: var(--black);
}

.cta_menu a{
	display: inline-flex;
	font-weight: 600;
	font-size: .88889rem;
	color: var(--white);
	background-color: var(--black);
	align-items: center;
	text-align: center;
	padding: .5rem 2rem;
	border-radius: 50em;
	text-decoration: none;
	line-height: 1.2;
	transition: box-shadow .3s ease;
}
.cta_menu a:hover{
	text-decoration: none;
	background-color: var(--black);
	box-shadow: 0 0 0 2px var(--black, var(--black));
}

li.menu-item-has-children{
	position: relative;
	padding-right: 1.25rem;
}
li.menu-item-has-children::before{
	content: '';
	display: block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M0,4.9l1.8-1.8,6.2,6.2,6.2-6.2,1.8,1.8-8,8L0,4.9Z'/%3E%3C/svg%3E");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	top: .5rem;
	right: 0;
}

body.scrolled li.menu-item-has-children::before{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000000' viewBox='0 0 16 16'%3E%3Cpath d='M0,4.9l1.8-1.8,6.2,6.2,6.2-6.2,1.8,1.8-8,8L0,4.9Z'/%3E%3C/svg%3E");
}

/****************************************** SECTION HERO SLIDER ***************************************/

.block_swiper_hero .swiper_hero{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.block_swiper_hero .block_content{
	min-height: 100vh;
	position: relative;
	z-index: 2;
	padding-top: var(--header-height);
}
.block_pagination{
	position: absolute;
	z-index: 2;
	right: 3rem;
	bottom: 3rem;
	width: calc(var(--col)* 3 - 30px);
	background-color: rgba(255,255,255,.3);
	border-radius: 1rem;
	padding: .75rem;
}
.block_pagination .swiper-slide{
	max-height: 156px;
	cursor: pointer;
}

.block_pagination .swiper-slide img{
	border-radius: .75rem;
}

.block_pagination .swiper-slide-thumb-active img{
	border: 4px solid var(--white);
	filter: brightness(120%);
}

/****************************************** SERVICES ***************************************/

.swiper_services{
	margin-right: calc((100vw - (var(--container) - 15px)) / -2);
	padding-right: calc((100vw - (var(--container) - 15px)) / 2);
	margin-left: calc((100vw - (var(--container) - 30px)) / -2);
	padding-left: calc((100vw - (var(--container) - 30px)) / 2);
}

.swiper_services .swiper-slide{
	width: calc(var(--col)*4.9 - 30px);
}

.swiper_services .swiper-slide:nth-child(even){
	margin-top: 8rem;
}
.block_services .swiper-button-next{
	margin-right: calc((100vw - var(--container) - 30px) / -2);
}

/****************************************** CARD ***************************************/

.card_service .card_title::before{
	content: '⎯⎯';
	display: inline-block;
	font-weight: 600;
	font-size: 1.35em;
	letter-spacing: -1px;
	margin-right: .45rem
}

.card_rating{
	gap: .35rem;
	line-height: 1;
}
.card_rating svg{
	width: 1rem;
	height: 1rem;
	fill: rgba(0,0,0,.2);
}

.card_rating.rate1 svg.rate1{ fill: #FF5F5F; }

.card_rating.rate2 svg.rate1,
.card_rating.rate2 svg.rate2{ fill: #FF5F5F; }

.card_rating.rate3 svg.rate1,
.card_rating.rate3 svg.rate2,
.card_rating.rate3 svg.rate3{ fill: #FF5F5F; }

.card_rating.rate4 svg.rate1,
.card_rating.rate4 svg.rate2,
.card_rating.rate4 svg.rate3,
.card_rating.rate4 svg.rate4{ fill: #FF5F5F; }

.card_rating.rate5 >svg{fill: #FF5F5F; }

.card_portrait{
	width: calc(var(--col)*2 - 30px);
}

/****************************************** TESTIMONIALS ***************************************/

.testimonials_title{
	font-size: 9vw;
	letter-spacing: -2px;
	opacity: .3;
}

.testimonials-prev, .testimonials-next{
	position: static;
	margin: 0;
	background-color: var(--light);
}

.card_testimonial .card_content blockquote{
	background-image: url("../../images/quote.svg");
	background-position: top left;
	background-repeat: no-repeat;
	padding: 1.5rem;
	line-height: 1.6;
}

/****************************************** BLOCK HEADER  ***************************************/

.block_page_header .block_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--gradient);
}
.block_page_header .block_content{
	min-height: 32vw;
	position: relative;
	z-index: 2;
	padding-top: calc(var(--header-height) + 3rem);
}
.block_page_header .block_title{
	font-size: 7rem;
}
/****************************************** BLOCK GALLERY ***************************************/
.block_gallery .block_item{
	height: 186px;
}
.block_gallery .block_item img{
	cursor: pointer;
	transition: opacity .3s ease;
}
.block_gallery .block_item:hover img{
	opacity: .6;
}

.block_gallery .block_item.item1,
.block_gallery .block_item.item2,
.block_gallery .block_item.item7,
.block_gallery .block_item.item8{
	min-width: 32%;
}
.block_gallery .block_item.item3,
.block_gallery .block_item.item4,
.block_gallery .block_item.item5,
.block_gallery .block_item.item6{
	min-width: 18%;
}

.lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 99999;
}
.lightbox img {
	max-width: 80vw;
	max-height: 80vh;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.lightbox figure{
	margin-bottom: 0;
}
.lightbox #lightbox-caption{
	background-color: transparent;
	color: white;
	padding: .5rem 1rem;
}
.lightbox.visible {
	visibility: visible;
	opacity: 1;
}
.close {
	position: absolute;
	font-size: 2.5rem;
	color: white;
	text-decoration: none;
	font-weight: 400;
	cursor: pointer;
	top: 20px;
	right: 20px;
	z-index: 99999;
	line-height: 1;
}
/****************************************** PAGE ***************************************/

.siliconesealant{
	display: none !important;
}
/****************************************** BLOG ***************************************/

.card_blog{
	border-bottom: 1px solid var(--black);
}
/****************************************** FOOTER ***************************************/

.site_footer a{
	color: inherit;
}

.site_footer_brand{
	max-width: 13rem;
}

.footer_title{
	opacity: .6;
	font-weight: 600;
	font-size: 1rem;
}

.footer_menu{
	list-style: none;
	margin: 0;
	padding: 0;
}

.rrss_links{
	gap: .5rem;
	justify-content: space-between;
}
.rrss_links .rrss_link{
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.42);
	color: var(--white);
	background-color: transparent;
	transition: border .3s ease;
}
.rrss_links .rrss_link svg{
	width: 1.2222rem;
	height: 1.2222rem;
}

.rrss_links .rrss_link:hover{
	border-color: var(--white);
}

/****************************************** RESPONSIVE ***************************************/

@media only screen and (max-width: 1399px){

	.block_pagination .swiper-slide{
		max-height: 105px;
	}
	.block_pagination{
		width: calc(var(--col) * 2.5 - 30px);
	}

	.testimonials_title{
		font-size: 12vw;
	}
	.block_gallery .block_item{
		height: 170px;
	}
}

@media only screen and (max-width: 1199px){

	.site_header.show{
		background-color: var(--white);
	}
	.site_header.show .site_header_brand .logo_white{
		display: none;
	}
	.site_header.show .site_header_brand .logo_green{
		display: block;
	}

	.site_header_nav{
		display: none;
		position: fixed;
		top: var(--header-height);
		left: 0;
		width: 100%;
		height: calc(100vh - var(--header-height));
		z-index: 999;
		padding: 1.5rem 0;
		background-color: var(--white);
		border-top: 1px solid var(--border);
		color: var(--black);
		overflow: hidden;
		overflow-y: auto;
	}
	.site_header.show .site_header_nav{
		display: block;
	}
	.main_menu{
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	li.menu-item-has-children{
		padding-right: 0;
	}
	li.menu-item-has-children::before{
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000000' viewBox='0 0 16 16'%3E%3Cpath d='M0,4.9l1.8-1.8,6.2,6.2,6.2-6.2,1.8,1.8-8,8L0,4.9Z'/%3E%3C/svg%3E");
		top: .75rem;
		right: 1rem;
	}
	.main_menu>li{
		border-bottom: 1px solid var(--border);
	}
	.main_menu a{
		padding: .5rem 1.5rem;
	}
	.submenu{
		position: static;
		background-color: var(--light);
		padding: .5rem 0;
	}
	.submenu a{
		color: var(--black);
		padding: .25rem 1.5rem;
	}
	.submenu a:hover{
		background-color: transparent;
	}

	.swiper_services .swiper-slide{
		width: calc(var(--col) * 6 - 30px);
	}
	.block_gallery .block_item{
		min-width: 50% !important;
		height: 220px;
	}
}

@media only screen and (max-width: 991px){

	.card_portrait{
		width: calc(var(--col) * 4 - 30px);
	}
	.submenu a,
	.main_menu a{
		padding: .5rem 1rem
	}
}

@media only screen and (max-width: 767px){
	.swiper_services .swiper-slide{
		width: calc(var(--col) * 10 - 30px);
	}
	.swiper_services .swiper-slide:nth-child(even){
		margin-top: 5rem;
	}
	.card_portrait{
		width: calc(var(--col) * 5 - 30px);
	}
	.block_page_header .block_title{
		font-size: 5rem;
	}
	.lightbox img {
		max-width: 90vw;
		max-height: 90vh;
	}
}

@media only screen and (max-width: 575px){

	.site_header_brand{
		max-width: 7rem;
	}
	.card_portrait{
		width: calc(var(--col) * 6 - 30px);
	}

	.card_testimonial .card_content blockquote{
		padding: 1rem;
		line-height: 1.5;
	}
	.block_page_header .block_title{
		font-size: 3.5rem;
	}
	.block_gallery .block_item{
		height: 47vw;
	}
}