/* Los tipos de letra no estándar hay que importarlos */
@import url('https://fonts.googleapis.com/css?family=Montserrat');
@import url('https://fonts.googleapis.com/css?family=Oswald');
@import url('https://fonts.googleapis.com/css?family=Anton');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;1,100;1,300;1,400;1,500;1,700&display=swap');
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{
    line-height:1.15;
    -webkit-text-size-adjust:100%
}
body{ margin:0;}
main{display:block}
/*h1{font-size:2em;margin:.67em 0}
h1,h2{ color: #1e3a5f;}*/
.contact-info {background-color: #e9f0fa;padding:20px;border-radius:10px;}
hr{box-sizing:content-box;height:0;overflow:visible}
pre{font-family:monospace,monospace;font-size:1em}
a{background-color:transparent}
abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
b,strong{font-weight:bolder}
code,kbd,samp{font-family:monospace,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
/*img{border-style:none}*/
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}
[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}
fieldset{padding:.35em .75em .625em}
legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}
progress{vertical-align:baseline}textarea{overflow:auto}
[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/*================
 * CONFIGURACION *
=================*/
*,
*::after,
*::before {
    box-sizing: border-box;
}

/*============
 * VARIABLES *
=============*/
:root {
    --fuente: 'Roboto', Montserrat, Oswald, Anton, sans-serif;
    --fondo: #282828;
    --ancho-contenedor: 1200px;
}

/*====================
 * ESTILOS GENERALES *
=====================*/
body {
    background: var(--fondo);
    font-family: var(--fuente);
    font-size: 18px;
}

p { line-height: 27px; }

a { text-decoration: none; }

img {
    border-style: none;
    vertical-align: top;
    width: 100%;
}

.banerr3 { /* Ocultar la herramienta de consulta al abrir la pagina */
    display: none;
    margin: auto;
}

/*===============
 * CONTENEDORES *
================*/
.contenedor {
    max-width: 100%;
    width: var(--ancho-contenedor);
    margin: 0px auto;
    overflow: hidden;
}

.logo {
    max-width: 100%;
    width: var(--ancho-contenedor);
    margin: 0px auto;
    overflow: hidden;
}

.contenedor-ancho {
    width: 100%;
    padding: 0 4px;
    margin: 2px;
}

/*=======
 * GRID *
========*/
.grid {
    display: grid;
    gap: 10px;
    margin-bottom: 0px;
}

/* Tamano grande - Computadores y TV */
.col-1 { grid-template-columns: repeat(1, 1fr);}
.col-2 { grid-template-columns: repeat(2, 1fr);}
.col-3 { grid-template-columns: repeat(3, 1fr);}
.col-4 { grid-template-columns: repeat(4, 1fr);}
.col-5 { grid-template-columns: repeat(5, 1fr);}
.col-6 { grid-template-columns: repeat(6, 1fr);}
.col-7 { grid-template-columns: repeat(7, 1fr);}
.col-8 { grid-template-columns: repeat(8, 1fr);}
.col-9 { grid-template-columns: repeat(9, 1fr);}
.col-10 { grid-template-columns: repeat(10, 1fr);}
.col-11 { grid-template-columns: repeat(11, 1fr);}
.col-12 { grid-template-columns: repeat(12, 1fr);}

.span-1 {grid-column: span 1;}
.span-2 {grid-column: span 2;}
.span-3 {grid-column: span 3;}
.span-4 {grid-column: span 4;}
.span-5 {grid-column: span 5;}
.span-6 {grid-column: span 6;}
.span-7 {grid-column: span 7;}
.span-8 {grid-column: span 8;}
.span-9 {grid-column: span 9;}
.span-10 {grid-column: span 10;}
.span-11 {grid-column: span 11;}
.span-12 {grid-column: span 12;}

nav #ref { /* Ocultar items del menu */
    display: none;
}

/* Tamano mediano - Tablets */
@media screen and (max-width: 992px){
    .med-col-1 { grid-template-columns: repeat(1, 1fr);}
    .med-col-2 { grid-template-columns: repeat(2, 1fr);}
    .med-col-3 { grid-template-columns: repeat(3, 1fr);}
    .med-col-4 { grid-template-columns: repeat(4, 1fr);}
    .med-col-5 { grid-template-columns: repeat(5, 1fr);}
    .med-col-6 { grid-template-columns: repeat(6, 1fr);}
    .med-col-7 { grid-template-columns: repeat(7, 1fr);}
    .med-col-8 { grid-template-columns: repeat(8, 1fr);}
    .med-col-9 { grid-template-columns: repeat(9, 1fr);}
    .med-col-10 { grid-template-columns: repeat(10, 1fr);}
    .med-col-11 { grid-template-columns: repeat(11, 1fr);}
    .med-col-12 { grid-template-columns: repeat(12, 1fr);}

    .med-span-1 {grid-column: span 1;}
    .med-span-2 {grid-column: span 2;}
    .med-span-3 {grid-column: span 3;}
    .med-span-4 {grid-column: span 4;}
    .med-span-5 {grid-column: span 5;}
    .med-span-6 {grid-column: span 6;}
    .med-span-7 {grid-column: span 7;}
    .med-span-8 {grid-column: span 8;}
    .med-span-9 {grid-column: span 9;}
    .med-span-10 {grid-column: span 10;}
    .med-span-11 {grid-column: span 11;}
    .med-span-12 {grid-column: span 12;}

    .contenedor {
        max-width: 100%;
        width: 100%;
        margin: 10px;
        /* overflow: hidden; */
    }

    .card {
        padding: 1px;
        background: #fff;
        border-radius: 2px;
        box-shadow: 0px 0px 30px rgba(221,221,221,0.3);
        text-align: center;
    }

    nav #contacto { /* Ocultar items del menu */
        display: none;
    }
}

/* Tamano pequeno - Celular */
@media screen and (max-width: 576px){
    .peq-col-1 { grid-template-columns: repeat(1, 1fr);}
    .peq-col-2 { grid-template-columns: repeat(2, 1fr);}
    .peq-col-3 { grid-template-columns: repeat(3, 1fr);}
    .peq-col-4 { grid-template-columns: repeat(4, 1fr);}
    .peq-col-5 { grid-template-columns: repeat(5, 1fr);}
    .peq-col-6 { grid-template-columns: repeat(6, 1fr);}
    .peq-col-7 { grid-template-columns: repeat(7, 1fr);}
    .peq-col-8 { grid-template-columns: repeat(8, 1fr);}
    .peq-col-9 { grid-template-columns: repeat(9, 1fr);}
    .peq-col-10 { grid-template-columns: repeat(10, 1fr);}
    .peq-col-11 { grid-template-columns: repeat(11, 1fr);}
    .peq-col-12 { grid-template-columns: repeat(12, 1fr);}

    .peq-span-1 {grid-column: span 1;}
    .peq-span-2 {grid-column: span 2;}
    .peq-span-3 {grid-column: span 3;}
    .peq-span-4 {grid-column: span 4;}
    .peq-span-5 {grid-column: span 5;}
    .peq-span-6 {grid-column: span 6;}
    .peq-span-7 {grid-column: span 7;}
    .peq-span-8 {grid-column: span 8;}
    .peq-span-9 {grid-column: span 9;}
    .peq-span-10 {grid-column: span 10;}
    .peq-span-11 {grid-column: span 11;}
    .peq-span-12 {grid-column: span 12;}

    .contenedor {
        max-width: 100%;
        width: 100%;
        margin: 0px;
        overflow: hidden;
    }

    .card {
        padding: 0;
        background: #fff;
        /* border-radius: 2px;
        box-shadow: 0px 0px 30px rgba(221,221,221,0.3); */
        text-align: center;
    }

    .banerr2 { /* Ocultar el carrousel */
        display: none;
        /* visibility: hidden; */
    }
    .banerr3 { /* Mostrar la herramienta de consulta */
        display: block;
        margin: 0px;
    }

    nav a { /* cambiar el tamaño de la fuente de 18px a 16px, AUN NO FUNCIONA */
        text-decoration: none;
        font-size: 16px;
    }

    nav #referencias, nav #contacto, nav #area-clientes { /* Ocultar items del menu */
        display: none;
    }

    nav #ref { /* Ocultar items del menu */
        display: block;
    }

    .iframeConsulta {
        width: 99%;
        height: 490px;
    }

    .logo {
        max-width: 100%;
        width: 100%;
        margin: 0px;
        overflow: hidden;
    }

    footer {
        background-color: black;
        bottom: 0;
        width: 100%;
        height: 50px;
        color: white;
        font-size: 10px;
        text-align: center;
      }
}

/*==============
 * COMPONENTES *
===============*/
.card {
    padding: 40px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0px 0px 30px rgba(221,221,221,0.3);
    text-align: center;
}

.nav {
    background: #000;
    /* display: flex; */
    /* flex-wrap: wrap; */
    overflow: hidden;
    margin: 0px auto;
    text-align: center;
}

.nav .contenedor {
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto;
    text-align: center;
}

.nav a {
    font-family: Oswald;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 15px 15px;
    transition: .3s ease all;
    font-size: 16px;
}

.nav a.activo,
.nav a:hover {
    background: #3a3c3d;
}

/*==========
 * FUENTES *
===========*/
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    font-family: Oswald;
}

.display-1 {
    font-weight: 700;
    font-size: 64px;
}

.display-2 {
    font-weight: 700;
    font-size: 54px;
}

.display-3 {
    font-weight: 700;
    font-size: 44px;
}

.display-4 {
    font-weight: 700;
    font-size: 24px;
}

.referencias-bibiograficas {
    font-size: 14px;
}

/*==============
 * FORMULARIOS *
===============*/
form * {
    font-family: var(--fuente);
}

form .input {
    padding: 10px 15px;
    border-radius: 3px;
    border: 1px solid #d6d6d6;
    transition: 3s ease all;
    width: 150px;
    /* margin-bottom: 20px; */
}

form .input:focus {
    border: 1px solid #641ee7;
    outline: none;
}

.boton {
    /* background: #641ee7; */
    background: #08a84a;
    border: none;
    cursor: pointer;
    color: #fff;
    display: inline-block;
    padding: 10px 15px;
    margin: 10px 0;
    border-radius: 3px;
    text-align: center;
    line-height: 10px;
    transition: 3s ease all;
}

.boton:hover {
    /* background: #5114c2; */
    background: #016d33;
}

/*==========
 * HELPERS *
===========*/
.no-margen { margin: 0;}
.no-margen-superior {margin-top: 0;}
.no-margen-inferior {margin-bottom: 0;}
.no-margen-izquierdo { margin-left: 0;}
.no-margen-derecho {margin-right: 0;}

.texto-centrado {text-align: center;}
.texto-izquierdo {text-align: left;}
.texto-derecho {text-align: right;}

/*================
 * PIE DE PAGINA *
=================*/
footer {
    background-color: black;
    bottom: 0;
    width: 100%;
    height: 45px;
    color: white;
    font-size: 12px;
    text-align: center;
    vertical-align: middle;
  }

/*=================================
 * cuadros de mensajes resaltados *
==================================*/
.text-msg {
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    background-color: #14923a;
    padding: 4px;
}
.text-msgA {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  background-color: #0b3e65;
  padding: 4px;
}

/*=========================
 * clases para el tooltip *
==========================*/
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}
.tooltip .tiptext {
    visibility: hidden;
    width: 300px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 3px;
    padding: 4px;
    position: absolute;
    z-index: 1;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.tooltip .tiptext::after {
    content: "";
    position: absolute;
    border-width: 5px;
    border-style: solid;
}
.tooltip:hover .tiptext {
    visibility: visible;
}
.tooltip.top .tiptext{
  margin-left: -60px;
  bottom: 120%;
  left: 50%;
}
.tooltip.top .tiptext::after{
  margin-left: -5px;
  top: 100%;
  left: 20%;
  border-color: #2e2e2e transparent transparent transparent;
}
.tooltip.top a {
  color: blue;
  text-decoration: none;
}

/*============================================
 * Colores de los iconos Redes Sociales *
   Ejemplo de: DevCode
   https://www.youtube.com/watch?v=U-i9tpN06nI
============================================*/
.social-bar {
    position: fixed;
    right: 0;
    top: 35%;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 100;
  }
.icon {
    color: #fff;
    text-decoration: none;
    padding: .7rem;
    display: flex;
    transition: all .5s;
}
.icon-whatsapp {
    /* color: #58cb3f; */
    background:  #58cb3f;
    font-family: Oswald;
  }
.icon-facebook {
    /* color: #2E406E; */
    background: #2E406E;
  }
.icon-instagram {
    /* color: #3F60A5; */
    background: #d4426d;
  }
.icon-twitter {
    /* color: #339DC5; */
    background: #339DC5;
  }
.icon-tiktok {
    background: #000;
}
.icon:first-child {
    border-radius: 1rem 0 0 0;
}
.icon:last-child {
    border-radius: 0 0 0 1rem;
}
.icon:hover {
    padding-right: 3rem;
    border-radius: 1rem 0 0 1rem;
    box-shadow: 0 0 .5rem rgba(0, 0, 0, 0.42);
}
.redes {
    background: #fff;
}
/*=======================================
 * REDES *
========================================*/
#redes {
    padding: 0;
}
#redes li {
    display: inline-block;
    list-style: none;
}
#redes li a {
    font-family: Oswald;
    font-size: x-large;
    text-decoration: none;
    padding: -1px 10px;
    background-color: #fff;
    color: #000;
}
.whatsapp a {
    font-family: Oswald;
    font-size: x-large;
    text-decoration: none;
    padding: 15px;
    background-color: #fff;
    color: #000;
}
.phone {
    font-family: Oswald;
    font-size: x-large;
    text-decoration: none;
    padding: 10px;
    background-color: #fff;
    color: #000;
}

#menu-referencias li a {
    /*font-family: Arial;*/
    /* font-size: 13px; */
    text-decoration: none;
    /*padding: 10px;*/
    background-color: #fff;
    color: #000;
	align-items:flex-start;
}

/*=======================================
 * NAVEGACION CONSULTA *
========================================*/
.img-con {
    width: 125px;
    height: 29px;
}

.fr-linea p {
    gap: .1em;
    margin: 1px 5px;
}

.serDiv {
    height: 300px;
    vertical-align: bottom;
    margin-bottom: 0;
}