/*
Theme Name: Premiun 01
Theme URI: #
Author: Seo#
Author URI: 
Description: Plantilla#

*/
*{padding: 0; margin: 0; box-sizing: border-box;}


body{ --color1: #ff6e01; --color2: #1f2937; --font1: 'Inter', sans-serif; --font2: 'Oswald', sans-serif;}

a{text-decoration: none; cursor: pointer;}
.page-id-161 .slide-page, .page-id-44 .slide-page, .page-id-23 .slide-page{height: 750px; display:flex; align-items: center; background-attachment: fixed;}
.page-id-44 .slide-page{display: none;}


.container{width: 1238px; margin: 0 auto;}
.grid_5{display: grid; grid-template-columns: repeat(5, 3fr); grid-column-gap: 5px; grid-row-gap: 5px;}
.grid_4{display: grid; grid-template-columns: repeat(4, 3fr); }
.grid_3{display: grid; grid-template-columns: repeat(3, 3fr); grid-column-gap: 20px; grid-row-gap: 20px;}
.grid_2{display: grid; grid-template-columns: repeat(2, 3fr); grid-column-gap: 20px; grid-row-gap: 20px;}
.row-center{display: flex; align-items: center; justify-content: space-between;}

.entry{    background: rgb(26 26 26 / 65%); backdrop-filter: blur(7px);padding: 17px 0px; transition: all 0.4s ease-in-out; display: none;}
.entry a i{color: var(--color1);}
.entry a{font:800 11px var(--font1); color: #d1d5db; text-transform: uppercase; margin: 0px 7px; display: inline-block; letter-spacing: 1px;}
.entry .btn{padding:3.5px 10.5px; border: 1px solid #fff; color: var(--color1); border-radius: 20px; font-weight: 800;}
header{position: fixed; top: 0; left: 0; width: 100%; z-index: 333;} 
.row{display: flex; justify-content: space-between;}
.entry .redes{display: inline-block; padding-top: 0px; padding-left: 10px; border-left: 1px solid #d1d5db; margin-left: 10px;}
.entry  .redes a{background: transparent; padding: 0px;  font-size: 14px;}.entry .redes a i{ color: #d1d5db;}


.carx{gap: 24px; margin-bottom: 20px;}
.is_card {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  padding: 17.5px;
  border-radius: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid rgba(0,0,0,0.02); width: 273px; max-width: 100%;
}

.page-contact .txt-form span{background: #000; color: #fff;}

.is_card:hover{box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);}
.is_title{font: 700 9px var(--font1); letter-spacing: 1px; color: #9fa3b9;}
.is_phone{font: 700 12px var(--font1); letter-spacing: 1px; color: #18181b;}

.is_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.is_icon_container {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 18px;
}

.is_icon_container img {
  width: 20px;
  height: 20px;
}


.is_bg_light {
  background-color: #effaf3;
}

.is_bg_solid {
  background-color: #24d366;
}

.is_white_icon {
  filter: brightness(0) invert(1);
}


.is_content {
  display: flex;
  flex-direction: column;
}




.grid_3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: start;
}

.btn-filter {
    padding: 10px 28px;
    margin: 5px; border-radius: 10px;
    border: 1px solid #f3f4f6;
	color: #9ca3af;
    background: #fff;
    cursor: pointer;
	font: 700 10px var(--font1);
	letter-spacing: 1px;
    transition: 0.3s;
}

.btn-filter.active {
    background: var(--color1);
    color: #fff;
    border-color: var(--color1);
}

.box-project img {
    width: 100%;
    height: auto;
    display: block;
}

.slide-page{position: relative;}
.slide-page::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Degradado radial: negro en los bordes, transparente en el centro */
            background: radial-gradient(circle, #0000005c 0%, rgba(0, 0, 0, 0.8) 100%);
            z-index: 1;
        }
        .slide-page .container {
            position: relative;
            z-index: 2; /* Pone el texto por encima de la máscara */
        }
.slider{background: url(img/jovalco.webp); background-size: cover; background-position: center; width: 100%; height: 650px; position: relative;}
.slider::after{ content: ""; display: block;background: rgba(0,0,0,0.5); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 22;}

.cabecera ul li{list-style: none; display: inline-block}
.cabecera ul li a{font: 700 13px var(--font1); padding: 15px 20px; display: inline-block; color: #000; text-transform: uppercase;}
.cabecera ul li a::after{content: ""; display: block; width: 0%; height: 2px; transition: all 0.4s ease-in-out;  margin-top: 6px; }
.cabecera ul li a:hover::after{background: var(--color1); border-radius: 10px; width: 100%;}
.cabecera ul li.current-menu-item a::after{background: var(--color1); margin-top: 6px; border-radius: 10px; width: 100%; }


.box::after{content: ""; display: block; width: 0%; height: 2px; transition: all 0.4s ease-in-out; position: absolute; bottom: 0px; left: 0px;}
.box:hover::after{content: ""; display: block; width: 0%; height: 2px; transition: all 0.4s ease-in-out; background: var(--color1); border-radius: 10px; width: 100%;}


.bloqs{padding: 110px 0px;     background-image: radial-gradient(circle, #ddd 1px, transparent 1px);
    background-size: 30px 30px;}
.box{padding: 55px 35px 75px; text-align: left; border-right: 1px solid #f3f4f6; transition: all 0.6s ease-in-out; position: relative;}
.box:hover{background: #f2f2f2;}
.box h3{font: 800 21px var(--font2); color: var(--color2); text-transform: uppercase; padding: 15px 0px 10px;}
.box p{font: 12.5px var(--font1); color: #4b5563; line-height: 1.4;}
.box svg{color: #fff; width: 61px; height: 61px; background: var(--color2); padding: 16px; border-radius: 10px; box-shadow: 0px 4px 7px 0px #ccc; transition: all 0.4s ease-in-out;}
.box:hover svg{ transform: rotate(-10deg);}
.box .number{position: absolute; top: 8%; right: 8%; font: 800 64px var(--font2); color: #4e4e4e; opacity: 0.1;}

.menu-btn{display: none;}
.content{ background-color: #f9fafb; background-image: radial-gradient(circle, #ddd 1px, transparent 1px);     background-size: 30px 30px;}


.nosotros{background: #000; padding: 80px 0px;}
.nosotros h5.title{color: #fff;}
h5.title{color: var(--color2); font:800 63px var(--font2); line-height: 63px; text-transform: uppercase;}
h5.title strong{color: var(--color1);}
.nosotros p{color: #848f9d; font: 17px var(--font1); padding: 15px 0px 7px; line-height: 25px;}
.nosotros a.btn, .confianza a.btn{background: #fff; font: 700 10px var(--font1); text-transform: uppercase; border-radius: 10px; padding: 15px 25px; letter-spacing: 2px; color: var(--color2); margin-top: 15px; display: inline-block;}
.txt-nos{width: 530px; max-width: 100%;}
.txt-nos h3{color: #fff; font: 17px var(--font1); padding: 25px 0px 10px;}
.ind{padding: 28px; border: 1px solid #1f1f20; border-radius: 10px; background: #18181B; text-align: center; width: 281px; box-sizing: border-box;}
.ind p strong{color: var(--color1); font: 800 38px var(--font2); display: block;}
.ind p{font-size: 13px; text-transform: uppercase;}

.icons{padding: 21px 0px; border-top: 1px solid rgb(255 255 255 / 0.05); border-bottom: 1px solid rgb(255 255 255 / 0.05); width: 90%; margin-top: 35px;}
.icons svg{color: var(--color1); margin-right: 10px;}
.icons p{padding: 0px 0px 5px; font-size: 10px; font-weight: 700; color: #fff; line-height: inherit;}
.icons h5{color: #6b7280; font: 700 10px var(--font1); text-transform: uppercase; display: block;}

.services h5.title strong{    -webkit-text-stroke: 2px var(--color2); display: block; color: transparent;}
.services h5.title::after{content: "";
    display: block;
    width: 90px;
    height: 4px;
    transition: all 0.4s ease-in-out;
    margin-top: 6px; background: var(--color1); margin: 20px 0px 15px;}
.services .titles{width: 600px; max-width: 100%; padding-bottom: 60px;}
.services .titles p{color: #848f9d;
    font: 300 17px var(--font1);
    padding: 15px 0px 7px;
    line-height: 25px;}
.txt-services h6, .txt-nos h6{color: #d1d5db; letter-spacing: 2px; font: 700 10px var(--font1); padding-bottom: 15px; text-transform: uppercase;}
.txt-nos h6{color: var(--color1);}

.whatsapp-container {
    position: fixed;
    bottom: 32px;
    right: 32px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}


.whatsapp-label {
    position: absolute;
    right: 100%;
    margin-right: 24px;
    background-color: white;
    padding: 12px 20px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border: 1px solid #f3f4f6;
    opacity: 0;
    transform: translateX(16px);
    transition: all 0.3s ease;
    white-space: nowrap;
    pointer-events: none;
    font-family: sans-serif;
    color: #111827;
    font-weight: bold;
    font-size: 14px;
    display: flex;
    flex-direction: column;
}

.support-text {
    font-size: 12px;
    color: #9ca3af;
    font-weight: normal;
}


.whatsapp-button {
    position: relative;
    width: 80px;
    height: 80px;
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 15px 35px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
    text-decoration: none;
    z-index: 2;
}

.whatsapp-button svg {
    transition: transform 0.3s ease;
}


.whatsapp-container:hover .whatsapp-label {
    opacity: 1;
    transform: translateX(0);
}

.whatsapp-container:hover .whatsapp-button {
    transform: scale(1.1);
    box-shadow: 0 20px 45px rgba(37, 211, 102, 0.6);
}

.whatsapp-container:hover .whatsapp-button svg {
    transform: rotate(6deg);
}

.whatsapp-button:active {
    transform: scale(0.9);
}

.pulse-effect {
    position: absolute;
    inset: 0;
    background-color: #25D366;
    border-radius: 50%;
    z-index: 1;
    opacity: 0.25;
    animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes ping {
    75%, 100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

.whatsapp-container:hover .pulse-effect {
    display: none; 
}

.main-container{
	padding-top: 40px;
}
h4.btn-item{
	display: block;
	padding: 18px 20px;
    box-sizing: border-box;
    background: #fff; border-radius: 20px;
    font-family: var(--font1);
    font-size: 12px !important; letter-spacing: 1px;
    display: flex;
    line-height: 33px;
    border: 1px solid #f3f4f6;
    justify-content: space-between;
    font-weight: 400;
    margin-bottom: 0px !important;
    color: #000;
}
.btn-item::after{
    content: '+';
    color: var(--color2);
    background: #f3f4f6; border-radius: 11px;
    line-height: 35px;
    width: 35px; height: 35px; 
    font-weight: 300;
    font-size: 24px;
    box-sizing: border-box;
    text-align: center;
}
.btn-item.active::after{
    content: '-';
    background: var(--color1);
    color: #fff;
}
.item-content{
	overflow: hidden;
	max-height: 0px;
	transition: all 0.3s;
}
.item-content p{
	font-size: 15px;
	font-weight: 400; font-family: var(--font1);
	color: #6b7280c9; line-height: 24px;
    padding: 14px 20px; text-align: left; padding-left: 20px; border-left: 2px solid #ccc; margin-left: 30px; margin-top: 20px;
}
.item{
	margin-bottom: 14px;
}
.active + .item-content{
	max-height: 10em;
	transition: all 0.3s;
}
.btn-item.active{
	transition: all 0.3s;
	color: var(--color1);
}
.txt-faq{
    width: 570px;
	max-width: 100%;
}


.formulario label{font: 700 10.5px var(--font1); color: #6b7280; letter-spacing: 1px; padding-top: 21px; display: inline-block; padding-bottom: 7px;}
.formulario input, .formulario textarea{    outline: 2px solid transparent;
    outline-offset: 2px;padding: 14px 17px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; box-sizing: border-box; width: 100%; font: 400 15px var(--font1); color:  #abacae;}
#enviar{background: var(--color1); color: #fff; font: 800 17px var(--font1); letter-spacing: 1px; border: 1px solid var(--color1); margin-top: 15px;}

.services{padding: 80px 0px; background-color: #f9fafb; background-image: radial-gradient(circle, #ddd 1px, transparent 1px);     background-size: 30px 30px;}
.services h5.title{color: #1f1f20; text-transform: uppercase;}
center p, h5.title + .row-center p{color: #1f2937; font-size: 14px; font-style: italic; font-family: var(--font1);}
h5.title + .row-center p{padding: 20px 0px 25px;}

.blog a.btn{background: var(--color2); border-radius: 10px; padding: 7px 16px; color: #fff; font: 700 12px var(--font1); text-transform: uppercase;}
.blog{padding: 80px 0px;}
.box-services{box-shadow: 0px 0px 20px -3px #ccc; border-radius: 20px; box-sizing: border-box; overflow: hidden;}
.thumb-services{height: 316px;overflow: hidden; position: relative;}
.icon-serv{width: 45px; height: 45px; line-height: 45px; text-align: center; border-radius: 10px; background: #fff;position: absolute; left: 7px; bottom: 7px; box-shadow: 0px 0px 10px 0px #f2f2f2; color: var(--color1); font-size: 25px;}
.thumb-services img{width: 100%; height: 100%; object-fit: cover; object-position: center;}
.txt-services{background: #fff; padding: 38px 28px; box-sizing: border-box;}
.txt-services h2{font: 800 21px var(--font2); color: var(--color2); text-transform: uppercase;}
.txt-services p{font: 12px var(--font1); color: #6b7280; padding: 15px 0px 38px;}
.txt-services a{color: var(--color2); font: 700 11px var(--font1); letter-spacing: 1px; padding-top: 20px; border-top: 1px solid #f2f2f2; display: block; text-transform: uppercase;}
.txt-services a span{transition: all 0.1s linear; transform: translateX(0px); display: inline-block;}
.txt-services:hover a span{ transform: translateX(10px); }
center{margin-bottom: 40px;}

.indic{background: #ffffff0d; border: 1px solid #ffffff1a; padding: 7px; border-radius: 15px;}
.ind:nth-child(3n+1){background: var(--color1);}
.ind:nth-child(3n+1) p{color: #fff;}
.ind:nth-child(3n+1) p strong{color: #fff;}

.projects{padding: 80px 0px;}
.projects h5.title{font-size: 43px;}
.projects .titles p{color: #1f2937; font-size: 14px; font-style: italic; font-family: var(--font1);}
.projects .titles{padding-bottom: 50px;}
.box-project{height: 500px; position: relative; border-radius: 15px; overflow: hidden;} .box-project img{height: 100%; width: 100%; object-fit: cover; object-position: center; transition: all 0.4s ease-in-out;}
.txt-project{position: absolute; left: 0; bottom: 0; padding: 28px; box-sizing: border-box; width: 100%; height: 100%;     display: flow;
    align-content: end; background: #18181b74; transition: all 0.4s ease-in-out;}
.txt-project:hover{background: #18181b35; }
.box-project:hover img{ transform: scale(1.1);}
.txt-project h2{font:700 13px var(--font2); color: var(--color1);}
.txt-project p{color: #fff; font: 800 24px var(--font2);}
.txt-project span{color: #fff; font: 11px var(--font1);}
.txt-project span i{color: var(--color1);}




.contact{background: #f9fafb; padding: 80px 0px;}
.txt-form{width: 520px;}
.txt-form h5 + p{ color: #4b5563; font: 14px var(--font1); line-height: 21px; padding: 20px 0px 40px;}
.txt-form span i{font-size: 21px;}
.txt-form span{box-shadow:  0px 0px 8px 2px rgb(24 24 24 / 5%); border-radius: 10px; display: inline-block; margin-bottom: 20px; padding: 10px 10px; background: #fff; margin-right: 17px;}
.txt-form p{color: var(--color2); font: 700 15px var(--font1);}
.txt-form a{color: #707070; font: 400 15px var(--font1);}
.txt-form .row{justify-content: flex-start;}

.formulario{padding: 30px; background: #fff; border-radius: 20px; border-top: 4px solid var(--color1); width: 50%; max-width: 100%; box-sizing: border-box;}

.box-blog{box-sizing: border-box; overflow: hidden; border: 1px solid #f3f4f6; border-radius: 15px; transition: all 0.5s ease-in-out;}
.box-blog:hover{box-shadow: 0px 0px 15px 0px rgb(181, 181, 181);}
.thumb-blog img{width: 100%;}
.txt-blog{padding: 20px;}.txt-blog i{color: var(--color1);}
.txt-blog span{font: 10px var(--font1); color: #4b5563; letter-spacing: 1px; text-transform: uppercase;}
.txt-blog h2{color: var(--color2); font: 800 17px var(--font2); padding: 10px 0px 15px;}
.txt-blog p{color: var(--color2); font: 300 13px var(--font1); padding-bottom: 15px;}
.txt-blog a{font: 12px var(--font1); color: var(--color1); letter-spacing: 0.5px; text-transform: uppercase;}


footer{background: #111; padding: 80px 0px 0px; color: #9ca3af; font: 12px var(--font1);}
footer a{ color: #9ca3af; font: 12px var(--font1);}
footer ul li{list-style: none;}footer li a{padding: 6px 0px; display: inline-block;}
footer h1, footer h4{margin-bottom: 20px; color: #fff; font-size: 16px; border-bottom: 1px solid #27272a; padding-bottom: 10px; display: inline-block;}
footer .row >div{max-width: 278px;}
.redes{padding-top: 25px;}.redes a{font-size: 24px; padding: 5px 6px; background: rgba(255,255,255,0.1); border-radius: 10px; margin: 0px 4px;}


footer .cnt .row{justify-content: flex-start; }footer .cnt i{color: var(--color1); font-size: 15px; margin-right: 10px; display: inline-block;}
footer .cnt a{padding-bottom: 15px;}footer a.btn, .btn-head{padding: 15px 25px; width: 100%; box-sizing: border-box; background: var(--color1);
color: #fff; font: 800 14px var(--font1); border-radius: 10px; display: inline-block; text-align: center; margin-top: 20px; text-transform: uppercase;}
.btn-head{width: auto; margin-top: 0px; transition: all 0.4s ease-in-out;}
.btn-head:hover{background: #d54d0d;}


.btn-row{padding: 14px; background: #18181b; border: 1px solid #27272a; display: flex; border-radius: 10px; margin-top: 20px;}
.btn-row h5{color: #fff; text-transform: uppercase; font-size: 12px;}
.btn-row p{font-size: 10px; letter-spacing: 1px;} .btn-row i{font-size: 20px;}

.copy .container{padding: 30px 0px; margin-top: 40px; border-top: 1px solid #707070;}



.slide-nosotros{background: #111; padding: 160px 0px 99px 0px;}
.slide-nosotros h3{padding: 7px 21px; border-radius: 20px; font:800 12px var(--font1); color: #fff; background: #ffffff0d; border: 1px solid #ffffff1a; display: inline-block; text-transform: uppercase; letter-spacing: 2px;}
.slide-nosotros h5{ -webkit-text-stroke: 2px rgba(255, 255, 255, 0.3); color: transparent; font-size: 90px; padding: 55px 0px 80px;}
.slide-nosotros h5 strong{-webkit-text-stroke: 0px; color: var(--color1);}
.slide-nosotros h5 strong:first-child{color: #fff;}
.slide-nosotros p{ font:800 12px var(--font1);  color: #4b5563; letter-spacing: 2px; text-transform: uppercase; }

.confianza{background: #111; padding: 112px 0px;}
.confianza h6, .txt-cobert h6{font: 9px var(--font1); letter-spacing: 4px; color: var(--color1); text-transform: uppercase;}
.confianza h5.title{color: #fff; padding: 15px 0px 35px;}
.confianza h5.title span{-webkit-text-stroke: 2px rgba(255, 255, 255, 0.3); color: transparent;}
.confianza p{color: #a1a1aa; font: 15px var(--font1); line-height: 25px; display: flex;}
.txt-conf{width: 65%;}
.confianza p::before{content: ""; display: inline-block; width: 250px; height: 1px; background: var(--color1); margin-right: 20px;}

.bloqs.nox{background-color: #f9fafb;}
.bloqs.nox .box{background: #fff; border-radius: 20px; box-shadow: 0px 0px 20px -3px #ccc; padding-bottom: 70px;}
.cobertura p{font: 300 16px var(--font1); color: #6b7280; line-height: 25px;}
.cobertura .grid_2 p{text-transform: uppercase; font-weight: 700; font-size: 10px; letter-spacing: 1px;}
.cobertura .grid_2 strong{color: #000; font: 800 12px var(--font1); text-transform: uppercase;}
.cobertura .grid_2{padding-top: 20px; border-top: 1px solid #f2f2f2; margin-top: 30px;}
.txt-cobert{width: 50%;}.cobertura{padding: 110px 0px;}
.maps{width: 45%; border-radius: 20px; overflow: hidden;}
.maps img{width: 100%;}
.map iframe{width: 100%; height: 260px;}

.slide-page{width: 100%; background-size: cover; background-position: center; padding: 190px 0px 110px;}
.slide-page h5 strong{color: #fff;}
.slide-page h5{font-size: 42px; max-width: 900px; text-align: left; width: 100%;}

.thumb-detail{width: 43%; height: 400px; overflow: hidden; border-radius: 20px;}
.thumb-detail-nos{width: 45%; height: 500px; position: relative;  } 
.box-nos-detail{position: absolute; right: -20px; bottom: -10px; border-radius: 20px; box-shadow: 0px 0px 10px 0px #707070; padding: 28px; background: #fff; max-width: 170px;}
.thumb-detail img, .thumb-detail-nos img{width: 100%; height: 100%; object-fit: cover; object-position: center;  border-radius: 20px;}
.box-nos-detail h5{font: 700 26px var(--font2); color: var(--color1);  line-height: 23px;}.box-nos-detail h5 strong{font: 700 11px var(--font1); color: #a1a1aa; text-transform: uppercase; line-height: 4px;}

.tabs-container{width: 45%;}.txt-detail{width: 53%;}.tabs-container .txt-detail{width: 100%;}
.txt-detail .content{background: transparent;}
.txt-detail h1{font: 800 52px var(--font2); line-height: 1; color: var(--color2);}
.txt-detail h1 strong{color: var(--color1); display: block;}
.txt-detail h6{font: 800 12px var(--font1); letter-spacing: 5px; color: #9ca3af; text-transform: uppercase; padding: 10px 0px 28px;}
.txt-detail p{font: 17px var(--font1); color: #6b7280; line-height: 1.5; padding-bottom: 28px;}
.txt-detail a.btn, .txt-detail .btn-detail{background: var(--color1); padding: 14px 28px; color: #fff; border-radius: 12px; font: 700 10.5px var(--font1); text-transform: uppercase; letter-spacing: 1.5px;box-sizing: border-box;
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;}
.txt-detail .btn-detail{background: #fff; border: 1px solid #6b72808c; color: #000;}
.txt-detail .row{width: 90%}
.page-detail{padding: 110px 0px;}

.cnt-page{padding: 110px 0px; text-align: center;}
.cnt-page p{font: 300 21px var(--font1); color: #6b7280; padding: 20px 0px 35px; width: 750px; max-width: 100%; margin: 0 auto; line-height: 1.5; box-sizing: border-box;}
.cnt-page a.btn{background: var(--color2); padding: 14px 28px; color: #fff; border-radius: 12px; font: 700 10.5px var(--font1); text-transform: uppercase; letter-spacing: 1.5px;
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;}



/**SINGLE**/


.page-serv1{
    padding: 70px 0px;
}
.page-serv1 article{
    width: 780px;
    max-width: 100%;
}
.page-serv1 article img{
    width: 100%;
}
.thumb-page{
    width: 100%;
    max-height: 424px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
}
.thumb-page .owl-stage{padding: 0px !important;}
.image{width: 100%; height: 424px; background-size: cover !important; background-position: center; display: block; border-radius: 20px;}
.page-serv1 article h1{
    margin: 35px 0px 25px;
    font: 40px var(--font1);
    font-weight: 400;
    color: #242424;
}
.page-serv1 article p, .page-serv1 article li{
    font: 16px var(--font2);
    line-height: 34px;
    margin-bottom: 20px;
    color: #686a6f;
    list-style: none;
}
.page-serv1 article li{
	margin-bottom: 0px !important;	
	line-height: 30px;
}
.page-serv1 article li::before{
	    content: "\F0054";
    font-family: "Material Design Icons";
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
   	margin-right: 5px;
    line-height: 30px;
    color: var(--color2);
}
li.blocks-gallery-item::before{
	display: none !important;
}
li.blocks-gallery-item figure{
	margin-bottom: 20px !important;
}
.page-serv1 h2, .page-serv1 h3, .page-serv1 h4, .page-serv1 h5, .page-serv1 h6{
    font-family: var(--font1);
    color: #000;
}
.page-serv1 .blocks-gallery-item figure{
    overflow: hidden;
    border-radius: 7px;
}


.page-serv1 aside{
    width: 370px;
    max-width: 100%;
    margin-left: 30px;
}
.serv-list{
    padding: 45px;
    box-sizing: border-box;
    background: #f4f5f8;
    border-radius: 7px;
    margin-bottom: 30px;
}
.wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption{
    box-sizing: border-box;
}
.dark{
    background: #222429;
}
.serv-list .current_page_item a{
    background: #fff;
    border-radius: 7px;
}
.serv-list h4{
    margin-bottom: 2px;
    font: 24px var(--font1)
}
.dark h4{
    color: #fff;
}
.serv-list li{list-style: none;}
.serv-list a{
    line-height: 48px;
    display: block;
    padding: 15px 20px;
    margin-left: -20px;
    color: #686a6f;
    box-sizing: border-box;font: 15px var(--font1);
    position: relative;
    transition: all 0.4s ease-in-out;
    margin-bottom: 5px;
}
.serv-list a::before{
    content: "";
    display: inline-block;
    width: 2px;
    background: var(--color1);
    height: 0px;
    left: 0px;
    top: 0px;
    position: absolute;
    transition: all 0.4s ease-in-out;
}
.serv-list .current_page_item a::before{
    height: 25px;
}
.serv-list a::after{
    content: "\F0054";
    font-family: "Material Design Icons";
    position: absolute;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
    right: 20px;top: 0;
    line-height: 48px;
    color: var(--color2);
}
.serv-list a:hover{
    border-radius: 7px;
    background: #fff;
    color: #000;
}
.serv-list a:hover::before{
    display: inline-block;
    height: 25px;
    transition: all 0.4s ease-in-out;
}
.serv-list p{
    font: 14px var(--font2);
    line-height: 29px;
    color: #666;
    margin: 20px 0px;
}
.serv-list.dark a{
    color: #fff;
    background: transparent;
    padding: 0px;
    margin-left: 0px;
    font: 20px var(--font1);
}
.serv-list.dark a::before, .serv-list.dark a::after{
    display: none !important;
}

.serv-list.dark a i{
    color: var(--color1);
}





.popup-overlay {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    cursor: zoom-out;
	    backdrop-filter: blur(27px);
}

.popup-content {
    margin: auto;
    display: block;
    max-width: 80%;
    max-height: 80%;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    cursor: default;
    border-radius: 4px;
}


.popup-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.list-page{background: #111; padding: 100px 0px;}
.list-page h5{color: #fff; padding: 10px 0px 55px;}
.list-page p, .list-page li{color: #d1d5db; font: 21px var(--font1); line-height: 1.6; list-style: none;}
.list-page p{width: 60%;}
.list-page li span{color: var(--color1);}
.list-page li{font-size: 16px; text-transform: uppercase;}.list-page .grid_2{padding-top: 20px;}
.list-page a.btn{color: #fff;
    background: #ffffff0d;
    border: 1px solid #ffffff1a; padding: 14px 21px;
    border-radius: 10px;
    font: 800 12px var(--font1);}.list-page a.btn svg{color: var(--color1); margin-right: 10px;}
.btn-contact{padding: 17px 26px; background: var(--color1); font: 800 12px var(--font1); color: #fff; border-radius: 10px; transform: translateY(40px); display: inline-block; letter-spacing: 2px;}

.thumb-proy{box-sizing: border-box; overflow: hidden; width: 100%; height: 380px; border-radius: 20px; position: relative;}
.thumb-proy img{width: 100%; height: 100%; object-fit: cover; object-position: center; transition: all 0.5s ease-out;}
.txt-proy{position: absolute; bottom: 20px; left: 25px; color: #6b7280; font: 800 14px var(--font1); text-transform: uppercase; letter-spacing: 1px;}
.txt-proy p::before{content: ""; display: block; width: 50px; height: 1px; background: var(--color1); margin-bottom: 10px;}


.tabs-header {
    background: #f0f0f0;
    display: inline-flex;
    padding: 5px;
    border-radius: 10px;
    margin-bottom: 30px;
}

.tab-btn {
    border: none;
    padding: 10px 30px;
    cursor: pointer;
    background: transparent;
    font-weight: bold;
    color: #999;
    border-radius: 8px;
    transition: 0.3s;
}

.tab-btn.active {
    background: white;
    color: #000;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.1);
}


.tab-content {
    display: none;
    animation: fadeIn 0.5s;
}

.tab-content.active {
    display: block; 
}


.txt-detail h1 { font-size: 2.3rem; margin-bottom: 10px; }
.txt-detail strong { color: #ff6600; }

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}


.proyectos{padding: 110px 0px; text-align: center;}
.proyectos .grid_4{grid-column-gap: 20px; grid-row-gap: 20px;}
.proyectos h5.title + p{font: 10px var(--font1); color: #6b7280; letter-spacing: 1px; text-transform: uppercase; padding: 15px 0px 25px;}
.ampliar{position: absolute; background: rgba(0,0,0,0.5); width: 100%; height: 100%; top: 0; left: 0;display: flow;
    align-content: center;justify-items: center; opacity: 0; transition: all 0.5s ease-out; cursor: pointer;}
    .ampliar svg{    width: 61px;
    height: 61px;
    background: var(--color1);
    padding: 16px;
    border-radius: 20px;
    /* box-shadow: 0px 4px 7px 0px #ccc; */
    transition: all 0.4s ease-in-out;
    color: #fff;}
    .ampliar p{color: #fff; font: 700 10px var(--font1); text-transform: uppercase; letter-spacing: 1px; display: block;}
.thumb-proy:hover .ampliar{opacity: 1;}
.thumb-proy:hover img{width: 120%; min-height: 100%; height: auto;}
.desafio{padding: 80px; background: #111; border-radius: 40px; width: 1200px; margin: 0 auto; box-sizing: border-box;}
.desafio h6{font: 9px var(--font1); letter-spacing: 4px; color: var(--color1); text-transform: uppercase;}
.desafio h5{color: #fff; padding: 10px 0px 20px;}
.desafio h5 strong{ -webkit-text-stroke: 2px rgba(255, 255, 255, 0.3); color: transparent; padding: 55px 0px 80px;}

.desafio p{color: #6b7280; font: 15.7px var(--font1); line-height: 25px;}
.txt-desf{width: 50%;}
.botons a.btn{width: 50%; padding: 18px 25px; background: var(--color1); color: #fff; font:700 15px var(--font1); text-transform: uppercase; border-radius: 15px; border: 1px solid var(--color1); letter-spacing: 1px;}
.botons a.btn.bt2{background: transparent; border: 1px solid #fff;}
.btn-item.active{box-shadow: 0px 0px 10px 0px #f2f2f2;}

.fixed{background: #fff;}
.fixed .entry{margin-top: -52px;}


.logo{display: flex;
            align-items: center;
            font-family: 'Inter', sans-serif; 
            gap: 12px; }
.logo{background: var(--color1); padding: 20px 20px 20px 40px; color: #fff;}

.icon-box {
    background-color: #FF5511; 
    width: 35px;
    height: 35px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.sub-menu{
    display: block !important;
}

.menu li {
    position: relative;
    list-style: none;
}

.icon-box{background: #fff;}
.icon-letter{color: var(--color1);}
.menu li ul.sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    max-height: 0px;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
    background: #000;
    backdrop-filter: blur(7px);
    border-radius: 15px;
    min-width: 250px; 
    z-index: 2222;
    padding: 0;
}

.menu li ul.sub-menu li ul.sub-menu {
    top: 0;
    left: 100%;
    margin-left: 2px; 
}
.menu li ul.sub-menu li a{font-size: 10px;}


.menu li:hover > ul.sub-menu {
    max-height: 1000px; 
    overflow: visible; 
}


.menu li ul.sub-menu li {
    display: block;
    width: 100%;max-width: 470px; max-width: 100%;
}

.menu li ul.sub-menu li a {
    width: 100%;
    color: #fff;
    line-height: 43px;
    display: block;
    padding: 5px 15px !important;
    text-decoration: none; line-height: 25px;
}


.menu li ul.sub-menu li a:hover {
    background: var(--color1);
    color: #fff;
}

.fixed .menu li ul.sub-menu {
    background: #fff;
}

.fixed .menu li ul.sub-menu li a {
    color: #333;
}


.cabecera{padding: 20px 0px; background: #fff}

.cabecera1.fixed .cabecera ul li a{color: var(--color2);}
.cabecera{padding: 0px 0px; box-shadow: 0px 0px 20px 0px #666666ad;}
.cabecera .container{width: 100%; padding-right: 4%;}

.butons{display: none;}

.icon-letter {
    color: var(--color1);
    font-size: 20px;
    font-weight: 800;
    margin: 0;
}

.brand-name {
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -1px;
    text-transform: uppercase;
}
.clientes {padding: 80px 0px; background: #f9fafb;}
.clientes h5.title{font-size: 42px;}
.client-box{box-shadow: 0px 0px 25px 0px #d1d5dbd5; border-radius: 40px; overflow: hidden;}
.client-box .grid_5 div{background: #fff; padding: 35px 20px; box-sizing: border-box; overflow: hidden; width: 100%; display: flex; align-items: center; justify-content: center;}
.client-box .grid_5 div img{height: 52px; width: auto; display: block;}

.proyectos .grid_2{    grid-column-gap: 30px;
    grid-row-gap: 10px;}

.txt-detail ul li::before{   content: "\eb81";
        font-family: 'remixicon' !important; color: var(--color1); display: inline-block; margin-right: 13px;}
.txt-detail ul{list-style: none; padding-bottom: 20px;}
.txt-detail ul li{color: #4b5563; font: 700 12.5px var(--font1); text-transform: uppercase; letter-spacing: 1px; padding: 10px 0px;}

.page-contact{background-color: #fff;     background-image: radial-gradient(circle, #ddd 1px, transparent 1px);
    background-size: 30px 30px;}


.txt-map {padding: 30px; box-sizing: border-box; background: #fff;}
.contac article{ box-shadow: 0px 0px 9px #cacacac7; border-radius: 20px; overflow: hidden;}
.txt-map .number{ width: 28px; height: 28px; text-align: center; font:700 11px var(--font2); color: #fff; border-radius: 5px; background: var(--color1);  line-height: 28px; margin-right: 8px;}
.txt-map h5{font: 700 21px var(--font2); color: var(--color2);}
.clientes .row{justify-content: flex-start; padding-bottom: 15px;}
.txt-map i{color: var(--color1);font-size: 18px; margin-right: 8px; display: inline-block;}
.txt-map p{color: #6b7280; font: 12px var(--font1); letter-spacing: 1px; text-transform: uppercase; line-height: 20px;}
.btn-map{font: 800 11px var(--font1); color: #a1a1aa; border: 1px solid #f4f4f5; padding: 15px; width: 100%; box-sizing: border-box; border-radius: 10px; display: block; letter-spacing: 2px; text-align: center; transition: all 0.4s linear;}
.btn-map i{color: #a1a1aa;}.btn-map:hover{background: #000; color: #fff;}


@media (max-width: 1220px) {
    .container { width: 95%; }
    .txt-nos { width: 100%; }
    .txt-form { width: 100%; }
    .formulario { width: 100%; margin-top: 30px; }
}
@media (max-width: 1024px) {

    .page-detail .row-center {
        flex-direction: column;
        gap: 40px;
    }

    .thumb-detail,
    .txt-detail {
        width: 100%;
    }

    .thumb-detail {
        height: 360px;
    }

    .txt-detail h1 {
        font-size: 42px;
    }

    .list-page p {
        width: 100%;
    }

    .desafio {
        width: 100%;
        padding: 60px;
    }

    .txt-desf {
        width: 100%;
    }
}


@media (max-width: 992px) {

    .grid_4, .grid_3 { grid-template-columns: repeat(2, 1fr); }
    
    
    .nosotros .row-center, 
    .contact .row-center { flex-direction: column; text-align: left; }
    .row-center.icons{display: flex !important; flex-direction: row; width: 100%;}
    .icons .row{width: 45%; box-sizing: border-box;}
    .ind { width: 100%; }
    .txt-form .row { justify-content: center; }
}

@media (max-width: 768px) {
    .menu-btn { display: block; color: var(--color1); font-size: 30px; cursor: pointer; }
   .indic{margin-top: 20px;}
   .page-detail{padding: 80px 0px;}.thumb-detail-nos, .tabs-container{width: 100%;}.box-nos-detail{position: absolute; right: 0px;}
    .butons,  .butons .btn-head{display: block !important; margin-top: 5px;}
    .txt-conf, .txt-cobert, .maps{width: 100%;}.cobertura .row-center{display: block;}.txt-cobert{padding-bottom: 40px;}
    .slide-nosotros h5{padding: 20px 0px 40px;}
    .cabecera ul { display: flex; flex-direction: column; }
    .cabecera ul li { border-bottom: 1px solid rgba(255,255,255,0.1); width: 100%; box-sizing: border-box; }
.menu-btn{display: block;}
    #menu-check:checked ~ nav { left: 0; opacity: 1; }
    .btn-head{display: none;}
    header { background: var(--color2); } 
    .entry { display: none; }
    
    .slider { height: 400px; }
    h5.title { font-size: 28px !important; }
    
    .grid_4, .grid_3 { grid-template-columns: 1fr; }
    .page-serv1 .row{display: block;}
    .page-serv1 aside{margin-left: 0px;}

    footer .row { display: block; padding: 5px 0px;}
    footer .row > div { max-width: 100% !important; width: 100%;  padding: 30px 0px 15px;}
    footer .cnt .row { justify-content: center; }.btn-row i{margin-right: 20px;}.btn-row{justify-content: center;}
    
    .slide-page {
        padding: 150px 0 90px;
        text-align: center;
    }

    .txt-detail h1 {
        font-size: 36px;
        line-height: 1.1;
    }

    .txt-detail .row {
        flex-direction: column;
        gap: 15px;
        width: 100%;
    }

    .txt-detail a.btn,
    .txt-detail .btn-detail {
        width: 100%;
        text-align: center;
    }

    .list-page .grid_2 {
        grid-template-columns: 1fr;
    }

    .btn-contact {
        transform: translateY(0);
        margin-top: 20px;
        width: 100%;
        text-align: center;
    }

    .cnt-page p {
        font-size: 18px;
        padding: 20px 15px 35px;
    }

    .desafio .row-center {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .botons {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    .grid_5{
        grid-template-columns: repeat(2, 3fr);
    }
    .botons a.btn {
        width: 100%;
    }
}


@media (max-width: 600px) {
    .owl-project .box-project { height: 350px; }
    .copy .row-center { flex-direction: column; gap: 10px; text-align: center; }
    .cabecera nav li{color: #000; text-transform: uppercase; font-size: 14px;}
    ul.sub-menu{position: static;}
    .txt-form .row{display: flex !important; text-align: left !important; justify-content: flex-start !important;  align-items: anchor-center !important;}
    .cabecera nav {
        position: absolute;
       width: 95%; left: -200%; right: 0; margin: 0 auto; top: 68px;
            background: rgb(63 63 63 / 38%); opacity: 0;
    backdrop-filter: blur(40px);
    padding: 5px 0px; border-radius: 20px;
        transition: all 0.4s ease; border: 1px solid #ffffffd9;
        z-index: 999;padding: 20px; box-sizing: border-box;
    }.menu ul.sub-menu{position: static !important;}
    h5.title {
        font-size: 24px;
        line-height: 1.1;
    }
	
	.contact .row, .blog .row-center{display: block; text-align: center;}
	.blog h5.title{text-align: center;}.fixed .menu-btn{color: #000;}
	
	.contact .row span{display: inline-block; margin-top: 30px;}
    .thumb-detail {
        height: 280px;
    }

    .txt-detail h1 {
        font-size: 30px;
    }

    .txt-detail p {
        font-size: 15px;
    }

    .list-page p,
    .list-page li {
        font-size: 15px;
    }

    .proyectos {
        padding: 80px 0;
    }

    .desafio {
        padding: 40px 25px;
        border-radius: 25px;
    }
    a.btn{box-sizing: border-box;}.btn-contact{box-sizing: border-box;}
    .proyectos .grid_2{    grid-template-columns: repeat(1, 3fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;}
    .desafio h5 strong {
        padding: 0;
    }
	.cabecera nav li a{color: #fff !important}
	.fixed .menu li ul.sub-menu{background: #0000 !important;}
	.cabecera nav{background: #000;}
}