body {
    background: #fff; 
    position: relative;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
}

.tm-white {
    color: #fff;
}

.tm-white a {
    color: #fff;
}

/* start h1 group */
h1 {
    margin-top: 0;
    margin-bottom: 25px;
}

h1,
h2,
h3,
h4 {
    font-weight: bold;
}
/* end h1 group */

p {
    line-height: 1.6em;
}


img {
    max-width: 100%;
    height: auto;
}


/* overlay */
.overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    padding-top: 90px;
    padding-bottom: 90px;
}
/* over lay */

/* start preloader */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    /*justify-content: center;*/
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: none repeat scroll 0 0 #fff;
}

.sk-spinner-rotating-plane.sk-spinner {
    width: 30px;
    height: 30px;
    background-color: #D10825;
    margin: 0 auto;
    -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out;
    animation: sk-rotatePlane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotatePlane {
    0% {
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    }

    50% {
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    }

    100% {
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}

@keyframes sk-rotatePlane {
    0% {
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    }

    50% {
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    }

    100% {
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}
/* end preloader */

/* start navigation */
.navbar-default {
    background: #fff;
    border: none;
    box-shadow: 0px 2px 8px 0px rgba(50, 50, 50, 0.08);
    margin: 0 !important;
}

.navbar-default .navbar-brand {
    color: #D10825;  /*logo barra menu*/
    font-size: 30px;
    font-weight: bold;
    height: 70px;
    line-height: 35px;
}

.navbar-default .nav li a {
    color: #666;
    font-size: 13px;
    font-weight: bold;
    height: 70px;
    line-height: 40px;
}

.navbar-default .nav li a:hover,
.navbar-default .nav li a:focus,
.navbar-default .nav li a.current {
    color: #D10825;  /*texto barra menu*/
}

.navbar-default .navbar-toggle {
    border: none;
    padding-top: 20px;
}

.navbar-default .navbar-toggle .icon-bar {
    /* background: #28a7e9; */
    background: #03500D;
    border-color: transparent;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: transparent
}
/* end navigation */

/* start home */
#home {
    background: url('../img/home_bg_1200.webp') no-repeat;
    background-size: cover;
    mask-image: linear-gradient(black 80%, transparent);
    color: #fff;
    margin-top: 0px;
    text-align: center;
    width: 100%;
}

#home p {
    font-weight: 600;
    font-size: 1.5em;
    color: #fff;
    text-shadow: 2px 2px 0px rgb(0, 0, 0);

}
#home h1 {
    font-size:5em;
    text-shadow: 2px 2px 0px rgb(0, 0, 0);
}

#home img {
    display: inline-block;
    margin-top: 30px;
    /* mask-image: linear-gradient(black 80%, transparent); */
}

/* end home */

/* start divider */
#divider {
    /*
    background: url('../img/divider-bg.jpg') no-repeat;
    background-size: cover;
    */
    color: #000000;
    text-align: center;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
}

#divider .divider-title h2 {
    font-size: 1.5em;
    font-weight: 800;
    text-align: center;
    color: #D10825;
    padding-bottom: 10px;
    /*text-shadow: 1px 1px 0px rgb(0, 0, 0);*/
    text-shadow: 2px 2px 8px #666;
}

#divider h3 {
    font-size: 20px;
    color: #000000;
    /* text-transform: capitalize;*/    
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
}

#divider p {
    text-align: justify;
    font-size: larger;
}

#divider .fa {
    color: #000000;
    font-size: 60px;
}

#divider img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 60px;
    width: 30%;
    height: auto;
}

/* Estilo al pasar el mouse */
#divider img:hover {
    transform: translateY(-10px);
    /* Eleva el cuadrado 10px */
    box-shadow: 0 0 0;  
    /* Sombra más pronunciada */
}

/* end divider */

/* start feature1 */
#feature1 {
    background: url('../img/solucionesInformaticas_bg.jpg') no-repeat center center; 
    background-size: cover; 
    /* Altura mínima para que siempre muestre una sección de la imagen */
    min-height: 50vh;
    /*background: #cacacb;*/
    padding-top: 60px;
    padding-bottom: 30px;
}

#feature1 .feature1-title h2 {
    font-size: 1.5em;
    font-weight: 800;
    text-align: center;
    color: #D10825;
    padding-bottom: 10px;
    /*text-shadow: 1px 1px 0px rgb(0, 0, 0);*/
    text-shadow: 2px 2px 8px #666;
}

#feature1 img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0px;
    width: 50%;
    height: auto;
}

#feature1 p {
    padding-top: 5px;
    font-size: 1.5em;
    color: #303030;
    text-align: justify;
}

#feature1 ul{
    list-style-type: none;  /* Oculta el marcador predeterminado */
    font-size: large;
    /* color: #720011; */
    color: #303030;
    padding-top: 30px;
}

#feature1 li {  
    padding-left: 20px;     /* Establece espacio a la izquierda para el nuevo marcador */
    position: relative;     /* Posicionamiento relativo para colocar el ::before */
}

#feature1 li::before {
    content: "";            /* Contenido vacío es necesario para que el pseudo-elemento exista */
    position: absolute;     /* Posicionamiento absoluto para colocarlo a la izquierda */
    left: 0;                /* Lo coloca en la izquierda del elemento li */
    top: 50%;               /* Centra verticalmente el marcador */
    transform: translateY(-50%); /* Centra verticalmente el marcador */

    /* --- Propiedades Clave para la Imagen --- */  
    /* Define el tamaño del contenedor del marcador (ej. 16x16 píxeles) */
    width: 16px; 
    height: 16px; 

    background-image: url("../img/jdp_logo100x100.png"); /* Carga la imagen de fondo */
    background-repeat: no-repeat;       /* Asegura que la imagen no se repita */  
    background-size: contain; /* Ajusta la imagen para que quepa en el tamaño definido (16x16) */
}

#feature1 span {
    float: left;
}

#feature1 .fa {
    background: #ffffff;
    border-radius: 50%;
    color: #D10825;
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    margin-right: 20px;
}

#feature1 row {
    background: #28a7e9;
}

/* end feature1 */

/* start feature2 */
#feature2 {
/*    background: url('../images/desarrollo-img.jpg') no-repeat;
    background-size: cover; */
    background: #bfbfc0;
    padding-top: 60px;
    padding-bottom: 60px;
}

#feature2 p {
    text-align: justify;
    padding-top: 5px;
}

#feature2 span {
    float: left;
}

#feature2 .fa {
    background:#D10825;
    border-radius: 50%;
    color: #a0a0a0;
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    margin-right: 10px;
}

#feature2 .feature2-title h2 {
    text-align: center;
    color: #001D35;
    padding: 30px;
}

#feature2 img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
}

#feature2 .caja1 {
    width: 96%;
    margin: 6px;
    height: 300px;
}

#feature2 .caja2 {
    width: 96%;
    margin: 6px;
    height: 280px;
}

#feature2 .caja3 {
    width: 96%;
    margin: 6px;
    height: 80px;
}

/* end feature2 */

/* start pricing */
#pricing {
    background: #f8f8f8;
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
}

#pricing h2 {
    padding-bottom: 60px;
}

#pricing .pricing {
    background: #fff;
}

#pricing .active {
    position: relative;
    bottom: 20px;
}

#pricing .pricing .pricing-title {
    background: #28a7e9;
    color: #fff;
    font-weight: bold;
    padding: 30px;
}

#pricing .pricing .pricing-title p {
    font-size: 20px;
}

#pricing .pricing ul {
    padding: 0;
    margin: 0;
}

#pricing .pricing ul li {
    display: block;
    list-style: none;
    padding: 16px;
}

#pricing .pricing .btn {
    background: transparent;
    border: 1px solid #28a7e9;
    border-radius: 0px;
    color: #28a7e9;
    font-weight: bold;
    padding-right: 40px;
    padding-left: 40px;
    margin-top: 20px;
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

#pricing .pricing .btn:hover {
    background: #28a7e9;
    color: #fff;
}
/* end pricing */


/* start clientes */
#clientes {
    /* font-family: Arial, sans-serif; */ 
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    /* weight: 100vh;  */
    background: #fff;
    padding-top: 60px;
    padding-bottom: 60px;
    color: #000;
}

#clientes .clientes-titulo1 h4 {
    text-align: left;
    /* color: #dc143c; bigsys.com.ar */
    color:#303030;
}
#clientes .clientes-titulo2 h4 {
    text-align: right;
    /* color: #dc143c; bigsys.com.ar */
    color:#303030;
    padding-top: 30px;
}

#clientes p {
    text-align: center;
    color: #000;
    line-height: 8em;
    /* padding: 20px; */
}
/* end clientes */


/* start download */
#download {
    /*
        background: url('../images/download-bg') no-repeat;
        background-size: cover; 
        background: #DBDBEA;
        color: #303030;  */
    padding-top: 60px;
    padding-bottom: 60px;
}

#download h2 {
    padding-bottom: 20px;
}

#download p {
    font-size: larger;
}

#download .btn {
    border-radius: 0px;
    font-weight: bold;
    margin-top: 20px;
    padding: 10px 40px 10px 40px;
}

#download .download-title h2 {
    text-align: center;
    color: #303030;
    padding: 30px;
}

#download .enlace .btn {
    background: transparent;
    border: 1px solid #28a7e9;
    border-radius: 0px;
    color: #03500D;
    font-weight: bold;
    padding-right: 40px;
    padding-left: 40px;
    margin-top: 20px;
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

#download .enlace .btn:hover {
    background: #03500D;
    color: #fff;
}

#download .icohs2a {

    font-size: 15px;
    /* 2.5em = 40px/16=2.5em */
    font-weight: bold;
    color: #1B0B55;
    text-align: center;
    background: #1CA827;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    border: 3px solid #03500D;
    line-height: 40px;
    /*padding-top: 0px;*/
}

#download .icohs2b {

    font-size: 14px;
    /* 2.5em = 40px/16=2.5em */
    font-weight: bold;
    color: #1B0B55;
    text-align: center;
    background: #1CA827;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    border: 3px solid #03500D;
    line-height: 15px;
    padding-top: 3px;
}

#download .columna1 {
    float: left;
    width: 24%;
}

#download .columna2 {
    float: left;
    width: 76%;

    font-size: 14px;
    /* 2.5em = 40px/16=2.5em */
}

#download .caja1 {
    color: #fff;
    text-align: left;
    margin: 20px;
    height: 40px;
}

/* end download */

/* start contact */
#contact {
    background: #D10825;
    color: #fff;
    background: url('../img/contac_bg.jpg') no-repeat;
    background-size: cover; 
    font-size: medium;
}

/* Ajuste de margen superior si no usas padding en el body */
#contact .container {
    margin-top: 10px;
    margin-bottom: 10px;
}

#contact .container p { /* El texto fluirá naturalmente a la derecha */
  overflow: hidden; /* Asegura que el texto no se salga del contenedor */
}

#contact .container h2 {
    padding-bottom: 20px;
}

#contact address {
    padding-top: 60px;
}

#contact address p { /* El texto fluirá naturalmente a la derecha */
  line-height: 2; /* Valor numérico: 1.5 veces el tamaño de la fuente */
}

#contact address .fa {
    background: #D10825;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin: 10px 10px 10px 10px;

}

#contact address .fa-solid {
    background: #D10825;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin: 10px 10px 10px 10px;
}

#contact address .fa-brands {
    background: #D10825;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin: 10px 10px 10px 10px;
}

#contact .contactform {
    padding-top: 40px;
}

#contact .form-control {
    border: none;
    border-radius: 0px;
    box-shadow: none;
    margin-bottom: 20px;
}

#contact input {
    height: 50px;
}

#contact input[type="submit"] {
    background: #fff;
    color: #D10825;
    font-weight: bold;
    transition: all 0.3s ease;
}

#contact input[type="submit"]:hover {
    background: #D10825;
    color: #fff;
}

#contact .contact-title h2 {
    text-align: center;
    color: white;
    padding: 10px;
    text-transform: uppercase;
}

#contact .imagen {
  float: left; /* La imagen se flota a la izquierda */
  margin-right: 20px; /* Agrega un pequeño espacio entre la imagen y el texto */
}

/* En templatemo-style.css */
#contact .custom-shadow {
    /* Simula shadow-lg de B5 */
    box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; 
    border-radius: 6px; /* Para darle un aspecto más moderno, si lo deseas */
}

/* Opcional: Para simular mejor el spinner de B5 si no usas Font Awesome */
/*#loading .spinner-border {*/
    /* Aquí tendrías que definir el estilo del spinner con border y animaciones */
/*}*/

/* --- ADAPTADOR BS5 para BS3 --- */

/* 1. Utilidades de visibilidad (BS5 d-none equivale a display: none) */
#contact .d-none {
    display: none !important;
}

/* 2. Utilidades de margen (BS5 mt-4 y mt-2) */
#contact .mt-4 {
    margin-top: 24px !important; /* Aprox 1.5rem */
}
#contact .mt-2 {
    margin-top: 8px !important;  /* Aprox 0.5rem */
}

/* 3. Recreación del Spinner (Bootstrap 3 no tiene spinner CSS nativo) */
#contact .spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    border: .25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border .75s linear infinite;
    animation: spinner-border .75s linear infinite;
}

#contact .text-primary {
    color: #337ab7; /* Color primario de Bootstrap 3 */
}

/* Animación de rotación */
@keyframes spinner-border {
    to { transform: rotate(360deg); }
}
@-webkit-keyframes spinner-border {
    to { -webkit-transform: rotate(360deg); }
}


/* end contact */





/* start whatsapp */
/* --- Estilos para el Contenedor Fijo --- */
.whatsapp-button {
    position: fixed;    /* Fija el botón en la ventana (viewport) */
    right: 80px; 	    /* Lo coloca a 20px del borde derecho */
    bottom: 20px;       /* Lo coloca a 20px del borde inferior */
    z-index: 1000;      /* Asegura que esté por encima de otros elementos */
    display: flex;      /* Flexbox para alinear el ícono y el texto */
    align-items: center;
    text-decoration: none; /* Quita el subrayado del enlace */
    /* Estilo del botón (opcional, pero mejora la apariencia) */
    /*  background-color: #25d366;      /* Color de fondo de WhatsApp */
    padding: 10px 15px;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

/* Efecto al pasar el ratón */
.whatsapp-button:hover {
    background-color: #128c7e;    /* Un tono más oscuro */
    transform: scale(1.05);         /* Ligeramente más grande */
}

/* --- Estilos para el Ícono --- */
.whatsapp-icon {        /* Define el tamaño del ícono */
    width: 35px;
    height: 35px;
    margin-left: 10px; /* Espacio entre la etiqueta y el ícono */
}

/* --- Estilos para la Etiqueta de Texto --- */
.whatsapp-label {
    /* Estilo del texto */
    font-family: Arial, sans-serif;
    color: #dedbdb;
    font-weight: bold;
    font-size: 12px;
    /* Opcional: lo hace visible solo cuando el botón NO está siendo enfocado, para mejorar UX en móviles */
    white-space: nowrap; 
}

/* Media Query (Opcional): Ocultar el texto en pantallas muy pequeñas */
@media (max-width: 480px) {
    .whatsapp-label {
        /* Oculta la etiqueta en móviles pequeños para dejar solo el ícono */
        display: none;
    }
    /* Ajusta el padding para que solo el ícono quede visible */
    .whatsapp-button {
        padding: 10px;
        border-radius: 50%; /* Lo hace un círculo perfecto */
    }
    .whatsapp-icon {
        margin-left: 0;
    }
}
/* end whatsapp */


/* start footer */
footer {
    background: #000000;
    color: #fff;
    font-weight: 400;
    text-align: center;
    padding: 60px;
}
/* end footer */



@font-face {
  font-family: 'Montserrat';
  /* Aquí es donde busca el navegador */
  src: url('../fonts/Montserrat-Regular.ttf') format('ttf') ;
  font-style: normal;
  font-weight: 400;
}   


/* ---------------------------------------------------- */
/* Media Query para Tablets (Ancho >= 768px) */
/* ---------------------------------------------------- */
/*
@media (min-width: 768px) {
    #home {
        background-image: url('../img/home_bg_1200.webp');
        min-height: 65vh; 
    }
}
*/
/* ---------------------------------------------------- */
/* Media Query para Escritorio (Ancho >= 1200px) */
/* ---------------------------------------------------- */
/* home_bg_1536.webp Tu imagen original, optimizada para grandes pantallas */
/* min-height: 80vh; Aumenta la altura para ocupar más espacio */
/*
@media (min-width: 1200px) {
    #home {
        background-image: url('../img/home_bg_1536.webp'); 
        min-height: 80vh; 
    }
}
*/
/* ---------------------------------------------------- */
/* Media Query para Tablets (Ancho < 768px) */
/* ---------------------------------------------------- */
@media screen and (max-width: 768px) {
    .navbar-default .nav li a {
        height: auto;
        line-height: 2em;
    }

    #home {
        /* Versión de imagen optimizada para Tablets */
        background-image: url('../img/home_bg_800.webp') center center;
        width: 100%; /* Asegura que no desborde el contenedor */
        height: auto;    /* Mantiene la relación de aspecto */
    }
    #home h1 {
        font-size:3em;
        text-shadow: 2px 2px 0px rgb(0, 0, 0);
    }

    #divider .divider-title h2 {
        font-size: xx-large;
        font-weight: 800;
        text-align: center;
        color: #D10825;
        padding-bottom: 10px;
        text-shadow: 2px 2px 8px #666;
    }

    #divider img {
        width: 50%; /* Aquí volvemos a tu 30% original cuando hay espacio */
    }

    #feature1 .feature1-title h2 {
        font-size: xx-large;
        font-weight: 800;
        text-align: center;
        color: #D10825;
        padding-bottom: 10px;
        text-shadow: 2px 2px 8px #666;
    }

    #feature1 p {
        padding-top: 5px;
        font-size: 1.2em;
        color: #303030;
        text-align: justify;
    }

    #feature2 .caja1 {
        width: 96%;
        margin: 6px;
        height: auto;
    }
    #feature2 .caja2 {
        width: 96%;
        margin: 6px;
        height: auto;
    }
    #feature2 .caja3 {
        width: 96%;
        margin: 6px;
        height: auto;
    }
    
    #pricing,
    #download {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    #contact .overlay {
        padding-top: 40px;
    }
}

