/* .sliderbanner a { font-weight: 100; font-size: min(max(16px, 2.2vw), 60px); line-height: min(max(16px, 2.2vw), 60px); letter-spacing: 0.2rem; text-transform: uppercase;} */
/* .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1200px;} */
/* .lock-container { max-width: 1200px;} */
.btn { text-transform: uppercase; /* font-weight: 300; */ /* margin-top: 25px; */ }
/* h1, .h1{color: #333;} */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .title {/*  text-transform: uppercase; */ line-height: normal; margin-bottom: var(--margin-bottom-s); /* letter-spacing: 1px; */}

/* .p, main p{line-height: 1.65; letter-spacing: 0.2px;} */
/* h2, .h2 { letter-spacing: 0.3rem; line-height: normal;} */
/* h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { text-transform: uppercase; margin-bottom: 10px;} */
/* h1, .h1 { line-height: 60px; text-underline-position: under; text-decoration: underline 1px; letter-spacing: 3px;} */

/* GENERAL */
figure{margin: 0 !important;}
.img-fluid{width: 100%;}
.valign-center > .row{width: 100%;}
.background-type3 .btn:hover{border-color: #fff !important;}
.contentext p:has(+p){margin-bottom: 15px;}
b,strong{font-weight: 600;}
img{border-radius: 10px;}

/* GRID CLASES */
.btn-small .btn, .btn-small.btn { padding: 7px 15px; font-size: 14px; text-transform: none; }
.btn-100 .btn, .btn-100.btn{width: 100%;}
.btn-white.btn,.btn-white .btn{background-color: transparent; color: #fff; border-color: #fff;}
.btn-white.btn.active,.btn-white .btn.active, .btn-white.btn:hover,.btn-white .btn:hover{ background-color: #fff; color: #000; border-color: #fff;}
main .p-15{padding: 15px;}
main .px-30{padding-left: 30px; padding-right: 30px;}
.uppercase{text-transform: uppercase;}

picture.imagen-encuadrada, .imagen-encuadrada picture{padding: 20px; background-color: var(--main-color-3); border-radius: 10px; display: block;}
.imagen-encuadrada img{border-radius: 5px;}

/* HEADER */
.nav-item{margin: 10px 10px !important;}
.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link{color: var(--header-menu-color);}
header .nav-link:not(.dropdown-item)::before{height: 1px;}
header .languages{padding: 5px 0; gap: 0 !important;}
header .languages li:has(+ li){border-right: 1px solid;}
header .languages li a{font-size: 14px; padding: 5px 10px !important; transition: all 0.3s ease-in-out; font-weight: 400;}
header .languages li.active a{color: var(--header-a-hover-color); text-decoration: underline;}
.extratop .languages li a:hover, .extratop .languages li.active a{color: #fff !important; text-decoration: underline;}

/* PAGINADOR */
.swiper-pagination-bullet-active:hover, .swiper-pagination-bullet-active { opacity: 1; background-color: #fff; width: 40px; box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.1); -webkit-transition: all 200ms linear; transition: all 200ms linear; width: 20px; height: 20px;}
.swiper-pagination-bullet{ width: 20px; height: 20px; border-radius: 50%; }
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction { bottom: 10px; left: 0; width: 100%; }
.swiper-pagination{ position: absolute; text-align: center; transition: .3s opacity; transform: translate3d(0, 0, 0); z-index: 10; }
.swiper-button-next, .swiper-button-prev { color: #fff !important; padding: 20px;}
.swiper-button-next{right: 0;}
.swiper-button-prev{left: 0;}
.swiper-button-next:after, .swiper-button-prev:after { font-family: swiper-icons; font-size: 25px; text-transform: none !important; letter-spacing: 0; text-transform: none; font-variant: initial; line-height: 1; }

/* FOOTER */
#footer {padding-bottom: 20px; padding-top: 20px;}
#footer .menu{margin: 0;}
#footer .menu-list { justify-content: start;}
#footer .menu-list .menu-item{ margin: 0 0 10px 0 !important;}
#footer .menu-list .menu-item:last-child{margin: 0 !important;}
#footer .menu-list .menu-link span{transition: all 0.3s ease-in-out;}
#footer .menu-list .menu-link span,
#footer .menu-list .menu-link{font-size: 14px;}
#footer .menu-list .menu-link:hover span{color: var(--footer-a-hover-color);}
#footer .social-icons .sociallist{padding: 10px; justify-content: end;}
#footer .social-icons .sociallist a{ padding: 10px; border-radius: 100px; background: #000; aspect-ratio: 1 / 1; display: flex; width: 30px; height: 30px; justify-content: center; align-items: center; color: #fff !important; text-decoration: none;}
#footer .social-icons .sociallist a i{line-height: 0; color: #fff;}
#footer .contentext p:has(+p){margin-bottom: 10px;}
#footer a{text-decoration: underline;}


/* LISTADO PORTFOLIO */
.item-list.Portfolio {margin-bottom: var(--margin-bottom-m);}
.item-list.Portfolio .item{padding: 15px; transition: all 0.3s ease-in-out;}
.item-list.Portfolio .item:hover{transform: translatey(-5px);}
.item-list.Portfolio .item:hover .item-miniature img{filter: brightness(90%);}
.item-list.Portfolio .item .single-item-slide-wrap {display: flex; flex-direction: column; height: 100%; border-radius: 10px; overflow: hidden;}
.item-list.Portfolio .item .item-details { /* margin-top: 15px; */ /* background: #f2f2f2; padding: 15px; */ flex: 1; padding-top: 15px;}
.item-list.Portfolio .item .item-details .item-title-link{text-decoration: none;}
.item-list.Portfolio .item .item-details .title { margin-bottom: 0; font-size: calc(var(--content-p-font-size) + 2px); text-transform: none; letter-spacing: normal; color: #000; font-family: var(--general-text-font-family);}
.item-list.Portfolio .item .item-details .categories-list{ display: flex; flex-wrap: wrap; column-gap: 5px; }
.item-list.Portfolio .item .item-details .categories-list .category-item a { font-size: 12px; /* color: #999; */ text-decoration: none; display: flex;}
.item-list.Portfolio .item .item-details .categories-list .category-item:has(+ .category-item) a::after{content: ", "; display: block;}

.swiper.Portfolio {margin-bottom: var(--margin-bottom-m); }
.swiper.Portfolio .swiper-button-next, .swiper.Portfolio .swiper-button-prev { color: #000 !important; }
.swiper.Portfolio .swiper-button-next{ right: 0 !important; }
.swiper.Portfolio .swiper-button-prev { left: 0 !important; }
.swiper.Portfolio .swiper-slide{padding: 15px; transition: all 0.3s ease-in-out;}
.swiper.Portfolio .swiper-slide:hover{transform: translatey(-5px);}
.swiper.Portfolio .swiper-slide .item-miniature img{transition: all 0.3s ease-in-out;}
.swiper.Portfolio .swiper-slide:hover .item-miniature img{filter: brightness(90%);}
.swiper.Portfolio .swiper-slide .single-item-slide-wrap { overflow: hidden; border-radius: 5px; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);  position: relative;}
.swiper.Portfolio .swiper-slide .item-details { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.5); padding: 15px;}
.swiper.Portfolio .swiper-slide .item-details .item-title-link{text-decoration: none;}
.swiper.Portfolio .swiper-slide .item-details .title { color: #fff; margin-bottom: 0; text-align: center; font-size: clamp(14px, 7.039px + 0.906vw, 20px); text-transform: uppercase; }

/* BANNER 1 */
.verde .individualbanner1{--color: #A7CA6C; --color-texto:#fff;}
.amarillo .individualbanner1{--color: #EAAC41; --color-texto:#fff;}
.azul .individualbanner1{--color: #88ABFB; --color-texto:#fff;}
.rojo .individualbanner1{--color: #DE5966; --color-texto:#fff;}
.individualbanner1 { border-bottom: 2px solid var(--color); position: relative; overflow: hidden; transition: all 1.5s  ease-in-out; box-shadow: 0 0 20px 0 0 0 20px 0 color-mix(in srgb, var(--color) 100%, transparent); box-shadow: 0 0 20px 0  color-mix(in srgb, var(--color) 20%, transparent); box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2); /* box-shadow: 0 0 20px 0  color-mix(in srgb, black 20%, transparent), 0 20px 20px -20px  color-mix(in srgb, var(--color) 60%, transparent); */ }

.individualbanner1 .portfolio-thumb { display: flex; align-items: start; justify-content: center; overflow: hidden; }
.individualbanner1 .portfolio-thumb img{max-width: 150px;height:  auto;padding-top: 10px; transition: all 0.6s ease-in-out;}
.individualbanner1 .portfolio-thumb::after { content: ""; background: var(--color); width: 1000px; height: 1000px; position: absolute; aspect-ratio: 1/1; transform: rotate(45deg); bottom: -1190px; z-index: -1; transition: all 1s ease-in-out;}

.individualbanner1 .banner-content {padding: 30px;}
.individualbanner1 .banner-content .title{font-size: var(--content-h6-font-size); margin-bottom: 15px; transition: all 0.5s ease-in-out;}
.individualbanner1 .banner-content .content-text{margin-bottom: 15px; transition: all 0.5s ease-in-out;}
.individualbanner1 .banner-content .btn{padding: 10px 20px; width: 100%; transition: all 0.5s ease-in-out;}


/* RESEÑAS */
#Slider-Resenyes-swiper- .swiper-wrapper{padding-bottom: 30px; align-items: center; }
#Slider-Resenyes-swiper- .swiper-slide {padding: 0 clamp(20px, -20.468px + 7.026vw, 80px);}
#Slider-Resenyes-swiper- .swiper-slide .imagen-resena img{height: 70px; width: fit-content !important;}
#Slider-Resenyes-swiper- .swiper-slide .contentext p{color: #000;}
#Slider-Resenyes-swiper- .swiper-slide .title { color: #000; font-size: 16px; margin-bottom: 0; text-transform: none; /* max-width: 75%;  */}
#Slider-Resenyes-swiper- .swiper-button-next, #Slider-Resenyes-swiper- .swiper-button-prev { color: #000 !important; }

/* CTA */
.cta-infobar { position: relative; background: transparent; padding: 40px; /* border: 2px solid var(--main-color-4); */ border-radius: 30px; z-index: 1; }
.cta-infobar .row {row-gap: 15px;justify-content: start;align-items: end !important;flex-wrap: wrap;}
.info-container {/* min-width: 75%; */ width: 100%;}
.btn-container {width: fit-content; margin: 0 auto;}
.btn-container .btn{margin-left: auto !important; margin-right: 0 !important; background-color: #fff !important; border-color: #fff !important; color: #000 !important;}
.btn-container .btn:hover{background-color: #000 !important; border-color: #fff !important; color: #fff !important;}
.cta-info-content {display: flex;flex-wrap: wrap;row-gap: 15px;flex-direction: column;flex-wrap: wrap;flex-direction: row;align-items: center; justify-content: center;}
.cta-info-content .icon-box {background: var(--main-color-5);border-radius: 10px;min-width: 60px;height: 60px;display: flex;align-items: center;justify-content: start;margin-right: 20px;width: fit-content;}
.cta-info-content .icon-box img { max-height: 100px; width: fit-content;}
.cta-info-content .cta-content .title { font-size: var(--content-h6-font-size); margin-bottom: 15px; color: #fff; text-align: center;}
.cta-info-content .cta-content p { margin: 0; line-height: normal; color: #fff; text-align: center;}
.cta-appointment-btn { text-align: right; }

/* BREADCRUMB */
.breadcrumb-box .breadcrumb{background: unset; padding: 20px 10px 10px; border: none; }
.breadcrumb-box .breadcrumb ul{padding: 0; list-style: none;}
.breadcrumb-box .breadcrumb ul a{text-decoration: none;}
.breadcrumb-box .breadcrumb ul li::after, .Portfolio.fitxa .breadcrumb-box .breadcrumb ul a span { color: #000; }
.breadcrumb-box .breadcrumb ul li a svg{stroke: #000; color: #000;}
.breadcrumb-box .breadcrumb ul li a:hover{text-decoration: underline;}

/* FICHA PORTFOLIO */
.Portfolio.fitxa .gallery .item{margin-bottom: 30px;}
.Portfolio.fitxa .main-navigation .nav-item .nav-link[accesskey="2"]::before { width: 100%; background-color: var(--header-menu-active-bg-color); }
.Portfolio.fitxa .extra-info {display: flex; flex-direction: column; row-gap: 5px;}
.Portfolio.fitxa .extra-info .info-item {display: flex; justify-content: space-between; flex-wrap: wrap; column-gap: 10px; row-gap: 5px; align-items: end;}
.Portfolio.fitxa .info-item:has(.post-categories):not(:has(.cat-item)),
.Portfolio.fitxa .info-item:has(.info-item--content:empty){display: none;}
.Portfolio.fitxa .info-item .info-item--content,
.Portfolio.fitxa .info-item .info-item--content .post-categories .cat-item a{color: var(--main-color-4); font-size: 14px; display: flex;}
.Portfolio.fitxa .info-item .info-item--content .post-categories .cat-item:has(+ .cat-item) a::after{content: ",";}
.Portfolio.fitxa .info-item .info-item--content .post-categories{display: flex; flex-wrap: wrap; gap: 5px;}

/* FILTROS */
.filter-box .cat-fields { display: flex; gap: 15px; flex-direction: row; align-items: center; margin-bottom: var(--margin-bottom-s); /* padding-top: 15px; */ width: 100%; justify-content: center; }
.filter-box .cat-fields .form-check{padding: 6px 12px; background-color: #f2f2f2;}
.filter-box .cat-fields .form-check input{opacity: 0; visibility: hidden;}
.filter-box .cat-fields .form-check label { cursor: pointer; white-space: nowrap; font-size: 14px; letter-spacing: 0.5px; }
.filter-box .cat-fields .form-check:has(input:checked) label, .filter-box .cat-fields .form-check label:hover{text-decoration: underline;}
.filter-box .cat-fields .filter-box-buttons{margin-top: 0;}

/* LOADER FILTRO PRODUCTOS */
@keyframes gradient-animation { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
.item-list-wrapper .item-list-box{position: relative; overflow: hidden;}
.item-list-wrapper .item-list-box.loading::after { content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(110deg, rgba(227, 227, 227, 0) 0%, rgba(227, 227, 227, 0) 40%, rgba(227, 227, 227, 0.5) 50%, rgba(227, 227, 227, 0) 60%, rgba(227, 227, 227, 0) 100%); animation: gradient-animation 2s linear infinite; }
.item-list-wrapper .item-list-box.loading .item-list{filter: brightness(0.8);}

/* EMPRESA */
.hero-empresa picture{position: relative; display: block;}
.hero-empresa picture::after{content: ""; position: absolute; background-color: rgba(255,255,255,0.8); left: 0; right: 0; top: 0; bottom: 0;}
.hero-empresa picture img{border-radius: 0;}
.hero-empresa .title { color: #000; /* text-shadow: 0 5px 20px rgba(0,0,0,0.5);  */}
.second-hero-empresa .valign-center:has(img){justify-content: center;}



/* IMAGETEXT */
.imagetext{padding-top: var(--padding-top-m); padding-bottom: var(--padding-bottom-m);}
.imagetext .image-column{order: 0;}
.imagetext .image-column img{border-radius: 10px; box-shadow: 0 0 20px 0px rgba(0,0,0,0.3);}
.imagetext .image-column > div{width: 100%;}
.imagetext .content-column{order: 1;}
.imagetext .title{margin-bottom:15px;}

/* GALERIA DE CLIENTES */
.gallery-clientes .item img{filter: saturate(0); transition: all 0.3s ease-in-out;}
.gallery-clientes .item:hover img{filter: unset;}

/* PAGINA CONTACTO */
.contact-form-box > .row { margin-left: 0; }
.contact-form-box .contact-form-right-column { padding-top: var(--padding-top-s); padding-bottom: var(--padding-top-s); }
.contact-form-box .contact-form-right-column .contact-form-wrapper small { display: none; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group:not(:has(textarea)) { margin-bottom: 50px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group:has(textarea) { margin-bottom: 25px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send { margin-bottom: 0 !important; display: flex; justify-content: space-between; padding: 0 15px; flex-wrap: wrap; gap: 15px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label { display: flex; align-items: center; font-size: 14px !important; gap: 10px; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label span { /* max-width: 30ch; */ font-size: 16px; color: #333; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label span a { text-decoration: underline; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-send label input { margin-top: 0 !important; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea,.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label input { border-top: 0; border-left: 0; border-right: 0; margin-top: 10px; display: block; }
.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label textarea::placeholder,.contact-form-box .contact-form-right-column .contact-form-wrapper .form-group label input::placeholder { opacity: 1 !important; color: #333333 !important; }
.contact-form-box #acepto_condiciones-2803 { width: 20px; height: 20px; margin-top: 0;}
.contact-form-box .contact-form-wrapper .checkbox-inline { display: flex; align-items: center; justify-content: start; margin-bottom: 25px;}
.contact-form-box .contact-form-wrapper .checkbox-inline input { margin-right: 10px; }
.contact-form-box .contact-form-left-column { padding: 30px;/*  background-color: var(--main-color-2); */ border-radius: 40px 15px 40px 15px; }
.contact-form-box .contact-form-left-column .social-icons .sociallist { margin-bottom: 0; gap: 20px; list-style: none;}
.contact-form-box .contact-form-left-column .social-icons .sociallist i{font-size: 25px;}
.contact-form-box .contact-form-left-column p i{margin-right: 5px;}

/* BANNER 2 */
.individualbanner2 .banner-content {margin-top: 15px; margin-bottom: 30px;}
.individualbanner2 .banner-content .title{margin-bottom: 15px; font-size: var(--content-h3-font-size);}
.individualbanner2 .banner-content .title a{text-decoration: none; font-size: var(--content-h3-font-size);}
.individualbanner2 .banner-content .content-text{margin-bottom: 15px;}

/* SLIDERBANNER */
.sliderbanner {display: block;}
.sliderbanner .banner-content { width: 100%; height: 100%; padding: clamp(15px, 10.676px + 1.351vw, 30px) clamp(30px, 21.351px + 2.703vw, 60px); display: flex; align-items: center; }
.sliderbanner .banner-content:has(.content-text) .title {margin-bottom: 15px;}
.sliderbanner .banner-content:not(:has(.content-text)) .title {margin-bottom: 0;}
.sliderbanner .banner-content .content-text *{color: var(--text-color);}
.sliderbanner .banner-content a{text-decoration: none;}
.sliderbanner .banner-content .content-text{margin-bottom: 15px;}
.sliderbanner img{border-radius: 0;}

/* VIDEO VIMEO */
.video.video--vimeo .video-player__thumbnail{display: block; overflow: hidden; aspect-ratio: 16/9; object-position: center;}
/* POPUP AVISO */
#popup-aviso { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.95); max-width: 340px; width: calc(100% - 32px); background-color: #fff; color: var(--content-p-color, #333); border: 1px solid var(--main-color-3, #f6f6f6); padding: 20px 24px; border-radius: 10px; font-family: var(--general-text-font-family, system-ui, sans-serif); font-size: var(--content-p-font-size, 14px); line-height: 1.5; display: flex; align-items: center; gap: 16px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); opacity: 0; visibility: hidden; z-index: 10000; transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s; overflow: hidden; border-bottom: 0; }
#popup-aviso.show { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
#popup-aviso::before { content: ""; flex-shrink: 0; width: 20px; height: 20px; background-color: var(--main-color-2, #007EA8); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E") center / contain no-repeat; }
/* Barra de progrés */
#popup-aviso::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background-color: var(--main-color-2, #007EA8); transform-origin: left; transform: scaleX(0); }
#popup-aviso.show::after { animation: popup-progress 3.5s linear forwards; }
@keyframes popup-progress { from { transform: scaleX(1); } to { transform: scaleX(0); } }
/* Responsive */
@media (max-width: 576px) { #popup-aviso { max-width: none; width: calc(100% - 24px); padding: 16px 20px; gap: 12px; } #popup-aviso::before { width: 18px; height: 18px; } .video-player__icon { width: 50px; height: 50px; } }