/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
/*
    Add your custom styles here
*/

/*
.mainMenuVB .elementor-item-active,
.mainMenuVB .elementor-item:hover {
	font-weight: 700!important;
}
*/
.logoVBTop {
	display: block;
}
.logoVBFixed {
	display: none;
}
.switchLangVB {
	width: 40px;
    margin-top: 9px;
    margin-left: 12px;
}
.switchLangVB .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a, .switchLangVB .wpml-ls-legacy-dropdown-click a:focus {
    background: transparent;
	opacity: 0.7;
}
.switchLangVB .wpml-ls-legacy-dropdown-click a:hover {
	opacity: 0.7;
}
.switchLangVB .wpml-ls-item-toggle {
    border: 0;
    padding: 0;
	padding-right: 0;
    margin: 0;
	width: 51px;
    background: transparent;
}
.switchLangVB .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
	top: 7px;
    right: 15px;
	color: #fff;
}
.switchLangVB.colorLangBlackVB .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
	color: #46494C;
}
.switchLangVB .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    width: 41px;
}
.switchLangVB .wpml-ls-legacy-dropdown-click a {
    padding-bottom: 7px;
}
.stickyHeaderVB .headerVBContainer,
.stickyHeaderVB .headerVBContainerDefault {
	background: #fff!important;
	box-shadow: 0px 3px 4px 0px #0000002e!important;
}
.stickyHeaderVB .elementor-nav-menu--main .elementor-item,
.stickyHeaderVB .elementor-item,
.stickyHeaderVB .elementor-social-icon svg,
.stickyHeaderVB div.elementor-menu-toggle svg {
    color: #46494C!important;
    fill: #46494C!important;
}
.stickyHeaderVB .elementor-element-51d2fdfb,
.stickyHeaderVB .elementor-element-677b36a4 {
	margin-top: 0!important;
}
.stickyHeaderVB .logoVBTop {
	display: none!important;
}
.stickyHeaderVB .logoVBFixed {
	display: block!important;
}
.stickyHeaderVB .switchLangTempVB {
	border-left: 1px solid #46494C;
}
.headerVBContainerOpenMobile .logoMaxWhite img,
.headerVBContainerOpenMobile .logoVBTop img,
.headerVBContainerOpenMobile .logoVBFixed img {
	display: none!important;
}
.headerVBContainerOpenMobile .miniLogo {
	display: block!important;
	margin-left: -19px!important;
}
.stickyHeaderVB .headerVBContainerDefault.headerVBContainerOpenMobile,
.headerVBContainerOpenMobile {
	background: #4C5760!important;
	z-index: 99999!important;
	box-shadow: none !important;
}
.fixedBlockInfo {
    position: fixed;
    top: 145px;
	left: 50%;
	margin-left: 40px;
    width: 450px;
    z-index: 1;
	background-color: #fff;
}
.stoppedBlockInfo {
	position: absolute;
    top: auto;
}
.elementor-nav-menu--dropdown {
	z-index: 99999!important;
}
.bgToggleMenuResp {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 99998!important;
	background: #4C5760!important;
}
.columnHeadBtns.activeRespColumnHeadBtn {
    display: flex!important;
    position: fixed!important;
    left: 20px!important;
    bottom: 20px!important;
    width: 100%!important;
    flex-direction: row-reverse!important;
    flex-wrap: nowrap!important;
    align-content: center!important;
    justify-content: flex-end!important;
    align-items: flex-end!important;
    color: #fff!important;
}
.columnHeadBtns.activeRespColumnHeadBtn .switchLangTempVB .elementor-widget-container {
    border-color: #fff!important;
	padding-left: 20px !important;
	margin-left: -5px !important;
}
.columnHeadBtns.activeRespColumnHeadBtn .elementor-social-icon svg {
    fill: #fff!important;
	font-size: 20px!important;
}
.mainMenuVB .elementor-item-active {
	font-weight: 700!important;
}
.mainMenuVB .elementor-item:hover {
	opacity: 0.6!important;
}
.iconsContactVB .elementor-icon {
	border: 0.5px solid #A5A5A5;
}
.gridTableProjectVB .e-con-inner {
	margin: 0;
}
.textLegalVB p {
	margin-bottom: 30px;
}
.textLegalVB ul {
	margin-top: -20px;
	margin-bottom: 30px;
}
.wpcf7-response-output {
	display: block;
    margin: 0 auto!important;
    text-align: center;
    width: 600px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #e5c675;
    background: #ffb9001f;
    color: #9a854f;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #87c48d;
    background: #d6edd8;
    color: #24912f;
}
.contentPostVB h2,
.contentPostVB h3,
.contentPostVB h4,
.contentPostVB h5,
.contentPostVB h6 {
	margin-top: 35px;
	font-family: Inter;
	font-size: 24px;
	font-weight: 600;
	line-height: 33.6px;
}
.single-post .elementor-post-info__item--type-terms {
	text-transform: uppercase;
}
.authorVB .elementor-author-box__avatar {
	margin-top: 8px;
}
.imagesContactVB figcaption {
    position: absolute;
    left: 20px;
    bottom: 20px;
    color: #fff!important;
    font-family: 'Reddit Sans'!important;
    font-weight: 600!important;
    font-size: 20px;
    font-style: normal;
}
.boxRelatedProjects .imageRelatedProjects,
.boxRelatedProjects .imageRelatedProjects img {
	position: absolute!important;
	left: 0!important;
	top: 0!important;
	width: 100%!important;
	height: 100%!important;
	z-index: 1!important;
}
.socialsSharesVB {
	content: "Compartir";
}
.columnImgProjectVB img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 0 0 35px 0;
}
.columnImgProjectVB {
	margin-bottom: 115px!important;
}
.mainSliderVB .swiper-slide-contents {
    max-width: 49%!important;
}
.mainSliderVB .swiper-slide-bg:before {
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background-color: #00000073;
}
.mainSliderVB .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 39px!important;
}
.mainSliderVB .btnSlider {
	box-shadow: 0px 1.83px 34.66px 0px #0000001A;
	border-radius: 29px;
	padding: 11px;
	width: 229px!important;
	font-family: Inter;
	font-size: 16px;
	font-weight: 500;
	line-height: 19.36px;
	text-align: center;
	height: 41px;
	transition: all linear 0.3s;
	display: inline-block;
    margin-top: 35px;
}
.mainSliderVB .btnSliderBlue {
	background: #a6c8e7;
	color: #343434;
}
.mainSliderVB .btnSliderBlue:hover {
	background: #343434;
	color: #a6c8e7;
}
.mainSliderVB .btnSliderWhite {
	background: #ffffff;
	margin-left: 19px;
	color: #46494C;
}
.mainSliderVB .btnSliderWhite:hover {
	background: #46494C;
	color: #ffffff;
}
.contactFormVB .row {
    display: flex;
    flex-wrap: wrap;
	margin: 0;
	padding: 0;
	column-gap: 17px;
}
.contactFormVB {
    width: 598px;
    max-width: 100%;
	display: block;
    margin: 20px auto 0 auto;
}
.contactFormVB .wpcf7-textarea,
.contactFormVB .wpcf7-email,
.contactFormVB .wpcf7-text {
	border: 0.5px solid #C5D5E3;
    box-shadow: 0px 4px 10px 0px #0000000D;
    border-radius: 4px;
	font-family: Inter;
	font-size: 14px;
	font-weight: 500;
	line-height: 16.96px;
}
.contactFormVB .wpcf7-textarea {
    height: 190px;
	padding-top: 15px;
}
.contactFormVB .wpcf7-email,
.contactFormVB .wpcf7-text {
    height: 48px;
}
.contactFormVB .row .col-md-12 {
	flex-shrink: 0;
    width: 100%;
    max-width: 100%;
}
.contactFormVB .row .col-md-6 {
	flex-shrink: 0;
    width: calc(50% - 9px);
    max-width: 100%;
}
.contactFormVB .wpcf7-list-item {
	margin-left: 0;
}
.contactFormVB .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
}
.requiredContacts {
	font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 17px;
    margin-left: 7px;
    color: #7B6F6F;
	display: block;
	margin-bottom: -8px;
	position: relative;
}
.contactFormVB .wpcf7-list-item-label {
	font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 17px;
    margin-left: 7px;
    color: #7B6F6F;
    margin-top: -2px;
}
.contactFormVB .wpcf7-list-item-label a {
	color: #7B6F6F;
	text-decoration: underline;
}
.contactFormVB .wpcf7-submit {
    background-color: #A6C8E7;
    border-radius: 28px;
    height: 42px;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 19.36px;
    text-align: center;
    color: #343434;
    display: block;
    width: 100%;
    border: 0;
    margin: 13px 0 0 0;
}
.contactFormVB .wpcf7-submit:hover {
    background-color: #343434;
    color: #ffffff;
}
.wp-gr {
    margin: 0 auto !important;
}
.boxTemplatePostCarousel {
	box-shadow: 0px 4px 20px 0px #0000001A;
	background-color: #fff;
	border-radius: 4px;
	padding: 0 0 30px 0;
}
.footerVB a {
	transition: all linear 0.3s;
}
.footerVB a:hover {
	text-decoration: underline;
	opacity: 0.6;
}
.pFootVB a {
	color: #fff;
	transition: all linear 0.3s;
}
.copyrightFootVB a {
	color: #606C76;
	transition: all linear 0.3s;
}
.pFootVB a:hover,
.copyrightFootVB a:hover {
	color: #fff;
	text-decoration: underline;
}

.footerVB .menu-item a {
	position: relative;
}
.footerVB .elementor-post__title a:before,
.footerVB .menu-item a:before {
	visibility: visible!important;
	opacity: 1!important;
	content: "•"!important;
    margin-right: 10px!important;
    position: relative!important;
    display: inline-block!important;
    color: #fff!important;
	background: none!important;
}
.sliderModeDesk {
	display: block;
}
.sliderModeMobile {
	display: none;
}
.tagTitlesOnlyDesk {
	display: inline-block;
}
.carouselProjectsHome {
	display: none;
}
.gridProjectsHome {
	display: block;
}
.titleModeDesk {
	display: block;
}
.titleModeMobile {
	display: none;
}
.joinchat {
    bottom: 80px;
    right: 2px;
     --s: 50px; /* Define el tamaño que desees aquí */
}




.joinchat__button {
  position: absolute;
  z-index: 2;
  bottom: 8px;
  right: 8px;
  height: var(--s);
  min-width: var(--s);
  background: #25d366;
  color: inherit;
  border-radius: calc(var(--s)/2);
   box-shadow: 1px 6px 24px 0 rgba(128, 128, 128, 0.3); /* Sombra gris suave */
  cursor: pointer;
  transition: background-color 0.2s linear;
}

.joinchat__button:hover {
  background: #1eae58;
}

.joinchat__button:active {
  background: #25d366;
  transition: none;
}

@media (max-width: 1024px) {
	.switchLangVB {
		margin-top: 0;
		margin-left: -12px;
		margin-bottom: 3px !important;
	}
	.switchLangVB .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
		top: inherit;
		bottom: calc(100% + 10px);
	}
	.elementor-354 .elementor-element.elementor-element-4818f5e1 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-354 .elementor-element.elementor-element-4818f5e1 .elementor-nav-menu__container.elementor-nav-menu--dropdown {
        margin-top: 17px!important;
        margin-left: -1px!important;
        padding-top: 20px!important;
    }
	.stickyHeaderVB .elementor-nav-menu--main .elementor-item, .stickyHeaderVB .elementor-item, .stickyHeaderVB .elementor-social-icon svg, .headerVBContainerOpenMobile div.elementor-menu-toggle svg {
		color: #ffffff !important;
		fill: #ffffff !important;
	}
	.containerRelatedProjects .e-loop-item {
		margin-bottom: 40px!important;
	}
	.carouselBlogHome .swiper {
		padding-top: 40px!important;
		padding-bottom: 10px!important;
	}
	.carouselBlogHome .e-con-inner {
		display: flex!important;
		flex-direction: column!important;
		flex-wrap: nowrap!important;
		align-content: center!important;
		align-items: flex-start!important;
		justify-content: flex-start!important;
	}
	.carouselProjectsHome {
		display: block!important;
	}
	.gridProjectsHome {
		display: none!important;
	}
	.tagTitlesOnlyDesk {
		display: none!important;
	}
	.elementor {
		margin-top: -30px;
	}
	.sliderModeDesk {
		display: none!important;
	}
	.sliderModeMobile {
		display: block!important;
	}
	.wp-gr.wpac {
		width: 100%!important;
		max-width: 100%!important;
	}
	.mainSliderVB .btnSliderBlue {
		display: none!important;
	}
	.mainSliderVB .swiper-slide-contents {
		max-width: 100% !important;
	}
	.mainSliderVB .btnSliderWhite {
		display: block!important;
		width: 100%!important;
		margin-left: 0!important;
		height: 44px;
		font-size: 14px;
		font-weight: 500;
		line-height: 17px;
	}
	.elementor-slides .swiper-slide-inner {
		flex-direction: column-reverse!important;
		flex-wrap: nowrap!important;
		top: inherit!important;
		bottom: 44px!important;
	}
}
@media (max-width: 991px) {
	.fixedBlockInfo {
		width: 40%;
	}
}
@media (max-width: 768px) {
    .joinchat {
        bottom: 70px;
        right: -3px;
    }
	.grw-review-inner {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.mainSliderVB .swiper-slide-inner {
        padding: 0px 39px 30px 39px!important;
    }
	.mainSliderVB .elementor-swiper-button-prev,
	.mainSliderVB .elementor-swiper-button-next {
		display: none!important;
	}
	.mainSliderVB .swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom: 30px !important;
		opacity: 0.7;
	}
	.carouselProjectsHome .elementor-loop-container {
		padding-top: 32px!important;
	}
	.contentPostVB img {
		margin-bottom: 20px;
	}
	.elementor-element-65169bf {
		display: flex!important;
        flex-direction: column!important;
        flex-wrap: nowrap!important;
        align-content: center!important;
        justify-content: flex-start!important;
        align-items: stretch!important;
        padding-left: 34px!important;
        padding-right: 34px!important;
	}
	.contactFormVB .row .col-md-6 {
		width: 100%;
		max-width: 100%;
	}
	.titleModeDesk {
		display: none!important;
	}
	.titleModeMobile {
		display: block!important;
	}
	.elementor-button.elementor-button-link {
		display: block!important;
		width: 100%!important;
	}
	.columnImgProjectVB img {
		margin: 0 0 30px 0;
	}
}