/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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 */
/************************STYLE DEFAULT WEBSITE*********************/
*{
	outline: none;
} 
a:focus {
	outline: none;
}
ul.list-default{
	margin: 0;
}
.elementor-widget-text-editor p:last-child{ 
	margin-bottom:0px;
}
div.wrapper-icon div.elementor-icon-wrapper {
	display: flex;
}
section.splide button.splide__arrow--prev {
    display: none;
    opacity: 1;
    left: -2.8rem;
    border-radius: 0;
    background-color: #FFF;
    font-size: 22px;
}
section.splide button.splide__arrow--next {
    right: -2.8rem;
    opacity: 1;
    background-color: #FFF;
    border-radius: 0;
    display: none;
    font-size: 22px;
}
section.splide ul.splide__pagination {
    position: relative;
    padding: 0;
    margin-top: 1rem;
}
.splide__pagination__page.is-active {
    background: #000000 !important;
    transform: scale(1) !important;
}
section.splide ul.splide__pagination button.splide__pagination__page {
    background-color: #979797 !important;
    display: flex;
    height: 10px;
    width: 10px;
    transform: scale(1) !important;
}
.link-hiper li.elementor-icon-list-item a {
    text-transform: none;
    color: #0097A5;
}
.btn-arrow span.elementor-button-icon svg {
    width: 24px;
}
/*****************************BANNERS*************************************/
.header-custom {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(6px);
}
div.abshero {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
.elementor-element.btn-hover:hover ul.elementor-icon-list-items span.elementor-icon-list-text {
    color: #FFF;
}
a.elementor-element.btn-header:hover {
    background-image: linear-gradient(102deg, #000F11 0%, #000F11 100%) !important;
}
a.elementor-element.btn-header:hover .elementor-widget-container {
    color: #FFF;
}
div.faq-blog .e-n-accordion-item[open] summary.e-n-accordion-item-title {
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0;
}
/***************************HOME*******************************************/
div.card-form {
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.03);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.80);
    backdrop-filter: blur(10px);
}
div.contact-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
div.contact-form div.col-form {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
div.contact-form div.col-form label {
    color: rgba(255, 255, 255, 0.80);
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    text-transform: uppercase;
}
div.contact-form input.input-form, div.contact-form select.input-serv {
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.05);
    border-radius: 0;
    color: rgba(255, 255, 255, 0.80);
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
	padding: 17px 20px;
}
div.contact-form input.input-form::placeholder{
	color: rgba(255, 255, 255, 0.20);
}
div.contact-form select.input-serv {
	color: #000F11;
	font-weight: 700;
}
div.contact-form .btn-send {
    background: linear-gradient(102deg, #20A4A4 0%, #004F4F 100%);
    border: none;
    border-radius: 0;
    padding: 20px 20px;
    color: #FFF;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    letter-spacing: 2.8px;
    text-transform: uppercase;
	white-space: normal;
    width: 100%;
}
.icon-box .elementor-icon-box-icon {
    padding-top: 5px;
}
.sld-review .ti-widget.ti-goog .ti-review-item>.ti-inner {
    display: flex !important;
	flex-direction: column;
    background: linear-gradient(102deg, #20A4A4 0%, #004F4F 100%);
    border: none !important;
    border-radius: 40px !important;
    padding: 40px !important;
}
.sld-review .ti-platform-icon.ti-with-tooltip {
    display: none;
}
.sld-review .ti-widget.ti-goog .ti-widget-container .ti-date {
    display: none;
}
.sld-review .ti-review-header {
    order: 4;
    margin-top: 1.5rem;
}
.sld-review span.ti-stars {
    order: 1;
	margin-bottom: 1.5rem !important;
}
.sld-review .ti-review-text-container.ti-review-content {
    order: 2;
}
.sld-review span.ti-read-more {
    order: 3;
}
.sld-review .ti-widget.ti-goog .ti-read-more span {
    opacity: 1;
}
.rating-custom span.rpi-stars {
    color: #000F11 !important;
    font-weight: 700 !important;
}
.rating-custom .wp-gr .wp-google-list .grw-header-inner {
    padding: 0 !important;
    margin: 0 !important;
}
.sld-specialiste-drain .box-info-serv {
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.sld-specialiste-drain .slide-0 .box-info-serv {
    background-color: #FFF;
}
.sld-specialiste-drain .slide-1 .box-info-serv {
    background-color: #DDE3EC;
}
.sld-specialiste-drain .slide-2 .box-info-serv {
    background-color: #00070A;
}
.card-info-serv {
    display: flex;
    flex-direction: column;
    gap: 0;
	border-bottom: 1px solid #C0D0D8;
    padding: 48px 48px 26px 48px;
	min-height: 130px;
}
p.tlt-info-serv {
    margin: 0;
    font-family: 'Manrope';
    font-size: 24px;
    line-height: 28px;
    color: #3D4949;
    font-weight: 700;
}
.sld-specialiste-drain .slide-1 .box-info-serv p.tlt-info-serv{
	font-family: 'Montserrat';
}
p.subt-info {
    margin: 0;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #3D4949;
}
.sld-specialiste-drain .slide-2 .box-info-serv p.tlt-info-serv {
	color: #0097A5;	
}
.sld-specialiste-drain .slide-2 .box-info-serv p.subt-info{
	color: #FFF;	
}
.sld-specialiste-drain .slide-2 p.bullet-info {
    margin: 0;
    font-family: 'Montserrat';
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    color: #FFF;
    background-color: #0097A5;
    padding: 4px 24px;
    border-radius: 9999px;
    width: fit-content;
	position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.sld-specialiste-drain .splide__track {
    overflow: visible;
}
.sld-specialiste-drain.splide {
    overflow: hidden;
    padding-top: 25px;
}
.sld-specialiste-drain ul.list-serv {
    font-family: 'Montserrat';
    font-size: 18px;
    line-height: 28px;
    color: #00070A;
    font-weight: 500;
    list-style: none;
    padding: 0;
}
ul.list-serv li {
    padding: 24px;
    border-bottom: 1px solid #C0D0D8;
}
.list-serv li:last-child {
    border-bottom: none;
}
p.bullet-info {
    margin: 0;
}
.sld-specialiste-drain .slide-2 ul.list-serv {
    color: #FFF;
}
.sld-specialiste-drain .slide-2 ul.list-serv li{
	border-bottom: none;
}
.sld-specialiste-drain .slide-2 .card-info-serv{
	border-color: #0097A5;
}
.sld-specialiste-drain .slide-2 a.link-serv {
    background: linear-gradient(102deg, #20A4A4 0%, #004F4F 100%);
    padding: 20px 40px;
    margin: 0 24px 48px 24px;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    text-align: center;
    color: #FFF;
}
.sld-specialiste-drain .slide-2 a.link-serv:hover {
	background: linear-gradient(102deg, #0F5757 0%, #002525 100%);
}
.sld-specialiste-drain .slide-2 .list-serv li {
  display: flex;
  align-items: center;
  gap: 14px;  
}
.sld-specialiste-drain .slide-2 .list-serv li::before {
  content: "";
  flex: 0 0 21px;       
  width: 21px;
  height: 21px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M8.772 14.892L15.963 7.701L14.535 6.273L8.772 12.036L5.865 9.129L4.437 10.557L8.772 14.892ZM10.2 20.4C8.789 20.4 7.463 20.1322 6.222 19.5967C4.981 19.0612 3.9015 18.3345 2.9835 17.4165C2.0655 16.4985 1.33875 15.419 0.80325 14.178C0.26775 12.937 0 11.611 0 10.2C0 8.789 0.26775 7.463 0.80325 6.222C1.33875 4.981 2.0655 3.9015 2.9835 2.9835C3.9015 2.0655 4.981 1.33875 6.222 0.80325C7.463 0.26775 8.789 0 10.2 0C11.611 0 12.937 0.26775 14.178 0.80325C15.419 1.33875 16.4985 2.0655 17.4165 2.9835C18.3345 3.9015 19.0612 4.981 19.5967 6.222C20.1322 7.463 20.4 8.789 20.4 10.2C20.4 11.611 20.1322 12.937 19.5967 14.178C19.0612 15.419 18.3345 16.4985 17.4165 17.4165C16.4985 18.3345 15.419 19.0612 14.178 19.5967C12.937 20.1322 11.611 20.4 10.2 20.4Z' fill='%230097A5'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
section.sld-specialiste-drain ul.splide__pagination button.splide__pagination__page.is-active{
	background-color: #219B9C !important;
	width: 28px;
	height: 8px;
	border-radius: 3px;
}
section.sld-specialiste-drain ul.splide__pagination button.splide__pagination__page{
	background-color: #CAC9CD; !important;
	width: 8px;
	height: 8px;
	border-radius: 20px;
}
section.sld-specialiste-drain ul.splide__pagination {
    margin-top: 2rem;
}
a.link-faq {
    letter-spacing: 0;
    text-transform: none;
    color: #3D4949;
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-decoration: underline;
}
a.link-book {
    color: #0097A5;
    font-family: 'Montserrat';
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: underline;
}
.videos-size video.elementor-video {
    height: 388px;
}
/*********************************SERVICES**************************/
div.faq-inf .e-n-accordion-item[open] summary.e-n-accordion-item-title {
    border-radius: 12px 12px 0 0;
}
.form-serv {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.box-form {
    display: flex;
    gap: 32px;
}
.card-frm {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.card-frm label {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #006767;
    letter-spacing: 2.8px;
    text-transform: uppercase;
}
.form-serv input.card-input {
    border-radius: 12px;
    border: 2px solid rgba(0, 103, 103, 0.20);
    background: #EEF4FE;
    padding: 18px 24px;
    color: #6D7A79;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
}
.form-serv input.card-input::placeholder {
    color: #6D7A79;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
}
.form-serv .btn-serv {
    background: linear-gradient(102deg, #20A4A4 0%, #004F4F 100%);
    padding: 20px 40px;
    border: none;
    border-radius: 0;
    color: #FFF;
    text-align: center;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    max-width: max-content;
    margin: 0 auto;
}
p.txt-color {
    color: #FFF;
}
.slide-custom span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #219B9C;
	width: 20px;
    border-radius: 3px;
}
.slide-custom .elementor-icon-box-icon {
    padding-top: 10px;
}
.card-services .elementor-widget-container {
    text-transform: none;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0;
    color: #000F11;
}
.over-text h3.elementor-icon-box-title {
    line-break: anywhere;
}
span.price-custom {
    color: #44617E;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
}
span.price-customv2 {
    color: #FFF;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
	opacity: 0.7;
}
.card-prices-abs {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
a.link-blog, .blog-content a {
    text-transform: none;
    letter-spacing: 0;
    font-size: 16px;
    line-height: 24px;
    color: #006767;
    text-decoration: underline;
}
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* scroll suave en iOS */
}

.table-responsive table {
  min-width: 700px; /* ajusta según tu diseño */
  border-collapse: collapse;
}
.blog-content p{
	color: #00070A;
	line-height: 24px;
}
.blog-content h2, .blog-content h3, .blog-content h4{
	color: #161C23;
}
.form-cs .wpcf7 form.invalid .wpcf7-response-output, .form-cs .wpcf7 form.unaccepted .wpcf7-response-output, .form-cs .wpcf7 form.payment-required .wpcf7-response-output, .form-cs .wpcf7 form.sent .wpcf7-response-output {
    color: #FFF;
}
/******************************************************************/
/* # Media Queries (mobile-first)
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 545px) {}
@media only screen and (min-width: 768px) {
	.card-table{
		box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.10), 0 8px 10px -6px rgba(0, 0, 0, 0.10);
	}
}
@media only screen and (min-width: 993px) {}
@media only screen and (min-width: 1025px) {}
@media only screen and (min-width: 1200px) {}
@media only screen and (min-width: 1300px) {
	/************************STYLE DEFAULT WEBSITE*********************/
	section.splide button.splide__arrow--prev,
	section.splide button.splide__arrow--next {
        display: block;
    }
}


/* # Media Queries (mobile-second)
---------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 1159px) {}
@media only screen and (max-width: 1024px) {
	.box-form {
    	flex-direction: column;
	}
	.card-frm {
    	width: 100%;
	}
	.card-info-serv {
		padding: 26px 24px 26px 24px;
		min-height: 110px;
		justify-content: center;
	}
	.sld-specialiste-drain ul.list-serv {
		font-size: 16px;
		line-height: 26px;
	}
	p.tlt-info-serv {
    	font-size: 22px;
    	line-height: 26px;
	}
}
@media only screen and (max-width: 992px) {}
@media only screen and (max-width: 767px) {
	div.contact-form input.btn-send {
		padding: 20px 20px;
		letter-spacing: 0.5px;
	}
	.elementor-element.hero-mob .elementor-widget-container img.attachment-large {
		object-position: -25em 0;
	}
	.sld-specialiste-drain .slide-2 a.link-serv {
		padding: 20px 16px;
		margin: 0 24px 32px 24px;
		letter-spacing: 1px;
		text-transform: uppercase;
	}
}
@media only screen and (max-width: 544px) {
	.btn-mob span.elementor-button-text {
    	max-width: 180px;
	}
}