/* ----------ROOT Y GENERALES----------- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;500;600;700&family=Open+Sans:wght@300;400;500&family=Roboto:ital,wght@0,100;0,300;0,400;1,100;1,300;1,400&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body {
  background-color: #fcfcfc;
  font-family: 'Open Sans', sans-serif; }

html {
  overflow-y: scroll; }

.hero {
  display: flex;
  margin: 0 auto;
  padding: 0 5vh 0 10vh;
  max-width: 1500px;
  height: 82vh; }
  .hero .img__hero {
    padding-left: 20px;
    padding-top: 30px;
    padding-bottom: 50px;
    width: 80rem;
    transform: scale(0.88); }
  .hero .textos__hero {
    text-align: left;
    align-self: center;
    max-width: 48rem;
    font-size: 1.225rem;
    margin-top: 1rem; }
    .hero .textos__hero h1 {
      margin-bottom: 10px;
      font-size: 2rem; }
    .hero .textos__hero p {
      padding-bottom: 5px; }
    .hero .textos__hero .cta__hero {
      text-decoration: none;
      font-size: 1.2rem;
      width: 200px;
      background: #000000;
      display: inline-block;
      color: #ffffff;
      text-align: center;
      padding: 10px 0;
      border-radius: 25px;
      -webkit-transition-property: background-color;
      transition-property: background-color;
      -webkit-transition-duration: .8s, .8s;
      transition-duration: .8s, .8s;
      -webkit-transition-timing-function: linear, ease-in;
      transition-timing-function: linear, ease-in; }
      .hero .textos__hero .cta__hero:hover {
        background-color: #5c5c5c;
        transition: .5s;
        transition-timing-function: ease-in; }

.weight-400 {
  font-weight: 400;
  font-family: 'Montserrat', sans-serif; }

.weight-600 {
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  text-emphasis-color: #32ade6; }

.weight-600_high {
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  background: #186adc;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  padding: 0 10px;
  text-align: center; }

header {
  grid-area: header;
  background-color: #065dc6;
  padding: 0rem 3.75rem;
  font-size: 1.3rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: #b9b9b9 solid; }
  header .navbar .container-fluid .navbar-brand {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    header .navbar .container-fluid .navbar-brand .header__container__logo {
      transition: all .5s ease-in-out;
      animation: carga .5s ease-in-out;
      -webkit-animation: carga .5s ease-in-out; }
      header .navbar .container-fluid .navbar-brand .header__container__logo:hover {
        transform: scale(1.22); }
    header .navbar .container-fluid .navbar-brand a {
      text-decoration: none; }
  header .navbar .container-fluid #navbarSupportedContent .navbar-nav {
    align-items: center; }
    header .navbar .container-fluid #navbarSupportedContent .navbar-nav .nav-item {
      text-decoration: none;
      font-size: 1.3rem;
      display: inline-block;
      text-align: center;
      border-radius: 30px; }
      header .navbar .container-fluid #navbarSupportedContent .navbar-nav .nav-item:hover {
        background: #313233bd;
        color: #fff;
        border-radius: 30px;
        display: inline-block;
        transition: .7s all ease; }
      header .navbar .container-fluid #navbarSupportedContent .navbar-nav .nav-item .nav-link {
        color: #ffffff; }
        header .navbar .container-fluid #navbarSupportedContent .navbar-nav .nav-item .nav-link:hover {
          color: #fff;
          transition: .8s all ease; }
      header .navbar .container-fluid #navbarSupportedContent .navbar-nav .nav-item .dropdown-menu {
        font-size: 1.1rem;
        border-radius: 10px;
        background-color: #f0f4f8d3; }
        header .navbar .container-fluid #navbarSupportedContent .navbar-nav .nav-item .dropdown-menu li a:hover {
          background-color: #007bff; }
  header .navbar .container-fluid .navbar-toggler {
    padding: .25rem .5rem; }
  header .navbar .container-fluid .navbar-toggler-icon {
    width: 1.2em; }

@keyframes carga {
  0% {
    transform: scale(1.25);
    -webkit-transform: scale(1.25); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

.footer {
  background-color: #4e5257;
  height: fit-content; }
  .footer .menu {
    margin-top: 20px;
    margin-bottom: 20px; }
    .footer .menu a {
      color: #ffffff;
      margin: 0 0px;
      font-family: 'Montserrat', sans-serif;
      font-size: 1.3rem;
      letter-spacing: .5px;
      text-decoration: none;
      padding: 0px 15px;
      display: inline-block;
      border-radius: 30px;
      text-align: center; }
      .footer .menu a:hover {
        background: #bbbbbb;
        color: #4e5257;
        border-radius: 30px;
        display: inline-block;
        transition: .8s all ease; }
  .footer .social-icons {
    padding: 0;
    list-style: none;
    margin: 1em 1em 0 1em; }
    .footer .social-icons li {
      display: inline-block;
      margin: 0.15em;
      position: relative;
      font-size: 1.2em; }
    .footer .social-icons i {
      color: #fff;
      position: absolute;
      top: 21px;
      left: 21px;
      transition: all 265ms ease-out; }
    .footer .social-icons a {
      display: inline-block; }
      .footer .social-icons a:before {
        transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        content: " ";
        width: 60px;
        height: 60px;
        border-radius: 100%;
        display: block;
        background: linear-gradient(45deg, #186adc, #1b73d8);
        transition: all 265ms ease-out; }
      .footer .social-icons a:hover:before {
        transform: scale(0);
        transition: all 265ms ease-in; }
      .footer .social-icons a:hover i {
        transform: scale(2.2);
        -ms-transform: scale(2.2);
        -webkit-transform: scale(2.2);
        color: #ffffff;
        background: -webkit-linear-gradient(45deg, #ffffff, #ffffff);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        transition: all 265ms ease-in; }

/* ----------HEADER+NAV------------ */
.containergrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto 10fr auto;
  gap: 0px 5px;
  margin: 0 auto;
  grid-auto-flow: row;
  grid-template-areas: "header header header" "main main main" "footer footer footer"; }

/* --------MAIN-------- */
main {
  grid-area: main; }

/* --------INICIO HERO-------- */
/* --------INICIO SERVICIOS-------- */
.main__servicios {
  background-color: #f0f4f8;
  padding: 4.5rem 0; }

.sobretitulo {
  text-transform: uppercase;
  font-size: 1.10rem;
  letter-spacing: 3px;
  font-weight: 400;
  color: #186adc;
  font-family: 'Roboto', sans-serif;
  margin-bottom: .5rem;
  text-align: center; }

.titulo {
  text-align: center;
  font-size: 2.2rem;
  position: relative;
  font-weight: 500;
  font-family: 'Montserrat', sans-serif; }

.main__servicios__tarjetas {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  height: 20rem;
  margin-bottom: -30px;
  justify-content: space-between;
  align-items: center; }

.tarjeta {
  padding: 1.5rem 1.5rem 1rem 1.5rem;
  background-color: #ffffff;
  width: 20rem;
  height: 15rem;
  text-align: center;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  border-radius: 10px;
  user-select: none;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  -webkit-transition-duration: .4s, .4s;
  transition-duration: .4s, .4s;
  -webkit-transition-timing-function: linear, ease-in;
  transition-timing-function: linear, ease-in; }

.tarjeta:hover {
  background: #186adc;
  transition: .5s;
  transition-timing-function: ease-in;
  color: #fff; }

.tarjeta__icono {
  font-size: 50px;
  text-align: center;
  margin-top: 2px; }

.titulo-tarjeta {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 12px 0; }

.tarjeta > p {
  line-height: 1.5; }

/* --------INICIO ABOUT US-------- */
.main__sobrenosotros {
  padding: 4.5rem 0;
  margin-bottom: -5rem; }
  .main__sobrenosotros__container {
    padding-right: 1rem;
    padding-left: 1rem;
    max-width: 1200px;
    margin: 0 auto; }

.main__sobrenosotros__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 1200px;
  margin: 0 auto; }

.cuadricula {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 2.2rem; }

.cuadricula__item {
  display: flex;
  align-items: flex-start;
  height: 290px;
  width: 350px;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: -80px; }

.cuadricula__item_num {
  font-size: 1.5rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  position: relative;
  color: #186adc;
  padding-right: 0.3125rem; }

.cuadricula__item_container {
  padding-left: 2.5rem; }

.cuadricula__item_titulo {
  margin-top: 0.180rem;
  font-weight: 600;
  font-size: 1.5rem; }

/* --------INICIO PRODUCTOS-------- */
.main__nuestrosproductos {
  background-color: #f0f4f8;
  padding: 3rem 0;
  margin-bottom: -2rem; }

.main__nuestrosproductos__container {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  height: fit-content;
  justify-content: space-evenly;
  align-items: center;
  margin-top: 1rem; }

.tarjetaproducto {
  background-color: #ffffff;
  width: fit-content;
  height: fit-content;
  margin: 30px 30px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  border-radius: 10px;
  transition: box-shadow .3s;
  border: 1px solid #eee; }

.tarjetaproducto:hover {
  box-shadow: 0 0 15px #515151; }

.overlay {
  opacity: 0;
  position: absolute;
  width: 282px;
  height: 80px;
  background: rgba(6, 92, 198, 0.65);
  z-index: 0;
  margin-left: -1px;
  margin-top: -79px;
  border-end-end-radius: 10px;
  border-bottom-left-radius: 10px;
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out; }

.imagenproducto:hover .overlay {
  opacity: 1; }

.tarjetaproducto .imagenproducto p {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 1.35rem;
  color: white;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.55);
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  z-index: 2; }

/* --------INICIO CONTACT-------- */
.main__contactanos {
  display: flex;
  justify-content: space-between;
  background: #186adc;
  width: 100%;
  height: fit-content;
  padding-bottom: 2rem; }

.contactotitulo {
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  padding: 3rem 8rem;
  font-size: 4rem;
  background: #186adc;
  color: #fff; }

.separador {
  border: 3px solid white;
  background-color: #fff;
  border-radius: 5px;
  width: 15rem;
  margin-left: 8.6rem;
  margin-top: -2.5rem; }

.cursiva {
  font-weight: 00;
  font-style: italic; }

.main__contactanos__container > p {
  color: #fff;
  font-weight: 300;
  font-size: 2rem;
  font-family: 'Roboto', sans-serif;
  padding: 2rem 8rem; }

.subrayado {
  font-weight: 400; }

.main__contactanos__datoscontacto {
  padding-top: .5rem;
  display: flex; }

.main__contactanos__datoscontacto__ico, .main__contactanos__datoscontacto__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  height: 25vh;
  font-size: 2.5rem;
  padding: 0 1rem 0 8rem; }

.main__contactanos__datoscontacto__info {
  align-items: flex-start;
  padding: 0px 0;
  color: #fff;
  font-family: 'Roboto', sans-serif;
  font-weight: 100;
  font-size: 1.65rem; }

.main__contactanos__datoscontacto__info span.protectedNumber:before {
  content: "" attr(title); }

.main__contactanos_datoscontacto__form {
  padding: 7rem 8rem 0 0; }

/* ------FOOTER------ */
.secciones__container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto 2fr;
  gap: 10px 0px;
  grid-auto-flow: row;
  grid-template-areas: "header header header" "main main main" "footer footer footer"; }

header {
  grid-area: header; }

main {
  grid-area: main; }

footer {
  grid-area: footer;
  margin-top: auto; }

.main__secciones {
  padding: 3rem 0;
  margin-bottom: -1rem; }

.main__secciones__container {
  display: flex;
  max-width: 1200px;
  flex-direction: column;
  padding-top: .5rem;
  padding-right: 1rem;
  padding-left: 1rem;
  margin: 0 auto; }

.main__secciones_banner {
  image-rendering: auto;
  margin: 0 auto;
  image-rendering: crisp-edges; }

.titulo-secciones {
  font-weight: 500;
  font-size: 2rem;
  margin-top: 1em; }

.titulo-secciones-cob {
  font-weight: 300;
  background: #186adc;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  width: fit-content;
  padding: 5px 10px;
  text-align: center;
  font-size: 1.4rem;
  margin-top: .8em; }

.parrafo-secciones {
  max-width: 1200px;
  text-align: justify;
  font-weight: 300;
  font-size: 1.35rem; }

.parrafo-secciones-cob {
  font-size: 1rem;
  color: #252020;
  margin-left: 10px; }

.parrafo-secciones-cob ul {
  padding-top: 5px;
  line-height: 1.5; }

.contacto-secciones {
  font-weight: 400;
  font-size: 1.5rem; }

.cta__secciones {
  text-decoration: none;
  font-size: 1.2rem;
  width: 200px;
  background: #000000;
  display: inline-block;
  color: #ffffff;
  text-align: center;
  padding: 5px 0;
  border-radius: 25px;
  margin-left: 25px; }

.cotizador__secciones {
  max-width: 1000px;
  margin: 0 auto; }

.cotizador__secciones__form {
  max-width: 1000px;
  margin: 0 auto; }

/* -----PRODUCTOS.HTML----- */
.body__productos {
  background-color: #f0f4f8; }

.main__productos {
  grid-area: main; }

/* -----CONTACTO.HTML----- */
.main__envelope {
  text-align: center;
  font-size: 8em;
  margin: -.2em 0 0 0;
  color: #065dc6; }

.header__container__texto {
  font-size: 1.2em;
  color: white;
  padding-top: 15px;
  padding-left: 12px;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  user-select: none; }

.main__contacto {
  display: flex; }

.main__contacto__form {
  width: 50%; }

.main__contacto__datos {
  width: 50%;
  display: flex;
  justify-content: center;
  font-size: 1.8rem;
  padding-top: 5px;
  font-family: 'Montserrat', sans-serif; }

.main__contacto__ico {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  max-height: 270px;
  text-align: center; }

.main__contacto__info {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  max-height: 270px;
  padding-left: 5px;
  align-items: left; }

/* -----ejercicio SASS II (MAPS+EXTEND+MIXIN)----- */
/* -----MEDIA QUERYS----- */
@media (max-width: 1200px) {
  .containergrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: .5fr auto .5fr;
    gap: 0px 5px;
    grid-auto-flow: row;
    grid-template-areas: "header header" "main main" "footer footer"; }
  header {
    height: 17vh; }
  .nav-item {
    font-size: .85em !important; }
  .hero {
    height: 83vh; }
  .navbar-nav {
    align-items: flex-end; }
  .hero {
    max-width: 1200px;
    padding: 0 0 0 10vh; }
  .hero .img__hero {
    margin-top: 3.7rem;
    width: 40rem;
    transform: scale(0.95); }
  .textos__hero {
    font-size: 1rem;
    width: 40rem; }
  .cta__hero {
    font-size: 1rem; }
  .main__servicios {
    height: auto; }
  .main__servicios__tarjetas {
    display: flex;
    height: auto;
    flex-direction: column;
    justify-content: space-around;
    margin-top: 2rem; }
  .tarjeta {
    width: 35rem;
    height: 14rem;
    margin-bottom: 1rem; }
  .main__sobrenosotros {
    margin-bottom: -5rem; }
  .cuadricula {
    justify-content: space-around; }
  .main__nuestrosproductos__container {
    max-width: 993px;
    margin: 0 auto;
    margin-top: 50px; }
  .main__contactanos {
    justify-content: space-evenly; }
  .main__contactanos__container {
    padding-right: -100px; }
  .contactotitulo {
    font-size: 3.5rem;
    padding: 3rem 3rem 3rem 8rem; }
  .main__contactanos__container > p {
    font-size: 1.8rem;
    padding: 2rem 0 0rem 8rem; }
  .main__contactanos_datoscontacto__form {
    padding: 7rem 6rem 0 0; } }

footer {
  margin-top: auto; }

@media (max-width: 992px) {
  .containergrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: .17fr 6fr .1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas: "header header" "main main" "footer footer"; }
  header {
    height: 17vh; }
  .navbar {
    z-index: 1;
    opacity: 95%; }
  .navbar-nav {
    background-color: #fff;
    border-radius: 15px; }
  .nav-link {
    color: #000000 !important; }
  .hero {
    padding: 10vh 0 10vh 10vh;
    height: 83vh; }
  .hero::before {
    content: "";
    background-image: url(../assets/img/undraw_product_iteration_kjok.svg);
    background-size: cover;
    position: absolute;
    top: 0px;
    right: 0;
    bottom: 0px;
    transform: scale(0.98);
    left: 0px;
    z-index: -1;
    opacity: .30;
    margin-top: 0rem;
    margin-left: 25rem; }
  .hero .textos__hero {
    max-width: fit-content; }
  .img__hero {
    display: none; }
  .tarjeta {
    width: 30rem; }
  .main__nuestrosproductos__container {
    max-width: 768px;
    justify-content: space-evenly; }
  .tarjetaproducto {
    width: 17.5rem;
    height: 17.5rem; }
  .overlay {
    opacity: 1; }
  .tarjetaproducto .imagenproducto p {
    margin-top: 1.15rem; }
  .main__contactanos {
    align-items: center;
    height: fit-content;
    padding-bottom: 2rem; }
  .main__secciones_banner {
    margin: 0; }
  .titulo-secciones {
    text-align: center;
    display: inline-block;
    background-color: #186adc;
    border-radius: 20px;
    color: #fff;
    font-weight: 400;
    margin-top: 1em;
    font-size: 1.40rem;
    padding: 5px 0; }
  .parrafo-secciones {
    font-size: 1.2rem;
    font-weight: 400;
    padding-top: .2rem; }
  .titulo-secciones-cob {
    text-align: center;
    width: auto;
    font-size: 1.20rem; }
  .contacto-secciones {
    text-align: center; }
  .cta__secciones {
    margin: 0 auto;
    margin-bottom: 1rem; }
  footer {
    margin-top: auto; } }

@media (max-width: 768px) {
  .containergrid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: .1fr 5fr .1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas: "header" "main" "footer"; }
  .navbar-collapse {
    z-index: 2; }
  .navbar-nav {
    background-color: #fff;
    border-radius: 15px; }
  header {
    padding: 0; }
  .header__container__texto {
    font-size: .86em;
    padding: 0;
    margin: 0 -10px 0 5px;
    font-weight: 400; }
  .hero {
    display: flex;
    margin: 0 auto;
    padding: 0;
    height: 80vh;
    width: 100vw; }
  .hero::before {
    content: "";
    background-image: url(../assets/img/undraw_product_iteration_kjok.svg);
    background-size: cover;
    position: absolute;
    top: 0px;
    right: 0;
    bottom: 0px;
    transform: scale(0.98);
    left: 0px;
    z-index: -1;
    opacity: .12;
    margin-top: 9.5rem;
    margin-left: 0rem; }
  .textos__hero {
    padding: 0 .5rem 5rem .5rem;
    margin: 0 auto;
    max-width: fit-content; }
  .textos__hero h1 {
    font-size: 1.701rem !important;
    text-align: center;
    line-height: 1.4; }
  .textos__hero p {
    font-size: 1.05rem !important;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 25px; }
  .herobtn {
    display: flex;
    justify-content: center; }
  .main__servicios__tarjetas {
    max-width: 100%; }
  .tarjeta {
    padding: 1.5rem 1.5rem 1rem 1.5rem;
    background-color: #ffffff;
    width: 18rem;
    height: fit-content;
    text-align: center;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    border-radius: 10px; }
  .main__sobrenosotros {
    margin-top: -20px; }
  .main__sobrenosotros__container {
    max-width: 100%;
    height: fit-content;
    margin-bottom: -10px; }
  .main__nuestrosproductos {
    padding-left: 4px;
    padding-right: 4px; }
  .main__nuestrosproductos__container {
    max-width: 100%;
    justify-content: space-evenly;
    margin: 0; }
  .cuadricula {
    flex-direction: column;
    align-content: center; }
  .main__nuestrosproductos__container {
    width: 100%;
    justify-content: space-evenly; }
  .tarjetaproducto {
    width: 15rem;
    height: 15rem; }
  .imagenproducto {
    margin: -16px -20px;
    transform: scale(0.9); }
  .main__contactanos {
    flex-direction: column; }
  .contactotitulo {
    padding: 1rem;
    font-size: 3rem; }
  .separador {
    margin-left: 1rem;
    margin-top: -1rem; }
  .main__contactanos__container > p {
    padding: 1rem; }
  .main__contactanos__datoscontacto__ico, .main__contactanos__datoscontacto__info {
    padding: 1rem;
    justify-content: space-between; }
  .main__contactanos__datoscontacto__info {
    font-size: 1.5rem;
    padding-bottom: 1rem;
    font-weight: 300; }
  .main__contacto__info {
    font-size: 1.35rem; }
  .main__contactanos_datoscontacto__form {
    padding: 1rem; }
  .main__contacto {
    flex-direction: column; }
  .main__contacto__form {
    width: 100%; }
  .main__contacto__datos {
    width: 100%;
    padding-top: 2.5rem;
    margin-bottom: -10px; }
  .footer {
    padding: 0 2px; }
  .footer .menu a {
    display: flex;
    flex-direction: column; }
  .copyright {
    font-size: 1rem; }
  .titulo-secciones {
    font-weight: 300;
    font-size: 1.20rem;
    margin-top: 1em;
    font-weight: 400; } }
