/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

.grecaptcha-badge {
    z-index: -1;
}

#cmplz-document p, .editor-styles-wrapper .cmplz-unlinked-mode p, #cmplz-document li, .editor-styles-wrapper .cmplz-unlinked-mode li, #cmplz-document td, .editor-styles-wrapper .cmplz-unlinked-mode td {
    font-size: inherit;
}

#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {
    font-size: inherit;
    max-width: 100%;
}

#wpcf7-f390-p2-o2 form.wpcf7-form.init.wpcf7-acceptance-as-validation {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas:
        "nombre apellido1 apellido2"
        "email phone nif"
        "CP services services"
        "mensaje mensaje mensaje"
        "aceptacion aceptacion aceptacion"
        "button . .";
	align-items: end;
    gap: 1rem;
}

#wpcf7-f390-p2-o2 select#services option {
    color: black;
}

#wpcf7-f390-p2-o2 textarea.wpcf7-form-control.wpcf7-textarea  {
    padding: 10px 20px;
}

#wpcf7-f390-p2-o2 form input:not([type=submit],[type=checkbox]), form textarea {
    border: 1px solid !important;
    padding: 0 20px;
}

#wpcf7-f390-p2-o2 select#services {
    border: 1px solid;
}

input[type="checkbox"] {
    border: 1px solid;
}

label[for=nombre] {
	grid-area: nombre;
}

label[for=apellido1] {
	grid-area: apellido1;
}

label[for=apellido2] {
	grid-area: apellido2;
}

label[for=email] {
	grid-area: email;
}

label[for=phone] {
	grid-area: phone;
}

label[for=nif] {
	grid-area: nif;
}

label[for=CP] {
	grid-area: CP;
}

label[for=services] {
	grid-area: services;
}

label[for=mensaje] {
	grid-area: mensaje;
}

label[for=aceptacion] {
	grid-area: aceptacion;
}

#wpcf7-f390-p2-o2 button.wpcf7-submit {
	grid-area: button;
}

div.wpcf7:not(#wpcf7-f390-p2-o2) form label:not([for=aceptacion]) {
    position: absolute !important;
    z-index: -1 !important;
}

header:not(.sticky) .w-nav.type_desktop .w-nav-list.level_2 {
    top: 70%;
}

a.w-nav-anchor.level_2 {
    text-transform: initial;
}

.cmplz-cookiebanner .cmplz-buttons {
    flex-direction: row-reverse;
}

.mapa iframe {
    width: 90%;
    border-radius: 34px;
}

form input:not([type=submit],[type=checkbox]), form textarea {
    border-bottom: 1px solid !important;
}

input#aceptacion {
    background: #E7EDF3;
    border-radius: 100%;
    color: #0C4982 !important;
	margin-top: 0px;
}

label[for=aceptacion] {
    display: flex;
    align-items: center;
}

form.wpcf7-form.init.wpcf7-acceptance-as-validation button.wpcf7-submit {
    background: var(--color-footer-text);
	color:var(--color-content-primary) !important;
    font-style: normal;
    font-weight: 400;
	margin-right: auto;
}

form.wpcf7-form.init.wpcf7-acceptance-as-validation {
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem;
}

.information a {
	color: var(--color-footer-text);
}

span.registro {
    font-size: 0.73rem;
}

.w-ibanner.animation_phorcys .w-ibanner-content {
    background: #041A2E;
    padding: 1rem !important;
    margin: 0 1rem 2rem 0;
    border-radius: 0 35px 35px 0;
	color: #fff !important;
	min-height: 130px;
}

.w-ibanner.animation_phorcys.easing_ease {
    border-radius: 35px;
}


.w-ibanner.animation_phorcys .w-ibanner-content:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(transparent 0%,rgba(30,30,30,0.8) 100%) repeat-x rgba(30,30,30,0);
    transition-property: opacity;
    transition-duration: 0.3s;
    border-radius: 0 35px 35px 0;
}

.w-ibanner.animation_phorcys:hover .w-ibanner-image {
    opacity: 1;
    transform: translateY(0%);
}

.postHome article .post_image:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    top: 0;
    left: 0;
    position: absolute;
    display: block;
    z-index: 9999;
	transition: 0.5s;
}

.postHome article:hover .post_image:before {
	opacity: 0.4;
}

.socials {
    position: fixed;
    bottom: 5rem;
    right: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
	z-index: 999;
}

.socials img {
	width: 61px;
	object-fit: contain;
	transition: opacity 0.3s ease-in-out;
}

.socials img:hover {
	opacity: 0.8;
}

/**
 * SERVICIOS
 **/
.vc_col-sm-4.wpb_column.vc_column_container.shadow-box .vc_column-inner {
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    border-radius: 20px;
}

.caracteristicas h2.w-ibanner-title {
    font-size: 1.5rem;
    color: white;
    text-transform: inherit;
}

.caracteristicas p {
    font-weight: 600;
    color: white;
    font-size: 0.9rem;
}

.caracteristicas .w-ibanner.animation_caeros:hover .w-ibanner-desc {
    opacity: 1;
    transform: scale(1);
}

.optima-block .wpb_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

/**
 * CONTACTO
 **/

section.l-section.wpb_row.us_custom_6e799028.contacto.has_text_color.height_medium.full_height.valign_center.with_shape p a {
    	color: var(--color-footer-text) !important;
}

.contact .wpb_wrapper, .contact .w-html, .contact .w-html iframe {
    height: 100%;
}

.contact .w-html iframe {
	border-radius: 25px;
}

label[for=aceptacion] div, 
label[for=aceptacion] div a {
    color: white !important;
}

@media screen and (max-width: 1500px) {
	.w-ibanner.animation_phorcys.ratio_2x3.easing_ease {
    	height: 65vh;
	}
}


@media screen and (max-width: 1300px) {
	
	header:not(.sticky) .w-image.ush_image_1 {
    	height: 85px !important;
	}
	
	header:not(.sticky) .w-image-h {
    	height: 100px;
	}
	
	h2.us_custom_5f5e61b6 {
    	font-size: 3.25rem!important;
	}
	
	.animation_phorcys p {
    	font-size: 0.8rem;
	}
	
	.w-ibanner.animation_phorcys.ratio_2x3.easing_ease {
    	height: 50vh;
	}
}

@media screen and (max-width: 840px) {
	
	html, .l-header .widget, .menu-item-object-us_page_block {
    font-size: 18px !important;
	}
	
	section.l-section.wpb_row.us_custom_6e799028.contacto.has_text_color.height_medium.full_height.valign_center.with_shape {
    	background: #0C4982 !important;
	}
	
	header:not(.sticky) .w-image-h {
    	height: 75px;
	}	
	
	div.contact .w-html iframe {
		margin-top: 2rem;
    	height: 50vh !important;
	}
	
	h1.w-post-elm.post_title.entry-title.color_link_inherit {
    font-size: 2rem;
	}
}

@media screen and (max-width: 600px) {
	header:not(.sticky) .l-subheader.at_middle {
   		line-height: 90px !important;
    	height: 90px !important;
	}
	
	:root {
		--header-height: 90px !important;
		--header-sticky-height: 75px !important;
	}
	
	.g-cols.wpb_row.us_custom_10679678.via_flex.valign_top.type_default.stacking_default {
    	margin: 0 0rem;
	}	
	
	.g-cols.wpb_row.optima-block.via_flex.valign_top.type_default.stacking_default {
   		margin: 0 0;
	}
	
	.contact .vc_col-sm-6:last-child .vc_column-inner {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
}