@charset "UTF-8";
/* CSS Document */

/* =========================
   BASE
========================= */

body{
    background:#f5f5f5;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.04em;
    margin: 0;
    padding: 0;
}

a,
a:hover,
a:focus {
    text-decoration: none;
    outline: none;
}

.azul {
    color: #B17F49;
}

/* =========================
   RESPONSIVE BASE
========================= */

@media screen and (max-width: 767px) {

    body {
        font-size: 14px;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    .carousel-caption {
        margin-bottom: 20px;
    }

    .servInicio {
        margin-bottom: 10px;
    }
}

/* =========================
   CUSTOM COLS
========================= */

.col-xs-17,
.col-sm-17,
.col-md-17,
.col-lg-17 {
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}

.col-xs-17 {
    width: 14.285%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-17 {
        width: 14.285%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-17 {
        width: 14.285%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-17 {
        width: 14.285%;
        float: left;
    }
}

/* =========================
   NAVBAR
========================= */

.navbar-default {
    background-color: #000;
    margin-bottom: 10px;
    border: none;
}

.navbar {
    margin-bottom: 0;
    border-radius: 0;
}

#logo {
    width: 240px;
    height: 130px;
    background-image: url("../img/logob-01.png");
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
    margin: 5px 0;
}

.navbar-default .navbar-nav > li > a {
    color: #CCC;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    color: #fff;
    background-color: transparent;
}

.slogan {
    display: block;
    font-family: 'Saira Extra Condensed', sans-serif;
    text-transform: uppercase;
    text-align: right;
    margin-top: 6px;
    color: #fff;
    font-size: 24px;
}

@media screen and (min-width:768px) {

    .navbar-nav {
        float: right;
    }
}

/* =========================
   SLIDER
========================= */

.carousel-caption {
    padding-bottom: 30px;
    top: 160px;
    text-shadow: none;
    border: #420a0a solid 1px;
    height: 80px;
}

.carousel-caption h1 {
    color: #333;
    text-shadow: 0 1px 2px rgba(0,0,0,.6);
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    max-width: 1000px;
    margin: auto;
}

@media screen and (min-width:1281px) {

    .carousel-caption {
        top: 220px;
    }
}

@media screen and (max-width:1100px) {

    .carousel-caption {
        top: 120px;
        height: 50px;
        padding-top: 10px;
    }

    .carousel-caption h1,
    .carousel-caption h2 {
        font-size: 180%;
    }
}

@media screen and (max-width:1000px) {

    .carousel-caption h1,
    .carousel-caption h2 {
        font-size: 150%;
        padding: 5px;
        margin: 0 auto;
    }
}

@media screen and (max-width:900px) {

    .carousel-caption {
        top: 100px;
    }
}

@media screen and (max-width:600px) {

    .carousel-caption {
        top: 60px;
    }

    .carousel-caption h1,
    .carousel-caption h2 {
        font-size: 100%;
    }
}

@media screen and (max-width:480px) {

    .carousel-caption {
        top: 40px;
        height: 30px;
    }

    .carousel-caption h1,
    .carousel-caption h2 {
        font-size: 85%;
        padding: 2px;
    }
}

/* =========================
   INTRO ICONS
========================= */

#intro {
    padding-bottom: 20px;
    margin-top: -80px;
    background: #420a0a;
    margin-bottom: 20px;
    box-shadow: rgba(0,0,0,0.3) 0 2px 5px;
}

.servInicio {
    min-height: 240px;
    text-align: center;
    padding: 30px 0;
}

.servInicio i {
    color: #fff;
    font-size: 4.5em;
    padding-top: 25px;
    margin: auto;
    background: #420a0a;
    border-radius: 50%;
    width: 110px;
    height: 110px;
}

.servInicio h4 {
    color: #fff;
    font-weight: 300;
    font-size: 16px;
    text-transform: uppercase;
}

#intro h1 {
    text-align: center;
    padding: 10px 0;
    font-size: 4em;
    margin-top: 140px;
}

#intro p {
    font-size: 2.5em;
    font-weight: 300;
    font-family: 'Roboto Condensed', sans-serif !important;
    text-align: center;
    line-height: 1.1em !important;
    color: #0b4eab;
    padding: 5px 0 15px;
}

@media screen and (max-width:40em) {

    #intro {
        margin-top: 0;
    }

    .servInicio {
        min-height: 50px;
        padding: 30px 0;
        margin-top: 20px;
    }

    .servInicio i {
        font-size: 3em;
    }

    .servInicio h4 {
        font-size: 1em;
    }

    #intro h1 {
        font-size: 3em;
        margin-top: 40px;
    }

    #intro p {
        font-size: 1.5em;
    }
}

@media screen and (max-width:480px) {

    .servInicio {
        min-height: 240px;
    }
}

/* =========================
   INTRO TEXT
========================= */

#introTxt {
    padding: 30px 10px;
}

#introTxt figure {
    width: 100%;
    max-width: 300px;
    margin: 0 auto 20px;
}

#introTxt p {
    font-size: 2.5em;
    font-weight: 900;
    font-family: 'Open Sans', sans-serif;
    text-align: center;
    line-height: 1.1em !important;
    color: #333;
    padding: 5px 0 15px;
}

/* =========================
   BUTTONS
========================= */

.btnGeneral {
    background: #333;
    color: #fff;
    padding: 10px 15px;
    margin: auto;
    font-size: 1.5em;
    transition: all ease-in-out 0.3s;
}

.btnGeneral:hover {
    background: #420a0a;
    color: #fff;
}

/* =========================
   INTERNAS
========================= */

.introInterna {
    text-transform: uppercase;
}

.introInterna h1,
.introInterna h2 {
    margin-bottom: 0;
    margin-top: 0;
}

.introInterna h1 {
    color: #420a0a;
}

/* =========================
   ACERCA
========================= */

.acercaBg {
    background: url(../img/acerca-de.jpg) fixed;
    padding-top: 60px;
    padding-bottom: 60px;
}

#introAcerca {
    padding: 20px 0;
}

#introAcerca p {
    padding-top: 60px;
    font-size: 1.1em;
}

/* =========================
   SERVICIOS
========================= */

#introServicios {
    padding: 20px 0;
}

#introServicios p {
    padding-top: 60px;
    font-size: 1.1em;
}

/* =========================
   CONTACTO
========================= */

.contactoBg {
    background: url(../img/contacto.jpg) fixed;
    padding-top: 30px;
    padding-bottom: 60px;
}

#introContacto {
    padding-bottom: 60px;
    padding-top: 60px;
}

.platica input.form-control,
.platica textarea.form-control {

    width: 100%;
    display: block;
    background: rgba(255,255,255,0.4);
    border-radius: 0;
    border: 1px solid rgba(255,255,255,0.2);
    border-bottom: 3px solid #333;
    height: 50px;
    margin-bottom: 15px;
    color: #333;
    transition: all ease-in-out 0.3s;
}

.platica textarea.form-control {
    height: 120px;
}

.platica .btnPlatica {

    padding: 10px;
    border: 1px solid #333;
    color: #333;
    font-size: 1.1em;
    background: transparent;
    width: 100%;
    transition: all ease-in-out 0.3s;
}

.platica .btnPlatica:hover {

    border: 1px solid #420a0a;
    color: #fff;
    background: #420a0a;
}

/* =========================
   REDES
========================= */

.red2 {
    display: inline-block;
    width: 50px;
    height: 50px;
    text-align: center;
    margin-left: 5px;
}

.red2 a {

    color: #fff;
    font-size: 2em;
    display: block;
    width: 100%;
    border-radius: 3px;
    border: #420a0a solid 1px;
    background: #420a0a;
    transition: all ease-in-out 0.5s;
}

.red2 a:hover {

    color: #C00;
    background: #fff;
}

/* =========================
   SLIDER SERVICIOS
========================= */

#services-slider {
    background: #f4f4f4;
    padding: 80px 0 60px;
}

.services-title {

    font-size: 32px;
    color: #420a0a;
    font-weight: 700;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.service-card {

    background: #ffffff;
    border-radius: 16px;
    padding: 50px 30px;
    max-width: 500px;
    margin: 0 auto;
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.service-card i {

    font-size: 4em;
    color: #fff;
    background: #420a0a;
    width: 110px;
    height: 110px;
    line-height: 110px;
    border-radius: 50%;
    margin-bottom: 20px;
}

.service-card h4 {

    color: #420a0a;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.service-card p {

    font-size: 15px;
    color: #555;
    line-height: 1.4;
    margin-bottom: 20px;
}

.btnService {

    display: inline-block;
    padding: 10px 20px;
    background: #420a0a;
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.btnService:hover {

    background: #000;
    color: #fff;
}

#carousel-services .carousel-control {
    background: none;
    color: #420a0a;
}

#carousel-services .glyphicon {
    font-size: 30px;
}

@media (max-width: 767px) {

    .service-card {
        padding: 35px 20px;
    }
}

/* ========================================
   FOOTER NUEVO
======================================== */

footer {
    background: #000;
    color: #fff;
    padding-top: 50px;
}

.footer-title {

    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 25px;
}

.footer-offices {

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.footer-office {

    width: 48%;
    text-align: center;
}

.footer-office img {

    max-width: 220px;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.footer-office h4 {

    font-size: 28px;
    margin-bottom: 15px;
    font-weight: 600;
}

.footer-office p {

    font-size: 17px;
    line-height: 1.8;
    color: #ddd;
}

.footer-office i {
    margin-right: 8px;
}

.footer-contact {

    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.15);
    padding-top: 25px;
    padding-bottom: 30px;
}

.footer-contact p {

    font-size: 18px;
    margin-bottom: 10px;
}

.footer-contact i {
    margin-right: 8px;
}

.footer-contact a {
    color: #fff;
}

.footer-contact a:hover {
    color: #ccc;
}

/* =========================
   COPYRIGHT
========================= */

.copyright {

    background: #420a0a;
    border-top: #fff solid 4px;
    padding: 15px 0;
    font-size: 13px;
    text-align: center;
}

.copyright p {

    margin: 5px 0;
    color: #fff;
    line-height: 1.6;
}

.copyright a {
    color: #ccc;
}

.copyright a:hover {
    color: #fff;
}

.copyright-small {
    font-size: 12px;
}

/* =========================
   FOOTER MOBILE
========================= */

@media (max-width: 768px) {

    .footer-offices {

        flex-direction: column;
        align-items: center;
    }

    .footer-office {

        width: 100%;
        margin-bottom: 40px;
    }

    .footer-office img {

        max-width: 180px;
    }

    .footer-office h4 {

        font-size: 24px;
    }

    .footer-office p {

        font-size: 15px;
    }

    .footer-title {

        font-size: 26px;
    }

    .footer-contact p {

        font-size: 16px;
    }
}
/* =========================================
   FIX FINAL FOOTER
========================================= */

footer {
    background: #000;
    color: #fff;
    padding: 50px 0 0;
    overflow: hidden;
}

/* TITULO */
.footer-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* CONTENEDOR OFICINAS */
.footer-offices {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    align-items: flex-start;
    gap: 60px;
    width: 100%;
    margin: 40px 0;
}

/* CADA OFICINA */
.footer-office {
    width: 45% !important;
    max-width: 500px;
    text-align: center;
    float: none !important;
}

/* LOGOS */
.footer-office img {
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
    display: block;
    margin: 0 auto 20px;
    object-fit: contain;
}

/* TITULO OFICINA */
.footer-office h4 {
    font-size: 28px;
    margin-bottom: 15px;
    color: #fff;
    font-weight: 600;
}

/* TEXTO */
.footer-office p {
    font-size: 17px;
    line-height: 1.8;
    color: #ddd;
    margin-bottom: 10px;
}

/* CONTACTO */
.footer-contact {
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.15);
    margin-top: 20px;
    padding-top: 25px;
    padding-bottom: 25px;
}

.footer-contact p {
    font-size: 18px;
    margin-bottom: 10px;
}

.footer-contact a {
    color: #fff;
}

.footer-contact a:hover {
    color: #ccc;
}

/* COPYRIGHT */
.copyright {
    background: #420a0a;
    border-top: 3px solid #fff;
    padding: 15px 0;
    text-align: center;
}

.copyright p {
    margin: 5px 0;
    line-height: 1.6;
    color: #fff;
}

.copyright-small {
    font-size: 12px;
}

/* MOBILE */
@media (max-width: 768px) {

    .footer-offices {
        flex-direction: column !important;
        gap: 40px;
    }

    .footer-office {
        width: 100% !important;
    }

    .footer-office img {
        width: 170px !important;
        max-width: 170px !important;
    }

    .footer-office h4 {
        font-size: 24px;
    }

    .footer-office p {
        font-size: 15px;
    }
}
/* ========================================
   INSTITUCIONAL + CTA HOME
======================================== */

#institucional-home{
   background: linear-gradient(
    to bottom,
    #f8f8f8,
    #efefef
);
    padding:80px 0;
}

.institucional-wrapper{
    display:flex;
    align-items:center;
}

.institucional-content{
    padding-right:40px;
}

.institucional-logo{
    max-width:280px;
    width:100%;
    margin-bottom:25px;
}

.institucional-content h2{
    font-size:38px;
    font-weight:700;
    color:#222;
    line-height:1.2;
    margin-bottom:25px;
}

.institucional-text{
    font-size:18px;
    line-height:1.9;
    color:#555;
    margin-bottom:20px;
}

/* ICONOS */

.institucional-icons{
    margin-top:35px;
}

.institutional-item{
    text-align:center;
    margin-bottom:25px;
}

.institutional-item i{
    width:85px;
    height:85px;
    line-height:85px;
    border-radius:50%;
    background:#420a0a;
    color:#fff;
    font-size:34px;
    margin-bottom:15px;
}

.institutional-item h4{
    font-size:16px;
    font-weight:700;
    color:#222;
    margin-bottom:10px;
    text-transform:uppercase;
}

.institutional-item span{
    color:#666;
    font-size:14px;
    line-height:1.5;
    display:block;
}

/* CTA */

.institucional-cta{
    display:flex;
    justify-content:center;
}

.cta-box{
    background:#fff;
    padding:50px 40px;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    text-align:center;
    width:100%;
    max-width:420px;
    border-top:4px solid #420a0a;
}

.cta-box h3{
    font-size:28px;
    font-weight:700;
    color:#222;
    margin-bottom:20px;
}

.cta-box p{
    font-size:17px;
    line-height:1.8;
    color:#555;
    margin-bottom:30px;
}

.cta-contact{
    margin-top:30px;
}

.cta-contact p{
    margin-bottom:12px;
    font-size:18px;
}

.cta-contact i{
    color:#420a0a;
    margin-right:8px;
}

.cta-contact a{
    color:#222;
}

.cta-contact a:hover{
    color:#420a0a;
}

/* MOBILE */

@media (max-width:991px){

    .institucional-wrapper{
        display:block;
    }

    .institucional-content{
        padding-right:0;
        margin-bottom:40px;
        text-align:center;
    }

    .institucional-content h2{
        font-size:30px;
    }

    .institucional-text{
        font-size:16px;
    }

    .cta-box{
        max-width:100%;
    }

}

@media (max-width:767px){

    #institucional-home{
        padding:60px 0;
    }

    .institucional-content h2{
        font-size:26px;
    }

    .institutional-item{
        margin-bottom:35px;
    }

}
/* ========================================
   SLIDER OVERLAY
======================================== */

.slider-item {
    position: relative;
}

.slider-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.35);
    z-index: 2;
    top: 0;
    left: 0;
}

/* ========================================
   INSTITUTIONAL PREMIUM
======================================== */

.institutional-section {
    background: #f8f8f8;
    padding: 90px 0;
}

.institutional-top {
    margin-bottom: 70px;
}

.institutional-badge {
    display: inline-block;
    padding: 10px 18px;
    background: #420a0a;
    color: #fff;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.institutional-top h2 {
    font-size: 46px;
    font-weight: 700;
    color: #111;
    margin-bottom: 20px;
}

.institutional-subtitle {
    max-width: 850px;
    margin: auto;
    font-size: 20px;
    line-height: 1.8;
    color: #555;
}

.institutional-content {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}

.institutional-logo {
    max-width: 320px;
    width: 100%;
    margin-bottom: 40px;
}

.institutional-services p {
    font-size: 18px;
    line-height: 1.9;
    color: #333;
    margin-bottom: 18px;
    border-left: 3px solid #420a0a;
    padding-left: 18px;
}

.institutional-right {
    padding-left: 40px;
}

.institutional-card {
    background: #fff;
    padding: 35px;
    margin-bottom: 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border-left: 4px solid #420a0a;
    transition: 0.3s;
}

.institutional-card:hover {
    transform: translateY(-5px);
}

.institutional-card i {
    font-size: 38px;
    color: #420a0a;
    margin-bottom: 20px;
}

.institutional-card h4 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #111;
}

.institutional-card p {
    font-size: 16px;
    line-height: 1.7;
    color: #555;
}

.institutional-cta {
    border-top: 1px solid rgba(0,0,0,0.08);
    padding-top: 45px;
}

.btnInstitutional {
    display: inline-block;
    background: #420a0a;
    color: #fff;
    padding: 16px 38px;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: 0.3s;
}

.btnInstitutional:hover {
    background: #111;
    color: #fff;
}

.institutional-contact {
    margin-top: 25px;
}

.institutional-contact a {
    color: #420a0a;
    font-size: 22px;
    font-weight: 600;
}

.institutional-contact i {
    margin-right: 8px;
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 991px) {

    .institutional-content {
        display: block;
    }

    .institutional-right {
        padding-left: 15px;
        margin-top: 40px;
    }

    .institutional-top h2 {
        font-size: 34px;
    }

    .institutional-subtitle {
        font-size: 18px;
    }

    .institutional-services p {
        font-size: 16px;
    }

}

/* =========================================================
   PREMIUM FINAL UI
========================================================= */

/* =========================
   BODY
========================= */

body{
    background:#f3f3f3;
    color:#222;
}

/* =========================
   NAVBAR PREMIUM
========================= */

.navbar-default{
    background:rgba(0,0,0,0.92);
    border:none;
    backdrop-filter: blur(8px);
    box-shadow:0 2px 12px rgba(0,0,0,0.15);
}

.navbar-default .navbar-nav > li > a{
    color:#ddd;
    font-size:14px;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:0.3s;
}

.navbar-default .navbar-nav > li > a:hover{
    color:#fff;
}

/* =========================
   SLIDER PREMIUM
========================= */

.slider-section{
    position:relative;
    overflow:hidden;
}

.carousel-inner .item{
    position:relative;
}

.carousel-inner .item::before{
    content:"";
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,0.35),
        rgba(0,0,0,0.45)
    );
    z-index:1;
}

.carousel-inner img{
    position:relative;
    z-index:0;
    filter:contrast(1.05) brightness(0.82);
}

/* =========================
   INSTITUTIONAL SECTION
========================= */

.institutional-section{
    background:#f7f7f7;
    padding:110px 0 90px;
    position:relative;
}

.institutional-section::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
    background:rgba(0,0,0,0.08);
}

.institutional-badge{
    display:inline-block;
    background:#420a0a;
    color:#fff;
    padding:10px 18px;
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:30px;
}

.institutional-top h2{
    font-size:52px;
    line-height:1.2;
    font-weight:700;
    color:#111;
    margin-bottom:25px;
}

.institutional-subtitle{
    max-width:900px;
    margin:auto;
    color:#666;
    font-size:20px;
    line-height:1.9;
}

/* =========================
   CONTENT
========================= */

.institutional-content{
    display:flex;
    align-items:flex-start;
    margin-top:70px;
}

.institutional-left{
    padding-right:45px;
}

.institutional-logo{
    max-width:340px;
    width:100%;
    margin-bottom:40px;
}

.institutional-services p{
    position:relative;
    font-size:18px;
    line-height:1.9;
    color:#444;
    margin-bottom:22px;
    padding-left:24px;
}

.institutional-services p::before{
    content:"";
    position:absolute;
    left:0;
    top:13px;
    width:10px;
    height:2px;
    background:#420a0a;
}

/* =========================
   RIGHT CARDS
========================= */

.institutional-right{
    padding-left:30px;
}

.institutional-card{
    background:#fff;
    padding:40px;
    margin-bottom:28px;
    border-radius:6px;
    box-shadow:0 10px 35px rgba(0,0,0,0.06);
    transition:0.35s;
    border-left:4px solid #420a0a;
}

.institutional-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 45px rgba(0,0,0,0.10);
}

.institutional-card i{
    font-size:42px;
    color:#420a0a;
    margin-bottom:18px;
}

.institutional-card h4{
    font-size:24px;
    font-weight:700;
    color:#111;
    margin-bottom:15px;
}

.institutional-card p{
    color:#666;
    line-height:1.8;
    font-size:16px;
}

/* =========================
   CTA
========================= */

.institutional-cta{
    margin-top:70px;
    padding-top:45px;
    border-top:1px solid rgba(0,0,0,0.08);
}

.btnInstitutional{
    display:inline-block;
    background:#420a0a;
    color:#fff;
    padding:18px 42px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-size:13px;
    transition:0.3s;
}

.btnInstitutional:hover{
    background:#111;
    color:#fff;
    transform:translateY(-2px);
}

.institutional-contact{
    margin-top:28px;
}

.institutional-contact a{
    font-size:26px;
    font-weight:700;
    color:#420a0a;
}

.institutional-contact i{
    margin-right:10px;
}

/* =========================
   FOOTER PREMIUM
========================= */

footer{
    background:#050505;
    color:#fff;
    padding-top:70px;
}

.footer-title{
    font-size:38px;
    font-weight:700;
    text-align:center;
    margin-bottom:15px;
    letter-spacing:1px;
}

.footer-offices{
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between;
    align-items:flex-start;
    gap:60px;
    margin:50px 0;
}

.footer-office{
    width:48% !important;
    text-align:center;
}

.footer-office img{
    width:180px !important;
    max-width:180px !important;
    height:auto !important;
    margin-bottom:25px;
}

.footer-office h4{
    font-size:26px;
    font-weight:700;
    margin-bottom:18px;
}

.footer-office p{
    color:#bbb;
    line-height:1.9;
    font-size:16px;
}

.footer-contact{
    border-top:1px solid rgba(255,255,255,0.08);
    padding:30px 0;
    text-align:center;
}

.footer-contact p{
    font-size:18px;
    margin-bottom:12px;
}

.footer-contact a{
    color:#fff;
}

.footer-contact a:hover{
    color:#ccc;
}

.copyright{
    background:#420a0a;
    padding:18px 0;
    text-align:center;
    border-top:none;
}

.copyright p{
    margin:4px 0;
    line-height:1.7;
}

/* =========================
   BUTTONS GLOBAL
========================= */

.btnGeneral,
.btnInstitutional{
    border-radius:2px;
    box-shadow:0 10px 25px rgba(66,10,10,0.15);
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .institutional-content{
        display:block;
    }

    .institutional-left{
        padding-right:0;
        margin-bottom:50px;
        text-align:center;
    }

    .institutional-right{
        padding-left:0;
    }

    .institutional-top h2{
        font-size:36px;
    }

    .institutional-subtitle{
        font-size:18px;
    }

    .footer-offices{
        flex-direction:column !important;
    }

    .footer-office{
        width:100% !important;
        margin-bottom:40px;
    }
}

@media(max-width:767px){

    .institutional-section{
        padding:70px 0;
    }

    .institutional-top h2{
        font-size:30px;
    }

    .institutional-services p{
        font-size:16px;
    }

    .institutional-card{
        padding:30px;
    }

    .footer-title{
        font-size:28px;
    }

    .footer-office img{
        width:150px !important;
    }
}
/* =========================================
   ABOUT PREMIUM
========================================= */

.about-hero{
    position:relative;
    background:url("../img/acerca-de.jpg") center center/cover no-repeat;
    padding:180px 0 140px;
    overflow:hidden;
}

.about-overlay{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:rgba(0,0,0,0.55);
}

.about-hero-content{
    position:relative;
    z-index:2;
    max-width:850px;
}

.about-badge{
    display:inline-block;
    background:#420a0a;
    color:#fff;
    padding:10px 18px;
    font-size:12px;
    letter-spacing:2px;
    margin-bottom:30px;
}

.about-hero h1{
    color:#fff;
    font-size:58px;
    line-height:1.2;
    font-weight:700;
    margin-bottom:30px;
}

.about-hero p{
    color:#ddd;
    font-size:22px;
    line-height:1.8;
}

/* INTRO */

.about-section{
    background:#f8f8f8;
    padding:100px 0;
}

.section-mini{
    display:inline-block;
    color:#420a0a;
    font-size:13px;
    letter-spacing:2px;
    margin-bottom:20px;
    font-weight:700;
}

.about-text h2{
    font-size:46px;
    font-weight:700;
    margin-bottom:30px;
    color:#111;
}

.about-text p{
    font-size:18px;
    line-height:1.9;
    color:#555;
    margin-bottom:25px;
}

.about-image{
    width:100%;
    max-width:420px;
    border-radius:6px;
    box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

/* SERVICES */

.about-services{
    padding:100px 0;
    background:#fff;
}

.about-title{
    font-size:44px;
    margin-bottom:70px;
    font-weight:700;
}

.about-card{
    background:#fff;
    padding:45px 35px;
    border-left:4px solid #420a0a;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:0.3s;
    margin-bottom:30px;
    min-height:340px;
}

.about-card:hover{
    transform:translateY(-6px);
}

.about-card i{
    font-size:42px;
    color:#420a0a;
    margin-bottom:25px;
}

.about-card h4{
    font-size:24px;
    margin-bottom:20px;
    font-weight:700;
}

.about-card p{
    font-size:16px;
    line-height:1.8;
    color:#666;
}

/* CONTENT */

.about-content{
    background:#f4f4f4;
    padding:100px 0;
}

.content-block{
    background:#fff;
    padding:45px;
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
    height:100%;
}

.content-block h3{
    font-size:30px;
    margin-bottom:25px;
    font-weight:700;
}

.content-block p{
    color:#666;
    line-height:1.9;
    font-size:17px;
}

/* CTA */

.about-cta{
    background:#111;
    padding:90px 0;
    color:#fff;
}

.about-cta h2{
    font-size:48px;
    font-weight:700;
    margin-bottom:25px;
}

.about-cta p{
    max-width:700px;
    margin:auto;
    color:#ccc;
    font-size:19px;
    line-height:1.9;
    margin-bottom:40px;
}

/* MOBILE */

@media(max-width:991px){

    .about-hero h1{
        font-size:42px;
    }

    .about-text{
        margin-bottom:50px;
    }

    .about-title{
        font-size:34px;
    }

}

@media(max-width:767px){

    .about-hero{
        padding:130px 0 100px;
    }

    .about-hero h1{
        font-size:32px;
    }

    .about-hero p{
        font-size:18px;
    }

    .about-text h2{
        font-size:34px;
    }

    .about-title{
        font-size:28px;
    }

    .about-cta h2{
        font-size:34px;
    }

}
/* ========================================
   SERVICES PREMIUM
======================================== */

.services-hero{
    position:relative;
    height:550px;
    overflow:hidden;
}

.services-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.services-overlay{
    position:absolute;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.55);
    top:0;
    left:0;
    z-index:1;
}

.services-hero-content{
    position:absolute;
    z-index:2;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    color:#fff;
}

.services-badge{
    display:inline-block;
    background:#420a0a;
    padding:10px 18px;
    font-size:13px;
    letter-spacing:2px;
    margin-bottom:25px;
}

.services-hero-content h1{
    font-size:58px;
    font-weight:700;
    margin-bottom:25px;
}

.services-hero-content p{
    font-size:20px;
    line-height:1.8;
    max-width:850px;
    margin:auto;
}

/* SECTION */

.services-section{
    padding:90px 0;
    background:#f8f8f8;
}

.services-intro{
    margin-bottom:60px;
}

.services-intro h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
    color:#111;
}

.services-intro p{
    font-size:19px;
    color:#666;
    max-width:800px;
    margin:auto;
    line-height:1.8;
}

/* CARD */

.service-premium-card{
    display:block;
    background:#fff;
    padding:45px 35px;
    margin-bottom:30px;
    text-align:center;
    transition:0.35s;
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
    border-top:4px solid transparent;
    min-height:320px;
}

.service-premium-card:hover{
    transform:translateY(-8px);
    border-top:4px solid #420a0a;
    box-shadow:0 18px 40px rgba(0,0,0,0.15);
}

.service-premium-card i{
    font-size:55px;
    color:#420a0a;
    margin-bottom:25px;
}

.service-premium-card h3{
    font-size:24px;
    color:#111;
    margin-bottom:18px;
    font-weight:700;
}

.service-premium-card p{
    font-size:16px;
    line-height:1.8;
    color:#666;
}

/* BOTTOM */

.services-bottom{
    padding:90px 0;
    background:#fff;
}

.services-bottom-wrapper{
    display:flex;
    align-items:center;
}

.services-bottom-image{
    width:100%;
    box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

.services-bottom-content{
    padding-left:50px;
}

.services-badge-dark{
    display:inline-block;
    background:#111;
    color:#fff;
    padding:10px 18px;
    font-size:13px;
    letter-spacing:2px;
    margin-bottom:25px;
}

.services-bottom-content h2{
    font-size:42px;
    font-weight:700;
    line-height:1.3;
    margin-bottom:25px;
    color:#111;
}

.services-bottom-content p{
    font-size:18px;
    line-height:1.9;
    color:#555;
    margin-bottom:30px;
}

.services-bottom-content ul{
    padding-left:20px;
    margin-bottom:35px;
}

.services-bottom-content li{
    margin-bottom:14px;
    color:#444;
    line-height:1.7;
}

/* MOBILE */

@media(max-width:991px){

    .services-bottom-wrapper{
        display:block;
    }

    .services-bottom-content{
        padding-left:15px;
        margin-top:40px;
    }

    .services-hero-content h1{
        font-size:38px;
    }

    .services-hero-content p{
        font-size:17px;
    }

}

@media(max-width:767px){

    .services-hero{
        height:420px;
    }

    .services-hero-content h1{
        font-size:30px;
    }

    .services-intro h2{
        font-size:32px;
    }

    .service-premium-card{
        min-height:auto;
    }

}
/* ========================================
   SERVICE DETAIL
======================================== */

.service-detail-hero{
    position:relative;
    height:520px;
    overflow:hidden;
}

.service-detail-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.service-detail-overlay{
    position:absolute;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.60);
    top:0;
    left:0;
    z-index:1;
}

.service-detail-content{
    position:absolute;
    z-index:2;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    color:#fff;
}

.service-detail-badge{
    display:inline-block;
    background:#420a0a;
    padding:10px 18px;
    font-size:13px;
    letter-spacing:2px;
    margin-bottom:25px;
}

.service-detail-content h1{
    font-size:58px;
    font-weight:700;
    margin-bottom:25px;
}

.service-detail-content p{
    font-size:20px;
    line-height:1.8;
    max-width:850px;
    margin:auto;
}

/* SECTION */

.service-detail-section{
    padding:90px 0;
    background:#f8f8f8;
}

.service-detail-wrapper{
    display:flex;
    align-items:center;
}

.service-detail-text{
    padding-right:40px;
}

.service-mini-badge{
    display:inline-block;
    background:#420a0a;
    color:#fff;
    padding:10px 18px;
    font-size:12px;
    letter-spacing:2px;
    margin-bottom:25px;
}

.service-mini-badge.dark{
    background:#111;
}

.service-detail-text h2{
    font-size:46px;
    font-weight:700;
    line-height:1.3;
    margin-bottom:25px;
    color:#111;
}

.service-detail-text p{
    font-size:18px;
    line-height:1.9;
    color:#555;
    margin-bottom:20px;
}

/* CARD */

.service-detail-card{
    background:#fff;
    padding:50px;
    box-shadow:0 12px 35px rgba(0,0,0,0.08);
    border-top:4px solid #420a0a;
}

.service-detail-card i{
    font-size:50px;
    color:#420a0a;
    margin-bottom:25px;
}

.service-detail-card h3{
    font-size:30px;
    font-weight:700;
    margin-bottom:25px;
    color:#111;
}

.service-detail-card ul{
    padding-left:20px;
}

.service-detail-card li{
    margin-bottom:16px;
    color:#555;
    line-height:1.8;
    font-size:17px;
}

/* BENEFITS */

.service-benefits{
    padding:90px 0;
    background:#fff;
}

.service-benefits-top{
    margin-bottom:60px;
}

.service-benefits-top h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
    color:#111;
}

.service-benefits-top p{
    font-size:18px;
    color:#666;
    max-width:800px;
    margin:auto;
    line-height:1.8;
}

.benefit-card{
    background:#f8f8f8;
    padding:45px 35px;
    text-align:center;
    transition:0.35s;
    margin-bottom:30px;
}

.benefit-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

.benefit-card i{
    font-size:45px;
    color:#420a0a;
    margin-bottom:20px;
}

.benefit-card h4{
    font-size:24px;
    margin-bottom:15px;
    font-weight:700;
    color:#111;
}

.benefit-card p{
    color:#666;
    line-height:1.8;
}

/* CTA */

.service-cta{
    background:#111;
    padding:90px 0;
    color:#fff;
}

.service-cta h2{
    font-size:48px;
    font-weight:700;
    margin-bottom:20px;
}

.service-cta p{
    font-size:19px;
    line-height:1.8;
    max-width:850px;
    margin:auto auto 35px;
    color:#ccc;
}

.service-cta-contact{
    margin-top:30px;
}

.service-cta-contact a{
    color:#fff;
    font-size:22px;
}

.service-cta-contact i{
    margin-right:8px;
}

/* MOBILE */

@media(max-width:991px){

    .service-detail-wrapper{
        display:block;
    }

    .service-detail-text{
        padding-right:0;
        margin-bottom:40px;
    }

    .service-detail-content h1{
        font-size:40px;
    }

}

@media(max-width:767px){

    .service-detail-hero{
        height:420px;
    }

    .service-detail-content h1{
        font-size:30px;
    }

    .service-detail-content p{
        font-size:17px;
    }

    .service-detail-text h2{
        font-size:34px;
    }

    .service-benefits-top h2{
        font-size:32px;
    }

    .service-cta h2{
        font-size:34px;
    }

    .service-detail-card{
        padding:35px;
    }

}