@font-face {font-family: 'light'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/light.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'regular'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/regular.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'bold'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/bold.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root{
    --color-primary: #7a1029;
    --color-secondary: #7a1029;
    --color-hover: #5c0c1f;
}

/*HEADER*/
header{ background: white;}
header .logo{ max-width: 200px; max-height: 58px; width: auto; height: auto; object-fit: contain; }
header .navbar{ background: transparent; max-width: 1320px; margin:0 auto; }
header .navbar .navbar-collapse ul{ width: 100%; justify-content:end }
header .top-right{ position:absolute; top:10px; right:15px;}
header .navbar .nav-link.active{ color:black; font-family: 'bold'; }
header a:hover{ color:#ddd; }
header .social-link{ color:#444; margin-left: 10px; }
header .social-link:hover{ color:black; }
header button.btn-mobile {color:#fff; background:transparent; padding:6px 10px; margin-top:8px; margin-bottom:8px; border-radius: 0; outline:none !important; border:none !important; box-shadow:none !important; }
header button.btn-mobile i {padding:0; margin:0; font-size:21px; }
header .btn-mobile .icon-bar {background-color: black; transition: .4s cubic-bezier(0.68, -0.6, 0.32, 1.6); }
header .btn-mobile .icon-bar { display: block; height: 3px; width: 22px; margin: 4px 0; }
header .btn-mobile.open .icon-bar:nth-child(1){ transform:rotate(45deg) translateY(5px) translateX(5px)}
header .btn-mobile.open .icon-bar:nth-child(2){ transform:rotate(-45deg); }
header .btn-mobile.open .icon-bar:nth-child(3){ transform:rotate(45deg) translateY(-7px) translateX(-7px); opacity:0}
header .dropdown:hover .dropdown-menu{ display: block; }
header .dropdown-menu{ margin-top: 0; }
@media (max-width:768px){
    header .navbar .navbar-collapse ul li{ text-align:left; }
    header .social-link{ font-size:20px; margin-left: 20px; margin-top: 10px; display:inline-block; }
    header .nav-link{ font-size:18px; font-family: 'bold'; color:black; }
}
@media (min-width:768px){
    header .dropdown:hover .dropdown-menu{ display: block; }
}
/*END HEADER*/


/*END HEADER*/
*{line-height: 136%; } 
html{ width:100%;  scroll-behavior: smooth; scroll-padding-top: 93px; }
body{background: #fff; overflow-x:hidden; scroll-behavior: smooth; }
p{ font-size: 12px; line-height: 140%; max-height: 999999px;}
li{ font-size: 12px; line-height: 140%; max-height: 999999px;}
.general{height: auto; margin: 0 auto; }
#menu{ margin: 0 auto; height: 113px; overflow: visible; position: relative; }
.seccion { height:auto; background:#fff; }
.seccion .text_descripciones{font-size: 12px; color:#7b7070; }
.seccion .text-center{ text-align: center !important }
.seccion .text-left{ text-align: left !important }
.seccion .h100{ height: 100%;}
.noselect {-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
body.noscroll { overflow: hidden; }
table.table-middle tr, table.table-middle td{ vertical-align: middle !important; }
@media screen and (min-width: 992px){
    .seccion .row-table{ display: table; }
    .seccion .row-table .col{ display: table-cell; float:none; vertical-align: middle; text-align: center;  }
}

.swal2-html-container{ height:auto; max-height: calc( 100vh - 150px); overflow: auto; }
.swal2-popup #swal2-content{ overflow: hidden;}
.swal2-html-container li,.swal2-html-container p{ font-size:17px; }
.swal2-popup.large{ width: 800px; }
.swal2-popup.legal #swal2-content{ text-align: left;}
.swal2-styled.swal2-confirm{ background-color:var(--color-primary) !important; color:#fff !important;}

.LSSI{height: auto; display: none; overflow: hidden; background: rgba(0,0,0,0.6); padding: 0 0 12px; position: fixed; bottom: 0; z-index:10; }
.LSSI .centered{min-height: 40px; margin: 0 auto; padding: 10px 0; width:auto; max-width: 1100px; }
.LSSI p{color:#fff; font-size:16px; margin: 10px; position: relative; font-family: 'regular', sans-serif; } 
.LSSI a{color:#fff; text-decoration: underline; cursor:pointer; }
.LSSI .text-link{color:#fff; text-decoration: underline; cursor:pointer; }
.LSSI .btn{background: var(--color-primary); cursor: pointer; margin: 0 5px 5px 5px; padding: 5px 15px; text-align: center; width: auto; position: relative; border-radius: 5px; text-decoration: none; }
.LSSI .btn span{color: #FFFFFF; font-family: 'regular', sans-serif; font-size: 14px; }
	

.easing{transition: all 400ms cubic-bezier(0.250, 0.460, 0.450, 0.940); transition-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940); }
.easingMedium{transition: all 700ms cubic-bezier(0.000, 0.090, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.090, 0.000, 0.995); }
.easingMediumFast{transition: all 400ms cubic-bezier(0.000, 0.520, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.520, 0.000, 0.995); }
.easingFast{transition: all 200ms cubic-bezier(0.250, 0.460, 0.450, 0.940); transition-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940); }

img.responsive{ width:100%; height:auto; }
img.max-responsive{ max-width:100%; height:auto; }
img.max-responsive-centered{ max-width:100%; height:auto; margin:0 auto; display: block; }

.mt0{ margin-top: 0px !important; } .mt-10{ margin-top: -10px !important; } .mt-20{ margin-top: -20px !important; } .mt10{ margin-top: 10px !important; } .mt20{ margin-top: 20px !important; } .mt30{ margin-top: 30px !important; } .mt40{ margin-top: 40px !important; } .mt50{ margin-top: 50px !important; } .mt100{ margin-top: 100px !important; } .mb0{ margin-bottom: 0 !important; } .mb5{ margin-bottom: 5px !important; } .mb10{ margin-bottom: 10px !important; } .mb20{ margin-bottom: 20px !important; } .mb30{ margin-bottom: 30px !important; } .mb40{ margin-bottom: 40px !important; } .mb50{ margin-bottom: 50px !important; } .ml10{ margin-left: 10px !important; } .ml20{ margin-left: 20px !important; } .ml30{ margin-left: 30px !important; } .mr10{ margin-right: 10px !important;} .mr15{ margin-right: 15px !important;} .mr20{ margin-right: 20px !important;} .mr30{ margin-right: 30px !important;} .pt0{ padding-top: 0 !important;} .pt10{ padding-top: 10px !important;} .pt20{ padding-top: 20px !important;} .pt30{ padding-top: 30px !important;} .pt40{ padding-top: 40px !important;} .pt50{ padding-top: 50px !important;} .pb0{ padding-bottom: 0 !important;} .pb10{ padding-bottom: 10px !important;} .pb20{ padding-bottom: 20px !important;} .pb30{ padding-bottom: 30px !important;} .pb40{ padding-bottom: 40px !important;} .pb50{ padding-bottom: 50px !important;}
.pl20{ padding-left: 20px !important;} .pl40{ padding-left: 40px !important;} .pr20{ padding-right: 20px !important;} .pr40{ padding-right: 40px !important;}
.delay01{ animation-delay: 0.1s; -webkit-animation-delay: 0.1s; } .delay02{ animation-delay: 0.2s; -webkit-animation-delay: 0.2s; } .delay03{ animation-delay: 0.3s; -webkit-animation-delay: 0.3s; } .delay04{ animation-delay: 0.4s; -webkit-animation-delay: 0.4s; } .delay05{ animation-delay: 0.5s; -webkit-animation-delay: 0.5s; } .delay06{ animation-delay: 0.6s; -webkit-animation-delay: 0.6s; } .delay07{ animation-delay: 0.7s; -webkit-animation-delay: 0.7s; } .delay08{ animation-delay: 0.8s; -webkit-animation-delay: 0.8s; } .delay09{ animation-delay: 0.9s; -webkit-animation-delay: 0.9s; } .delay10{ animation-delay: 1s; -webkit-animation-delay: 1s; } .delay11{ animation-delay: 1.1s; -webkit-animation-delay: 1.1s; } .delay12{ animation-delay: 1.2s; -webkit-animation-delay: 1.2s; } .delay13{ animation-delay: 1.3s; -webkit-animation-delay: 1.3s; } .delay14{ animation-delay: 1.4s; -webkit-animation-delay: 1.4s; } .delay15{ animation-delay: 1.5s; -webkit-animation-delay: 1.5s; } .delay16{ animation-delay: 1.6s; -webkit-animation-delay: 1.5s; } .delay17{ animation-delay: 1.7s; -webkit-animation-delay: 1.5s; } .delay18{ animation-delay: 1.8s; -webkit-animation-delay: 1.5s; } .delay19{ animation-delay: 1.9s; -webkit-animation-delay: 1.5s; } .delay2{ animation-delay: 2s; -webkit-animation-delay: 2s; } .delay21{ animation-delay: 2.1s; -webkit-animation-delay: 2s; } .delay22{ animation-delay: 2.2s; -webkit-animation-delay: 2s; } .delay23{ animation-delay: 2.3s; -webkit-animation-delay: 2s; } .delay24{ animation-delay: 2.4s; -webkit-animation-delay: 2s; } .delay25{ animation-delay: 2.5s; -webkit-animation-delay: 2.5s; } .delay3{ animation-delay: 3s; -webkit-animation-delay: 3s; } .delay4{ animation-delay: 4s; -webkit-animation-delay: 4s; } .delay5{ animation-delay: 5s; -webkit-animation-delay: 5s; } .delay6{ animation-delay: 6s; -webkit-animation-delay: 6s; }
.text-clamp2{ -webkit-line-clamp:2; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;}
.text-clamp3{ -webkit-line-clamp:3; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;}
ul{ padding-left: 0; list-style: outside none; }
.badge-success{ background: #00A93E; white-space: normal; }
.badge-info{ background: #57b0c9; white-space: normal; }
.badge-danger{ background: #D03A3A; white-space: normal; }
.badge-orange{ background: #E7C03A; white-space: normal; }
.badge-purple{ background: #B25EFD; white-space: normal; }
.badge-blue {color: white; background:#9c2c44 ; }
.badge-light{ background: #FFFFFF; white-space: normal; color:#5E5E5E; border:1px solid rgba(0,0,0,0.1); }

.manage-admin-content.cke_editable{ outline: 1px dashed white; box-shadow: 0 0 1px #000; }
.manage-admin-content.cke_focus{ outline: 2px solid white; box-shadow: 0 0 3px #000; }

.btn{ border-radius: 8px; border:none; white-space: normal; padding:8px 20px;}
.btn-primary{ background-color: var(--color-primary); font-family: 'bold'; font-size: 16px; color: white; transition: background 0.2s; }
.btn-primary:hover{ background-color: var(--color-hover); }
.btn-primary.btn-lg{ padding:5px 28px; font-size: 26px;  }
.btn-block{ width: 100%;}
.contentSection a.btn{ color:#fff; font-size: 18px; }
.btn-center{ display: table; margin:0 auto; }
.seccion .btn-primary.transparent {margin: 28px 8px 0 0; padding: 6px 75px 6px 63px; border: solid 2px black; background-color: transparent; font-family: 'regular'; font-size: 26px; color: #000; }

.contentSection h3{ font-weight: bold; }
.seccion{ font-family: 'regular',sans-serif; }
.seccion .slide-big{ position: relative; width: 100%; overflow: hidden;} 
.seccion .relative { position: relative; }
.seccion .absolute { position: absolute; }
.seccion .slide-big p.text-slide {position: absolute; font-family: 'bold'; font-size: 50px; line-height: 42px; transform: translate(-50%); left: 50%; top: 50%; text-shadow:0 0 5px rgba(0,0,0,0.8) }
.seccion .slide-big img{ min-height:50vh; object-fit: cover; }
.seccion .text-white {color: white;}
.seccion .title{font-size: 40px; font-family: 'bold'; text-align: center;}
.seccion .subtitle {font-family: 'bold'; font-size: 30px; }
.seccion .subtitle2 {font-family: 'bold'; font-size: 20px; }
.seccion .subtitle3 {font-size: 18px; }
.seccion .text-xl {font-size: 30px; font-family: 'regular'; }
.seccion .text-lg {font-size: 25px; font-family: 'regular'; }
.seccion .text-md {font-size: 18px; font-family: 'regular'; }
.seccion .text {font-size: 18px; font-family: 'regular'; }
.seccion .separator {height: 4px; width: 100%;background-color: var(--color-primary);}
.seccion .separator-small {width: 267px; height: 4px; margin: 30px auto; background-color: var(--color-primary); }
.seccion .checkbox label {font-size: 15px; font-family: 'regular';margin: 0 auto 10px auto; padding-left: 5px; display:block;}
.seccion .google-maps {margin-top: 20px; }
.seccion #map {width: 100%; height: auto; }
.seccion .checkbox {position: relative; }
.checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {position: relative; float:left; width: 30px; height: 20px; margin-top: 0; }
.seccion .background-gray{background: rgb(233 233 233 / 90%); ; padding: 50px 0 20px 0;;}
.seccion ul.list.checked {padding-left: 15px; } 
.seccion ul.list li {font-size: 20px; font-family: 'regular'; line-height: 32px; }
.seccion ul.list.checked li::before {content: "\f00c"; font-family: 'FontAwesome'; color: var(--color-primary); margin-right: 10px; margin-left: -30px; }
.seccion textarea{ resize:none; }
.seccion .w800{ max-width: 800px; display:table; margin:0 auto; }
.seccion .w1000{ max-width: 1000px; display:table; margin:0 auto; }
.row-parallax {position: relative; padding: 15px 15px; overflow: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d;} 
.row-parallax:before {content: ""; position: absolute; z-index: 1; top: 0; width: 100%; height: 58px; }
.parallax  {transform: translateY(-57.9271px) translateX(-50%); }
.row-parallax .container{ position:relative; z-index: 1;}
.row-parallax img.parallax {position: absolute; left: 50%; top: -20%; bottom: 20px; height: 150%; min-width:100%; z-index: 0; filter: brightness(0.5); }
.visible-sm{ display:none !important;} .visible-xs{ display:none !important;}
@media (max-width:992px){
    .hidden-sm{ display:none !important}
    .visible-sm{ display:block !important}
    .hidden-sm{ display:none}
}
@media (max-width:768px){
    .hidden-xs{ display:none}
    .hidden-xs{ display:none !important}
    .visible-xs{ display:block !important}
}

.swiper-pagination-bullets .swiper-pagination-bullet-active-main{ background:white; }

.seccion ul.special-links li{ font-size:16px; font-family: 'bold'; margin-bottom: 10px; }
.seccion ul.special-links li a{ text-decoration: none; color:#3a0a14;}
.seccion ul.special-links li a:hover{ text-decoration: underline;}

.seccion .img-cover{ width: 100%; height:100%; object-fit: cover;}
@media (max-width:992px){
    .seccion .img-cover{ width: 100%; height:auto; object-fit: unset;}
}

img.products {width: 80%;}
.box-white-ul {background: white; padding: 30px 15px; box-shadow: 0 3px 50px 0 rgb(0 0 0 / 16%); }
.box-white-ul ul.list {padding-left: 25px; margin-top: 30px; }
i.fa { font-size: 20px;}
.nav-logotipos {padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-logotipos .logo.active {opacity: 1; }
.nav-logotipos .logo {width: 20%; padding: 0 15px; float: left; opacity: 0.5; transition: ease all 0.3s; outline: none; }
.portfolio .categorias {display: block;}
.portfolio .fusion-filters {display: none; overflow: hidden; list-style: none; margin-bottom: 55px; padding: 0; line-height: 34px; border-top: 1px solid #e7e6e6; border-bottom: 1px solid #e7e6e6; }
.portfolio .fusion-filters li{float: left; margin-right: 30px; line-height: 34px; font-size: 20px; font-family: regular;}
.portfolio .trabajos {margin: -10px; position: relative; }


@media screen and (max-width: 992px){
	.seccion .slide-big p.text-slide {font-size: 35px; }
	.seccion h1{font-size: 50px;}
	.row-parallax::before{ left:0;}
    .row-parallax::after{ left:0;}
    .row-parallax img.parallax{position: absolute; left:50%; top:0; min-width: 100%; width:auto; height: 150%; }
    .seccion .row-galeria-1 .col .overlay .title{ font-size: 19px; }
    .seccion .galeria2 .featured-services a:hover .glyphicon { opacity: 1; font-size: 12px; padding: 0px;}
}


/*MODAL center in middle*/
.modal {text-align: center; padding: 0!important; }
.modal:before {content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -4px; }
.modal-dialog {display: inline-block; text-align: left; vertical-align: middle; }

.row-table-price { margin-top: 40px; }
.row-table-price .bakground-top {object-fit: contain; background: #4a0f1f; border-top-left-radius: 20px; border-top-right-radius: 20px; margin-bottom: 0px; padding: 20px; }
.row-table-price .box-content {box-shadow: 0 5px 15px 0 rgb(6 48 100 / 26%); min-height: 990px; }
.row-table-price p.price {font-size: 60px; font-family: 'bold'; color: #4a0f1f; text-align: center; font-weight: bold; margin-bottom: 0; }
.row-table-price p.ahorra {font-size: 18px; font-family: 'bold'; color: #4a0f1f; text-align: center; font-weight: bold; }
.row-table-price .btn-primary.blue {background-color: var(--color-primary); padding: 15px 20px; border-radius: 9px; font-size: 20px; }
.row-table-price .box-content {border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
.row-table-price .box-content {padding: 52px; }
.row-table-price .box-content {background: #ebf8fb; padding: 31px;}
.swiper-container {margin-left: auto; margin-right: auto; position: relative; overflow: hidden; list-style: none; padding: 0; z-index: 1; }
.swiper-wrapper {position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; }
.swiper-slide {flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }
.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {left: 50%; transform: translateX(-50%); white-space: nowrap; }
.swiper-container .swiper-notification {position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; }

@media screen and (max-width: 1200px){
	.row-table-price .box-content {padding: 12px;}

}
@media screen and (max-width: 992px){
	.row-table-price .box-content {padding: 40px;}
}

.row-white{ padding:40px 15px; }

/*SLIDER HOME*/
.seccion .slider-home .swiper-slide { height: 80vh; min-height: 600px; overflow: hidden; }
.seccion .slider-home .swiper-slide img.responsive { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.seccion .slider-home .carousel-caption { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 15px; left: 0; right: 0; bottom: auto; }

/* Ensure text visibility over images */
.seccion .slider-home .carousel-caption p, 
.seccion .slider-home .carousel-caption .text-black { font-size: 32px; margin-top: -10px; margin-bottom: 0; color: #fff !important; text-shadow: 0 2px 5px rgba(0,0,0,0.7); }

.seccion .slider-home .carousel-caption span.background {font-family: 'bold' !important; padding: 3px 15px 3px 15px; display: inline-block; line-height: 88%; }
.seccion .slider-home .carousel-caption .btn{ font-weight: 800; }
.seccion .slider-home .carousel-caption .title{font-size: 60px; margin-top: -10px; margin-bottom: 0; color:var(--color-primary); line-height: 1; }
.seccion .slider-home .carousel-caption .title strong{font-size: 60px; margin-top: -10px; margin-bottom: 0; color:var(--color-pink); line-height: 1; }

.seccion .slider-home .carousel-caption.left { align-items: flex-start; text-align: left; }
.seccion .slider-home .carousel-caption.left p{text-align: left; }
.seccion .slider-home .carousel-caption.left .title{text-align: left; }

.seccion .slider-home .carousel-caption.right { align-items: flex-end; text-align: right; }
.seccion .slider-home .carousel-caption.right p{ text-align: right; }
.seccion .slider-home .carousel-caption.right .title{ text-align: right; }

.seccion .slider-home .carousel-caption.center{ align-items: center; text-align: center; }
.seccion .slider-home .carousel-caption.center p{ text-align: center; }
.seccion .slider-home .carousel-caption.center p.title{text-align: center;}

@media screen and (max-width: 992px){
	.seccion .slider-home .swiper-slide { height: 500px; }
}
@media (max-width:768px){
    .seccion .slider-home .carousel-caption .title{ font-size:9vw; }
    .seccion .slider-home .carousel-caption .title strong{ font-size:9vw; }
}
/*END SLIDER HOME*/

/*groups for faqs*/
.seccion .group{ background:#fff; font-size:20px; color:var(--color-black); padding:10px 15px; font-family:'bold'; font-weight:700; border-bottom:1px solid rgba(30,30,30,0.18); box-shadow: 0 2px 10px 0 rgb(0 0 0 / 6%); }
.seccion .group:after{ content:"\f107"; font-family: 'FontAwesome'; float:right; position:relative; margin-right: 0; color:var(--color-secondary); }

.seccion .group-faqs .accordion{ border-radius:8px; overflow: hidden; background: white; border:1px solid rgba(30,30,30,0.12); box-shadow: 0 3px 18px 0 rgb(0 0 0 / 8%); }
.seccion .group-faqs .accordion-item{ border: none; background:transparent; }
.seccion .group-faqs .accordion-button{ background: #fff; color:var(--color-black); outline:0; box-shadow:none; border-bottom:1px solid rgba(30,30,30,0.18); padding-left: 15px; padding-right: 15px; font-size:18px; }
.seccion .group-faqs .accordion-button:not(.collapsed){ background: #fff; color:var(--color-secondary); border-bottom:1px solid var(--color-secondary); }
.seccion .group-faqs .accordion-button::after{ filter:none; }
.seccion .group-faqs .accordion-body{ background-color:#fff; color:var(--color-gray); border:none; padding:15px; }
.seccion .group-faqs .accordion-body p,.seccion .group-faqs .accordion-body li{ color:var(--color-gray); }
.seccion .group-faqs .accordion-body a{ color:var(--color-secondary); }
.seccion .group-faqs .accordion-body a:hover{ color:var(--color-primary); }
.seccion .group-faqs .faq-question{ font-family: 'bold'; font-weight: 700; color: var(--color-black); line-height: 1.2; }
.seccion .group-faqs .accordion-button:not(.collapsed) .faq-question{ color: var(--color-secondary); }

/*HOME*/
.seccion-home .gallery-slider .swiper-slide{ width:28%; position:relative; }
.seccion-home .gallery-slider .swiper-slide img{ transition:ease filter .3s; }
.seccion-home .gallery-slider .swiper-button-next {color: white!important; text-shadow:0 0 5px rgba(0,0,0,0.3),0 0 10px black,0 0 15px black;}
.seccion-home .gallery-slider .swiper-button-prev{color: white!important;opacity: 1.35; text-shadow:0 0 5px rgba(0,0,0,0.3),0 0 10px black,0 0 15px black;}
.seccion-home .text-carousel{position: absolute; display:none; left:5%; top:0; width: 90%; height: 100%; padding:15px;}
.seccion-home .text-carousel p{position: absolute; top:50%; transform: translateY(-50%); color: white; margin: auto 0; line-height: 1.3;}
.seccion-home .swiper-slide:hover .text-carousel{ display:block; }

/*END HOME*/

/*CONTACTO*/
.contact-2 .form-group input {display: block; width: 100%; height: 50px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: black; background-color: transparent; background-image: none; border: 3px solid #707070; border-radius: 10px; }
.contact-2 textarea.form-control {display: block; width: 100%; height: 300px; padding: 25px 12px; font-size: 14px; line-height: 1.42857143; color: black; background-color: transparent; background-image: none; border: 3px solid #707070; border-radius: 15px; border-color: var(--color-primary); font-size: 22px; } 
.contact-2 .form-group .form-control {border-color: var(--color-primary); font-size: 15px; }
.contact-3 .pie-slider {background-color: var(--color-primary); position: relative; width: 100%; display: inline-block; padding: 30px 10px; }
.contact-3 .pie-slider h1{ margin:0; font-family: 'bold'; }
.contact-3 .fa-map-marker{ font-size:40px; }
/*END CONTACTO*/

/*QUIENES SOMOS*/
.seccion-quienes-somos .linea {position: relative; }
.seccion-quienes-somos .linea p {display: table; margin-left: auto; margin-right: auto; background: white; z-index: 1; position: relative; padding-right: 16px; padding-left: 16px; }
.seccion-quienes-somos .linea::after {content: ''; height: 2px; width: 100%; background: var(--color-primary); display: block; position: absolute; top: 50%; }
.seccion-quienes-somos .title-first {font-size: 40px; margin-top: 30px; font-weight: normal; }
.seccion-quienes-somos .fa{font-size: 25px;}
.seccion-quienes-somos .box-blue {padding: 30px 100px; border-radius: 37px; background-color: rgb(233 233 233 / 90%); }
.seccion-quienes-somos .box-blue.pequeña {padding: 20px 30px; border-radius: 37px; background-color: rgb(233 233 233 / 90%); }
.seccion-quienes-somos .col-text-special {padding-left: 100px; padding-right: 60px; }
.seccion-quienes-somos .background-gray.pasos-a-seguir span.number{background-color: #9c1f38; color: white; border-radius: 50%; padding: 10px 18px; font-family: 'bold'; margin-right: 10px; margin-left: -55px; float: left;}
.seccion-quienes-somos .background-gray.pasos-a-seguir ul.list {padding-left: 55px;}
.seccion-quienes-somos .background-gray.pasos-a-seguir ul.list li{margin-bottom: 25px;}

@media screen and (max-width: 992px){
	.seccion-quienes-somos .col-text-special {padding-left: 20px; padding-right: 20px; }
	.seccion-quienes-somos .box-blue {padding: 20px 30px; }

}
/*END QUIENES SOMOS*/



/*BLOG*/
.sidebar-blog { margin-top: 20px; width: 100%; box-sizing: border-box; background-color: transparent; border:none; }
.sidebar-blog .containerSidebar { position: relative; margin-bottom: 40px; }
.sidebar-blog .title { margin-bottom: 0; font-weight: normal; font-family: 'bold'; font-size: 25px; text-align:left; }

.sidebar-blog ul{  padding-left:0; list-style: outside none none; margin-bottom: 0; }
.sidebar-blog ul li{ display: block; margin-top: 10px;}
.sidebar-blog ul li:hover{ background-color:#fff; }
.sidebar-blog .latestPosts ul li:hover a{ color:#1A1916; }
.sidebar-blog ul li a{ color:#1A1916; text-decoration: none; display: block; width: 100%; font-size:20px; font-family: 'light'; line-height: 150%}
.sidebar-blog ul li a:hover{ text-decoration: underline; }
.sidebar-blog .popularTags ul li{ display: inline-block; float:left; }
.sidebar-blog .popularTags ul li a{ padding:5px 15px; background-color:#a51830; color:#fff; text-decoration: none; display: inline-block; width: auto; font-size: 14px;}
.sidebar-blog .btn{ color:#30394D !important }
.sidebar-blog .row-icons img{ width: 50px; margin:0 3px 30px 3px; }

.seccion-blog .row-top{ background-color: #000; padding:30px 15px; }
.seccion-blog .title{ color:#c3c3c4; }
.seccion-blog .subtitle{ color:#c3c3c4; font-size:28px; }
.seccion-blog p,.seccion-blog a,.seccion-blog li{ color:#1A1916; }
.seccion-blog .text-orange {color: #ff6501; }
.seccion-blog .banner{display: block; width: 950px; height: auto; }
.seccion-blog .postContainer { box-sizing: border-box; display: block; height: auto; position:relative; overflow: hidden; margin-top: 20px; margin-bottom: 30px; padding-bottom: 15px; }
.seccion-blog .postDate {background-color: transparent; box-sizing: border-box; display:block; padding: 9px; }
.seccion-blog .glyphicon-time{ color:#666666; font-size:12px; }
.seccion-blog .postContent{ text-decoration: none; display: block; position: relative; height: 100%;}
.seccion-blog .postContent .time{font-size:12px;}
.seccion-blog .postContent .imgPost{width: 100%;}
.seccion-blog .postContent .textPost{ color: #363636; font-size:18px; display: block; margin-bottom: 10px; }
.seccion-blog .postContent .textPost b{ color: #1C1C1C; font-size:18px; }
.seccion-blog .postContent .textPost h3{ color: #a51830;  }
.seccion-blog .postContent .textPost h4{ color: #000; }
.seccion-blog .postContent .textPost strong{ color: #1C1C1C; }
.seccion-blog .postContent .textPost .orange{ color: #ff6501; }
.seccion-blog .postContent .textPost .blue{ color: #a51830; }
.seccion-blog .postContent .textPost pre{ font-weight: bold; border-radius: 0; border:0; border-bottom: 1px solid #a51830; }
.seccion-blog .postContent .textPost pre:before{ content:"\E044"; display: inline; font-family: "Glyphicons Halflings"; float:left; margin-right: 10px; color:#a51830;  }
.seccion-blog .postContent .readmore:after{ content: "\e161"; font-family: "Glyphicons Halflings"; display: inline; margin-left: 10px; font-size:13px ;}
.seccion-blog .postContent .readmore{ float: right; font-weight: bold; color:#ff5e00;  margin-top: 15px; text-decoration: none;}
.seccion-blog .postContent .readmore:hover{ color:black;}
.seccion-blog .postContainer  .btn{ color:#30394D;}
.seccion-blog .postDate span {border-bottom: 1px solid #E1E1E1; display: inline-block; font-size: 60px; line-height: 50px; text-align: center; width: 100%; padding-bottom: 5px; }
.seccion-blog .postDate small { display:block; color: #7F7F7F; width: 100%; text-align: center; margin-top: 5px; }
.seccion-blog .titlePost{ margin-top:0; font-weight: bold; margin-bottom: 10px; font-family: 'regular'; font-size:28px; color:#c3c3c4; height: 26px; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; display: -webkit-box; display: box; display: -ms-flexbox; }
.seccion-blog .titlePost a{ text-decoration: none; font-size: 18px; font-weight: normal; color:#c3c3c4; font-family: 'regular'; line-height: 100%; text-transform: uppercase; }
.seccion-blog .btnLoadMore{ color:white; }


.seccion-blog .postContainer .separator{ margin-top: 0}
.seccion-blog .tagConnected li{ display: inline; margin-right: 5px; }
.seccion-blog .tagConnected li a{ color:#777; font-size: 18px; font-weight: normal; text-transform: uppercase; font-family: 'light'; white-space: nowrap;}
.seccion-blog .tagConnected li a:hover{ text-decoration: underline; }
.seccion-blog p.shareTitle{ width: 100%; display:block; font-size: 25px; }
.seccion-blog .socialButtons {box-sizing: border-box; height: auto; min-height: 40px; padding: 10px 0 0 10px; width: 100%; background-color: #F7F7F7;}
.seccion-blog h1 span .glyphicon{ font-size:24px;}
.seccion-blog .pagination li.active a{ background: #a51830; border:1px solid #a51830; }
.seccion-blog .extra{ transition: all 400ms cubic-bezier(0.000, 0.520, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.520, 0.000, 0.995);}
.seccion-blog .postContainer .subtitle2{ padding:8px; }
.seccion-blog .postContainer .postDate{ padding:8px; }
.seccion-blog .postContainer .textPost{ padding:8px; }
.seccion-blog .postContainer .tags-connected{ padding:8px; }
.seccion-blog .postContainer .tags-connected .badge{ background:#000; }
.seccion-blog .postContainer .over-layer{ display:block; opacity:0; transition:ease all .3s; position:absolute; top:50%; left:50%; transform:translateX(-50%) translatey(-50%); }
.seccion-blog .postContainer .over-layer img{ position:absolute; top:80%; left:50%; transform:translateX(-50%) translateY(-50%); transition:ease-out all .3s; }
.seccion-blog .postContainer:hover .over-layer{ background:rgba(91, 120, 199, 0.4); color:white;  font-size:100px; font-family: 'bold'; width: 100%; height:100%; z-index: 10; opacity:1;}
.seccion-blog .postContainer:hover .over-layer img{ top:50%; }
.seccion-blog .fixed{ position: relative; margin-top: 100px; }

.seccion-blog-detail .postContainer .title{ color:#222; }
.seccion-blog-detail .postContainer .subtitle{ color:#222; font-size:28px; }
.seccion-blog-detail p,.seccion-blog-detail a,.seccion-blog-detail li{ font-family:'regular'; }
.seccion-blog-detail h2,.seccion-blog-detail h3,.seccion-blog-detail h4{ font-family:'regular'; font-weight: normal; }
.seccion-blog-detail .contentSection .breadcrumbs{ margin:-15px -15px 0 -15px; background-image: linear-gradient(#4d4d4f, #000); }
.seccion-blog-detail .contentSection .breadcrumbs .breadcrumb{ background-image: linear-gradient(#4d4d4f, #000); color:white; margin-bottom: 0; }
.seccion-blog-detail .text-orange {color: #ff6501; }
.seccion-blog-detail .contentSection .breadcrumbs .breadcrumb a{ color:#E9E5D3; font-size:14px; }
.seccion-blog-detail .contentSection .breadcrumbs .breadcrumb span{ font-size:14px; }
.seccion-blog-detail .postContainer { box-sizing: border-box; display: block; height: auto; overflow: hidden; }
.seccion-blog-detail .postDate {background-color: #F7F7F7; box-sizing: border-box; float: left; padding: 9px; }
.seccion-blog-detail .postContent .imgPost{width: 100%; margin-bottom: 0; }
.seccion-blog-detail .postContent .textPost{ color: #666666; font-size: 20px; font-family: 'regular'; color: #555555; text-align: left }
.seccion-blog-detail .postContent .textPost a{ font-size: 18px; color:#666666;  }
.seccion-blog-detail .postContent .textPost a:hover{ color:#222;  }
.seccion-blog-detail .postContent .textPost b{ font-family: 'regular'; font-weight: normal; color:#222; }
.seccion-blog-detail .postContent .textPost strong{ font-family: 'regular'; font-weight: normal; color:#222; }
.seccion-blog-detail .postContent .textPost p{ color: #666666; }
.seccion-blog-detail .postContent .textPost h3{ color: #a51830;  }
.seccion-blog-detail .postContent .textPost h4{ color: #000; }
.seccion-blog-detail .postContent .textPost .big{ font-size: 27px !important; font-weight: normal; margin-top: 5px; color:#a51830; line-height: 120%; }
.seccion-blog-detail .postContent .time span{font-size:14px; }
.seccion-blog-detail .postContent .time{font-size:14px; text-align: right; color:rgba(0,0,0,0.5);}
.seccion-blog-detail .postContent .textPost .bold{ color:#444; }
.seccion-blog-detail .postContent .textPost strong{ color:#444; font-weight: bold; }
.seccion-blog-detail .postContent li{ font-size: 18px; }
.seccion-blog-detail .postContent ul{ padding-left: 0; list-style: outside none; margin-top: 10px; margin-bottom: 10px; }
.seccion-blog-detail .postContent ul li::before{ content:"\e046"; font-size:12px; font-family: 'Glyphicons Halflings'; float:left; margin-right: 10px; color:#999; }
.seccion-blog-detail .postContent ol{ padding-left: 0; margin-top: 10px; margin-bottom: 10px; list-style:outside none; counter-reset: item; }
.seccion-blog-detail .postContent ol li::before{ color:#444; font-size:15px; content: counter(item) ". "; counter-increment: item; font-weight: bold; }
.seccion-blog-detail .postContent .textPost .orange{ color: #e35a17; }
.seccion-blog-detail .postContent .textPost .blue{ color: #a51830; }
.seccion-blog-detail .postContent .textPost pre{ font-weight: bold; border-radius: 0; border:0; border-bottom: 1px solid #62a217; }
.seccion-blog-detail .postContent .textPost pre:before{ content:"\E044"; display: inline; font-family: "Glyphicons Halflings"; float:left; margin-right: 10px; color:#444;  }
.seccion-blog-detail .postContent .readmore:after{ content: "\e161"; font-family: "Glyphicons Halflings"; display: inline; margin-left: 10px; }
.seccion-blog-detail .postContent .readmore{ float: right; font-weight: bold; color:#ff5e00; margin-top: 15px; text-decoration: none;}
.seccion-blog-detail .postContent .readmore:hover{ color:black;}
.seccion-blog-detail .postContent table{ border-color: #ccc; width: 100%;  }
.seccion-blog-detail .postContent table th{ padding:4px 10px; border-color: #ccc; border-bottom: 3px #ccc solid; }
.seccion-blog-detail .postContent table td{ padding:4px 10px; border-color: #ccc; }
.seccion-blog-detail .postContent .btn{ margin-bottom: 10px; }
.seccion-blog-detail .postContent a{ color:#a51830;}
.seccion-blog-detail .postContent a.btn{ text-decoration: none; color:white; }
.seccion-blog-detail .postContent a.btn.yellow{ color:#30394D; }
.seccion-blog-detail .postContent a.btn.blue{ color:white; }
.seccion-blog-detail .postContent a.btn.orange{ color:white; }
.seccion-blog-detail .postDate span {border-bottom: 1px solid #E1E1E1; display: inline-block; font-size: 60px; line-height: 50px; text-align: center; width: 100%; padding-bottom: 5px;}
.seccion-blog-detail .postDate small { display:block; color: #7F7F7F; width: 100%; text-align: center; margin-top: 5px; }
.seccion-blog-detail .titlePost{ margin-top:0; text-align: left; font-weight: normal; }
.seccion-blog-detail .titlePost a{ text-decoration: none; color: #a51830; font-size: 20px; }
.seccion-blog-detail .postContainer .separator{ margin-top: 0}
.seccion-blog-detail ul.tagConnected li::before{ content:''; }
.seccion-blog-detail .tagConnected { display: inline-block; list-style: outside none none; padding-top: 15px; padding-bottom: 20px; width: 100%; }
.seccion-blog-detail .bottom p.big{ color:white !important; padding-top: 10px; }
.seccion-blog-detail .tagConnected li{ display: inline; padding:0 7px 0 7px; }
.seccion-blog-detail .tagConnected li+li{ border-left:3px solid #a51830; }
.seccion-blog-detail .tagConnected li a{ background: var(--color-primary); padding:10px 15px; border-radius: 5px; color:white; font-size: 16px; font-weight: normal; font-family: 'light'; text-decoration: none; }
.seccion-blog-detail .tagConnected li a:hover{ text-decoration: underline; }
.seccion-blog-detail p.shareTitle{ width: 100%; display:block; font-size: 25px; }
.seccion-blog-detail .socialButtons {box-sizing: border-box; height: auto; min-height: 40px; padding: 10px 0 0 10px; width: 100%; background-color: #F7F7F7;}
.seccion-blog-detail h1 span .glyphicon{ font-size:24px;}
.seccion-blog-detail blockquote p{ color:white; font-size:25px; }
.seccion-blog-detail .postContent blockquote{ margin:0; border:none; padding:20px 15px; color:white; font-size:25px; font-family:'regular'; font-style: normal; background: rgb(35,180,176);
background: -moz-linear-gradient(left,  rgba(35,180,176,1) 0%, rgba(10,103,139,1) 100%);
background: -webkit-linear-gradient(left,  rgba(35,180,176,1) 0%,rgba(10,103,139,1) 100%);
background: linear-gradient(to right,  rgba(35,180,176,1) 0%,rgba(10,103,139,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b5325a', endColorstr='#5c0c1f',GradientType=1 );
}
.seccion-blog-detail .postContent blockquote p{ color:white !important; margin-top: 0; font-size:25px; font-family:'regular'}
.seccion-blog-detail .textPost .bottom{ background-image: linear-gradient(#4d4d4f, #000); color:white; }
.seccion-blog-detail .textPost a{ text-decoration: underline; }
.seccion-blog-detail .extra{ transition: all 400ms cubic-bezier(0.000, 0.520, 0.000, 0.995); transition-timing-function: cubic-bezier(0.000, 0.520, 0.000, 0.995);}
.seccion-blog-detail .fixed{ position: relative; margin-top: 100px; }
.seccion-blog-detail .share-box .big{ display: inline-block; }
.seccion-blog-detail .share-box #st-1{ display: inline-block; }
.seccion-blog-detail .share-box p.text-info{ font-size:18px; color:#8a1530; margin-top: 15px; }
.seccion-blog-detail .share-box .likefb{ display: inline-block; margin-top: -20px; }
@media screen and (max-width: 1200px){
    .seccion-blog-detail .share-box{ margin-bottom: 100px; }
}
@media screen and (max-width: 992px){
    .seccion-blog-detail .share-box{ margin-bottom: 20px; text-align: center; }
  .seccion-blog-detail .container > div{ padding:0; }
  .seccion-blog-detail .postContent .textPost{ font-size: 20px; line-height: 150%; }
  .seccion-blog-detail .postContent .textPost a{ font-size: 20px; }
  .seccion-blog-detail .sidebar-blog{ margin-bottom: 100px; }
  .seccion-blog-detail .sidebar ul li a{ font-size: 18px;}
  .seccion-blog-detail .container-caption{ width: 100%; height: 100%; position: absolute; left:0; top:0; }
  .seccion-blog-detail .carousel-caption{ top:0; transform:initial; }
  .seccion-blog-detail .carousel-caption h2{ overflow: hidden; font-size:38px; top:50%; transform:translateY(-50%); }
}
/*END BLOG*/

.login-layer{ position:fixed; top:0; left:0; width:100%; height:100%; z-index: 10; overflow:auto; }
.login-layer .backdrop{ top:0; left:0; width: 100%; height: 100%; position:fixed; background-color: rgba(0,0,0,0.5) }
.login-layer .layer{ background-color: white; top:50%; left:50%; transform:translateX(-50%) translateY(-50%); position:absolute; padding:15px 20px; width: 100%; max-width: 470px; font-family: 'light'; font-size:15px; -webkit-animation: custom-login 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; animation: custom-login 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; max-height:calc(100% - 15px); overflow: auto; }
.login-layer .layer p{ font-family: 'light'; font-size:15px; z-index: 1; }
.login-layer .btn-primary{ padding:6px 15px !important; }
.login-layer .btn-primary i{ font-size: 25px; }
.login-layer .form-control {box-shadow: none; border-bottom: 1px solid rgba(0,0,0,.075); font-family: 'regular'; margin-bottom: 10px; }
.login-layer .close {margin-top: 5px; font-family: serif; font-size: 35px; position: absolute; z-index: 10; top: 0; right: 12px; opacity:1; color:white; text-shadow:0 0 3px black; cursor:pointer; }
.login-layer p.subtitle{ font-family: 'light'; font-size:28px; margin-top: 20px; color:#5d4e42; }
.login-layer p.subtitle b{ color:#5d4e42; font-family: 'bold';  }
.login-layer p.subtitle2{ font-family: 'bold'; color:#212121; font-size:18px; margin-bottom: 20px; }
.login-layer .pass{ float:right; margin-top: 30px; font-size:14px; color:#212121;}
.login-layer .checkbox label{ font-family: 'light'; color:#5d4e42; font-size: 14px; }
.login-layer .checkbox a{ font-family: 'bold'; color:#5d4e42; font-size: 14px; text-decoration: underline; }
.login-layer .header{ position:relative; margin:-15px -20px 0 -20px; }
.login-layer .header .btn {position: absolute; bottom: 10px; left: 50%; z-index: 1; transform: translateX(-50%); background:rgba(255,255,255,0.9); color: #3e2e24; border-radius: 0; font-size: 20px;}
.login-layer .header .btn:hover{ background:rgba(255,255,255,0.7); }

.login-layer .header .logo-label{ position:absolute; top:0; left:0; z-index: 1; }
.login-layer .header .background{ position:relative; }
.login-layer .badge-light{ display: table; margin: 14px auto; background-color: white; border: 1px solid #5d4e42; color: black; padding: 8px 10px; font-family: 'bold'; font-weight: bold; font-size: 14px; }
@media screen and (max-width: 992px) {
    .login-layer .form-control{ font-size:18px; }
}

/*footer*/
#pie{position: relative; height:auto; padding-top: 5px; color:#ddd; background: #2b2b2b; }
#pie h4,#pie h3,#pie h5{ font-family:'bold' }
#pie .logo{ width: 100%; max-width: 90px; }
#pie ul.text-white li a{ color:white; font-family:'regular'; font-size:15px; }
#pie ul.text-white li{ float:left; width: 50%; max-width: 300px; margin-bottom:12px }
#pie .copyright {background-color: #252525; padding: 20px 0; }
#pie span.glyphicon{ color:#000; }
#pie a{ color:white; }
#pie a:hover{ color:#a51830; }
#pie a.link{ color:#000; }
#pie .btn{font-size: 16px; }

.container-pils{ padding: 5px 25px; border-bottom: 1px solid #F5F5F5;  }
.container-pils .nav-pills{ border-radius: 0; }
.container-pils .nav-pills > li.active > a{ background-color: #a51830; }
.container-pils .nav-pills > li a{ border-radius: 0; }

/*HEADER STICKY*/
header.header-sticky { position: sticky; top: 0; z-index: 1000; background: #fff; border-bottom: 1px solid rgba(122,16,41,0.1); transition: background 0.3s ease, backdrop-filter 0.3s ease; }
header.header-sticky.scrolled { background: rgba(255,255,255,0.82); backdrop-filter: blur(12px); }
header.header-sticky .header-container { display: flex; align-items: center; justify-content: space-between; height: 76px; }
header.header-sticky .header-brand { position: absolute; left: 50%; transform: translateX(-50%); margin-right: 0; }
header.header-sticky .header-nav-left, header.header-sticky .header-nav-right { gap: 2rem; }
header.header-sticky .header-nav-left .nav-link, header.header-sticky .header-nav-right .nav-link { font-family: 'bold'; font-size: 14px; color: #111; padding: 0; transition: color 0.2s; }
header.header-sticky .header-nav-left .nav-link:hover, header.header-sticky .header-nav-right .nav-link:hover { color: var(--color-primary); }
section#sobre-nosotros, section#servicios, section#proyectos, section#contacto { scroll-margin-top: 0; }
@media (max-width: 767px) { header.header-sticky .header-container { position: relative; } header.header-sticky .header-brand { position: static; transform: none; margin: 0 auto; } }
@media (max-width: 767px) { html { scroll-padding-top: 250px; } section#sobre-nosotros, section#servicios, section#proyectos, section#contacto { scroll-margin-top: 0; } }
/*END HEADER STICKY*/

/*HERO HOME*/
.hero-slide { position: relative; }
.hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.hero-overlay { position: absolute; inset: 0; background: rgba(10,18,34,0.50); z-index: 1; }
.hero-content { z-index: 2; max-width: 860px; margin: 0 auto; padding: 0 20px; }
.hero-title { font-family: 'bold'; font-size: 60px; color: #fff; line-height: 1.1; margin-bottom: 20px; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }
.hero-subtitle { font-family: 'regular'; font-size: 20px; color: rgba(255,255,255,0.9); max-width: 600px; margin: 0 auto 30px; }
.hero-btns { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; align-items: center; }
.hero-btns .btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 28px; line-height: 1; font-size: 16px; }
.btn-outline-hero { background: rgba(255,255,255,0.12); backdrop-filter: blur(8px); color: #fff; border: 1px solid rgba(255,255,255,0.35); padding: 8px 28px; border-radius: 8px; font-family: 'bold'; font-size: 16px; text-decoration: none; transition: background 0.2s; display: inline-block; line-height: 1; }
.btn-outline-hero:hover { background: rgba(255,255,255,0.25); color: #fff; }
@media (max-width: 768px) { .hero-title { font-size: 7.2vw; } .hero-subtitle { font-size: 22px !important; } .hero-btns { flex-direction: column; align-items: center; width: 100%; max-width: 280px; } .hero-btns .btn { width: 100%; padding: 12px 20px; font-size: 16px; } .btn-outline-hero { width: 100%; padding: 12px 20px; font-size: 16px; } }
/*END HERO HOME*/

/*SECTION LABEL*/
.section-label { font-family: 'bold'; font-size: 11px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--color-primary); display: block; margin-bottom: 8px; }
.section-label-light { color: rgba(226,120,144,0.85); }
/*END SECTION LABEL*/

/*NOSOTROS SECTION*/
.nosotros-section { padding: 80px 0; }
.nosotros-img-col { padding-right: 30px; }
.nosotros-img-wrap { position: relative; aspect-ratio: 4/5; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
.nosotros-img-wrap .img-cover { width: 100%; height: 100%; object-fit: cover; }
.nosotros-badge { position: absolute; bottom: -10px; right: -10px; background: var(--color-primary); color: #fff; padding: 22px 32px 28px 32px; border-radius: 12px; text-align: center; }
.nosotros-badge-num { font-family: 'bold'; font-size: 38px; line-height: 1; margin: 0; }
.nosotros-badge-label { font-family: 'regular'; font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; opacity: 0.85; margin: 4px 0 0; }
.nosotros-text-col { padding-left: 40px; }
.nosotros-features { margin-top: 0; }
.nosotros-feature { display: flex; align-items: center; gap: 10px; padding: 10px 0; font-family: 'bold'; font-size: 15px; color: #111; }
.nosotros-feature i.fa { color: var(--color-primary); font-size: 17px; width: 20px; text-align: center; }
@media (max-width: 991px) { .nosotros-section { padding: 50px 0; } .nosotros-img-col { padding-right: 15px; margin-bottom: 50px; } .nosotros-text-col { padding-left: 15px; } .nosotros-badge { bottom: 20px; right: 20px; padding: 14px 18px; } .nosotros-badge-num { font-size: 28px; } .nosotros-feature { padding-left: 8px; } }
/*END NOSOTROS SECTION*/

/*SERVICIOS SECTION*/
.servicios-section { padding: 80px 0; background: rgba(122,16,41,0.04); overflow: hidden; }
.servicios-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 36px; }
.servicios-nav { display: flex; gap: 8px; }
.servicios-btn-prev, .servicios-btn-next { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(122,16,41,0.25); background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; color: var(--color-primary); flex-shrink: 0; }
.servicios-btn-prev:hover, .servicios-btn-next:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.servicios-slider { padding: 10px 15px 30px !important; overflow: visible !important; }
.servicios-slider .swiper-wrapper { align-items: stretch; }
.servicios-col { width: 340px !important; padding: 0 8px; box-sizing: border-box; height: auto; align-self: stretch; }
.servicio-card { background: #fff; padding: 32px 28px; border-radius: 12px; border: 1px solid rgba(122,16,41,0.07); box-shadow: 0 2px 12px rgba(0,0,0,0.05); height: 100%; display: flex; flex-direction: column; transition: border-color 0.2s, box-shadow 0.2s; }
.servicio-card .text { flex-grow: 1; }
.servicio-card:hover { border-color: rgba(122,16,41,0.3); box-shadow: 0 6px 24px rgba(122,16,41,0.1); }
.servicio-icon { width: 56px; height: 56px; background: rgba(122,16,41,0.1); border-radius: 12px; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.servicio-icon i.fa { font-size: 22px; color: var(--color-primary); transition: color 0.2s; }
.servicio-card:hover .servicio-icon { background: var(--color-primary); }
.servicio-card:hover .servicio-icon i.fa { color: #fff; }
.servicio-link { display: inline-flex; align-items: center; gap: 6px; font-family: 'bold'; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-primary); text-decoration: none; margin-top: 18px; transition: color 0.2s, transform 0.2s; }
.servicio-link i.fa { transition: transform 0.2s; }
.servicio-link:hover { text-decoration: none; color: var(--color-hover); transform: translateY(-1px); }
.servicio-link:hover i.fa { transform: translateX(4px); }
@media (max-width: 768px) { .servicios-section { padding: 50px 0; } .servicios-col { width: 280px !important; } .servicios-header { flex-direction: column; align-items: flex-start; gap: 15px; } }
/*END SERVICIOS SECTION*/

/*PORTFOLIO SECTION*/
.portfolio-section { padding: 80px 0; }
.portfolio-col { padding: 6px; }
.portfolio-item { aspect-ratio: 1/1; border-radius: 10px; overflow: hidden; }
.portfolio-item img.img-cover { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.portfolio-item:hover img.img-cover { transform: scale(1.08); }
.portfolio-item { cursor: zoom-in; }
.portfolio-lightbox { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 40px; background: rgba(10,10,12,0.92); opacity: 0; transition: opacity 0.25s ease; }
.portfolio-lightbox.is-open { display: flex; opacity: 1; }
.portfolio-lightbox-img { width: min(90vw, 85vh); height: auto; max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); transform: scale(0.96); transition: transform 0.25s ease; }
.portfolio-lightbox.is-open .portfolio-lightbox-img { transform: scale(1); }
.portfolio-lightbox-close { position: absolute; top: 24px; right: 28px; width: 44px; height: 44px; border-radius: 50%; border: none; background: rgba(255,255,255,0.1); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s; z-index: 2; }
.portfolio-lightbox-close:hover { background: var(--color-primary); }
.portfolio-lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; border: none; background: rgba(255,255,255,0.1); color: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s; z-index: 2; }
.portfolio-lightbox-nav:hover { background: var(--color-primary); }
.portfolio-lightbox-prev { left: 20px; }
.portfolio-lightbox-next { right: 20px; }
.portfolio-lightbox-nav.is-hidden { display: none; }
@media (max-width: 768px) { .portfolio-lightbox { padding: 20px; } .portfolio-lightbox-close { top: 12px; right: 12px; width: 38px; height: 38px; font-size: 18px; } .portfolio-lightbox-nav { width: 42px; height: 42px; font-size: 16px; } .portfolio-lightbox-prev { left: 8px; } .portfolio-lightbox-next { right: 8px; } }
/*END PORTFOLIO SECTION*/

/*CONTACTO HOME SECTION*/
.contacto-home-section { padding: 80px 0; background: #111827; }
.contacto-info-col { padding-right: 40px; }
.contacto-datos { display: flex; flex-direction: column; gap: 20px; }
.contacto-dato { display: flex; align-items: flex-start; gap: 15px; }
.contacto-dato-icon { width: 44px; height: 44px; background: rgba(209,57,92,0.18); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contacto-dato-icon i.fa { color: #d1395c; font-size: 18px; }
.contacto-dato-label { font-family: 'regular'; font-size: 13px; color: rgba(255,255,255,0.5); margin: 0 0 2px; }
.contacto-dato-value { font-family: 'bold'; font-size: 18px; color: #fff; margin: 0; }
.seccion-mapa { width: 100%; height: 240px; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,0.1); background: #1f2937; }
.contacto-form-wrap { background: #fff; padding: 40px; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
.contacto-form .form-label { font-family: 'bold'; font-size: 13px; color: #374151; margin-bottom: 5px; }
.contacto-form .form-control { border-radius: 8px; border: 1px solid #e2e8f0; padding: 10px 14px; font-size: 15px; transition: border-color 0.2s, box-shadow 0.2s; }
.contacto-form .form-control:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(122,16,41,0.12); outline: none; }
.contacto-form .form-check-input { accent-color: var(--color-primary); }
.contacto-form .form-check-label a { color: var(--color-primary); text-decoration: underline; }
.contacto-form .form-check-label a:hover { color: var(--color-hover); }
.contacto-form .btn-primary { padding: 13px 20px; font-size: 16px; }
.contacto-form-note { text-align: center; font-size: 12px; color: rgba(0,0,0,0.35); }
@media (max-width: 991px) { 
    .contacto-home-section { padding: 50px 0; } 
    .contacto-info-col { padding-right: 15px; padding-bottom: 40px; } 
    .contacto-form-wrap { padding: 40px 20px; }
}
/*END CONTACTO HOME SECTION*/

/*FOOTER DARK*/
#pie { background: #111827; border-top: 1px solid rgba(255,255,255,0.08); }
.footer-inner { display: flex; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 36px 0; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand .logo { max-width: 90px; filter: brightness(0) invert(1); }
.footer-brand-name { font-family: 'bold'; color: #fff; font-size: 15px; }
.footer-brand-sub { font-family: 'regular'; color: rgba(255,255,255,0.4); font-size: 14px; }
.footer-legal-links { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-legal-link { font-family: 'regular'; font-size: 13px; color: rgba(255,255,255,0.5); text-decoration: none; transition: color 0.2s; cursor: pointer; }
.footer-legal-link:hover { color: #fff; }
.footer-copy { font-family: 'regular'; font-size: 13px; color: rgba(255,255,255,0.35); margin: 0; }
@media (max-width: 768px) { .footer-inner { flex-direction: column; text-align: center; } .footer-legal-links { justify-content: center; } }
/*END FOOTER DARK*/

/* Contact Links */
.contacto-link {
    text-decoration: none;
    transition: text-decoration 0.2s ease;
}

.contacto-link:hover {
    text-decoration: underline;
}

/* WOW Animations */
.wow {
    visibility: hidden;
}

/* Remove delays on mobile */
@media (max-width: 768px) {
    .wow {
        animation-delay: 0s !important;
    }
}

/* Avoid invisible icons while FontAwesome loads (overrides bundle.min.css font-face) */
@font-face { font-family: 'FontAwesome'; font-display: swap; src: url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'); }
