* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box; }

body {
  font-family: "Open Sans", sans-serif; }

li {
  list-style: none; }

a {
  text-decoration: none; }

body, html {
  height: 100%; }

.header {
  border-bottom: 1px solid #E2E8F0; }
  .header .hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../img/hero-bg3.jpg");
    height: 100vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .header .hero .container {
      width: 500px;
      margin: auto; }
      .header .hero .container .contenedor-logo img {
        width: 100%; }
      .header .hero .container .contenedor-btn {
        text-align: center; }
        .header .hero .container .contenedor-btn button {
          border-radius: 100%;
          height: 30px;
          width: 30px;
          border: none;
          font-size: 20px;
          padding: 5px;
          color: #FFF;
          background: #00007f;
          cursor: pointer; }

.navbar {
  font-size: 62.5%;
  font-family: "Open sans", Arial, Sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  position: fixed;
  top: -80px;
  width: 100%;
  background: #FFF;
  transition: 0.3s;
  z-index: 1000; }

.hamburger {
  display: none; }

.bar {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px auto;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: #101010; }

.nav-menu {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.nav-item {
  margin-left: 5rem; }

.nav-link {
  font-size: 1.4rem;
  font-weight: 400;
  color: #475569; }

.nav-link:hover {
  color: #482ff7; }

.nav-logo {
  width: 143px;
  cursor: pointer; }

@media only screen and (max-width: 1070px) {
  .nav-item {
    margin-left: 3rem; }

  .nav-link {
    font-size: 1rem; } }
@media only screen and (max-width: 768px) {
  .nav-menu {
    position: fixed;
    left: -100%;
    top: 5rem;
    flex-direction: column;
    background-color: #fff;
    width: 100%;
    border-radius: 10px;
    text-align: center;
    transition: 0.3s;
    box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05); }

  .nav-menu.active {
    left: 0; }

  .nav-item {
    margin: 2.5rem 0; }

  .nav-link {
    font-size: 1.4rem; }

  .hamburger {
    display: block;
    cursor: pointer; }

  .hamburger.active .bar:nth-child(2) {
    opacity: 0; }

  .hamburger.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg); }

  .hamburger.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg); } }
.main {
  margin: auto;
  width: 100%;
  background: #fff; }
  .main .loader {
  display: none;
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border-left-color: #09f;
  animation: spin 1s ease infinite;
  z-index:100;
  position:fixed;
  top:50%;
  right:50%;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
  .main h2 {
    text-align: center;
    font-family: "Open sans", Arial, Sans-serif;
    font-weight: 300;
    font-size: 40px; }
  .main h3 {
    text-align: center;
    margin: auto;
    margin-top: 30px;
    font-family: "Open sans", Arial, Sans-serif;
    font-weight: 300;
    font-size: 40px;
    width: 80%;
    font-style: italic; }
  .main .flotante {
    position: fixed;
    top: 85%;
    left: 90%;
    color: #FFF;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    padding: 10px 0;
    font-size: 20px;
    text-align: center;
    background: #0174DF; }
  .main .quienes-somos {
    padding: 50px; }
    .main .quienes-somos .text {
      text-align: center; }
    .main .quienes-somos .thumbs {
      display: flex;
      justify-content: space-evenly;
      flex-wrap: wrap;
      margin-top: 70px; }
      .main .quienes-somos .thumbs .thumb {
        width: 250px;
        height: 250px;
        margin: 15px; }
        .main .quienes-somos .thumbs .thumb img {
          width: 100%;
          height: 100%; }
  .main .servicios {
    background: #F2F2F2;
    padding-top: 50px; }
    .main .servicios .service-container2 {
      display: flex;
      justify-content: space-evenly;
      flex-wrap: wrap;
      padding: 25px; }
      .main .servicios .service-container2 .service {
        padding: 40px 15px;
        text-align: center;
        border-radius: 25px;
        background: #587E8C;
        max-width: 270px;
        margin: 15px; }
        .main .servicios .service-container2 .service .icon {
          display: flex;
          justify-content: center;
          flex-direction: column;
          margin: auto;
          width: 120px;
          height: 120px;
          font-size: 50px;
          background: #F2F2F2;
          border-radius: 100%;
          color: #587E8C; }
        .main .servicios .service-container2 .service .text {
          color: #213D40; }
          .main .servicios .service-container2 .service .text h5 {
            font-size: 20px;
            margin: 20px 0;
            font-weight: 500; }
          .main .servicios .service-container2 .service .text p {
            font-size: 16px;
            line-height: 24px;
            font-weight: 400; }
    .main .servicios .service-container {
      display: flex;
      justify-content: space-evenly;
      flex-wrap: wrap;
      padding: 0 50px; }
      .main .servicios .service-container .service {
        padding: 40px 15px;
        text-align: center; }
        .main .servicios .service-container .service .icon {
          display: flex;
          justify-content: center;
          flex-direction: column;
          margin: auto;
          width: 120px;
          height: 120px;
          font-size: 50px;
          background: #587E8C;
          border-radius: 100%; }
        .main .servicios .service-container .service .text h5 {
          font-size: 20px;
          margin: 20px 0;
          font-weight: 500; }
        .main .servicios .service-container .service .text p {
          font-size: 16px;
          line-height: 24px;
          color: #555;
          font-weight: 400; }
    .main .servicios .lista-garantias {
      background: #1E3640;
      display: flex;
      justify-content: center;
      padding: 50px 0; }
      .main .servicios .lista-garantias .list {
        color: #BDB2B2;
        margin: 0 15px; }
        .main .servicios .lista-garantias .list ul {
          list-style: none; }
          .main .servicios .lista-garantias .list ul li {
            font-weight: 300;
            font-style: italic;
            text-align: left;
            line-height: 60px;
            font-size: 30px;
            margin: 30px 0;
            text-align: center;
            border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
  .main .proyectos {
    padding: 30px 0; }
    .main .proyectos h2 {
      margin-bottom: 30px; }
  .main .contacto {
    padding: 30px; }
    .main .contacto .text {
      margin-bottom: 30px; }
    .main .contacto .container {
      display: flex;
      flex-wrap: wrap; }
      .main .contacto .container .contactos {
        width: 40%; }
        .main .contacto .container .contactos p {
          margin-bottom: 5px; }
        .main .contacto .container .contactos .linkedin a {
          color: #000; }
        .main .contacto .container .contactos .linkedin i {
          font-size: 20px;
          background: #0077b5;
          color: #fff;
          padding: 6px 11px;
          border-radius: 8px; }
      .main .contacto .container .form-container {
        width: 60%; }
        .main .contacto .container .form-container .formulario {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          margin: 20px auto;
          width: 100%;
          margin-bottom: 80px; }
          .main .contacto .container .form-container .formulario input[type="text"],
          .main .contacto .container .form-container .formulario input[type="email"],
          .main .contacto .container .form-container .formulario textarea {
            border: 2px solid #cecece;
            border-radius: 5px;
            padding: 8px 15px;
            font-size: 17px;
            color: #a4a4a4; }
          .main .contacto .container .form-container .formulario input[type="text"]:focus,
          .main .contacto .container .form-container .formulario input[type="email"]:focus,
          .main .contacto .container .form-container .formulario textarea:focus {
            border: 2px solid #3895ea; }
          .main .contacto .container .form-container .formulario input:focus,
          .main .contacto .container .form-container .formulario textarea:focus {
            outline: none !important; }
          .main .contacto .container .form-container .formulario .nombre,
          .main .contacto .container .form-container .formulario .correo {
            width: 49%;
            margin-bottom: 15px; }
          .main .contacto .container .form-container .formulario .asunto {
            width: 100%;
            margin-bottom: 15px; }
          .main .contacto .container .form-container .formulario textarea {
            width: 100%;
            height: 100px;
            min-width: 100%;
            max-width: 100%;
            min-height: 100px;
            max-height: 300px;
            margin-bottom: 15px;
            font-family: "Open sans", Arial, Sans-serif; }
          .main .contacto .container .form-container .formulario .btn {
            margin: auto;
            background: #0174DF;
            color: #fff;
            padding: 8px 30px;
            cursor: pointer;
            border: none;
            border-radius: 5px;
            font-size: 1rem;
            outline: none; }
            .main .contacto .container .form-container .formulario .btn:hover {
              background: #58ACFA; }
          .main .contacto .container .form-container .formulario .error,
          .main .contacto .container .form-container .formulario .succes {
            margin-top: 20px;
            border-radius: 3px;
            color: #fff;
            width: 100%; }
          .main .contacto .container .form-container .formulario .error {
            padding: 15px 10px;
            padding-left: 40px;
            background: #ce1818;
            margin-bottom: 15px;
            display: none; }
          .main .contacto .container .form-container .formulario .succes {
            background: #3ADF00;
            padding: 15px 0;
            margin-bottom: 20px; }
            .main .contacto .container .form-container .formulario .succes p {
              text-align: center;
              font-size: 25px;
              margin-bottom: 0; }

.card {
  position: relative;
  height: 350px;
  width: 100%;
  max-width: 850px;
  margin: auto;
  background-color: #ffffff;
  border-radius: 25px;
  box-shadow: 10px 0 50px rgba(0, 0, 0, 0.5); }

.card .inner_part {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0 30px;
  height: 350px;
  position: absolute; }

#slideImg:checked ~ .inner_part {
  padding: 0;
  transition: .1s ease-in; }

.inner_part .img {
  height: 260px;
  width: 260px;
  overflow: hidden;
  flex-shrink: 0;
  border-radius: 20px;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.2); }

#slideImg:checked ~ .inner_part .img {
  height: 350px;
  width: 850px;
  z-index: 99;
  transition: .3s .2s ease-in; }

.img img {
  height: 100%;
  width: 100%;
  cursor: pointer;
  opacity: 0;
  transition: .6s; }

#slide_1:checked ~ .inner_part .img_1,
#slide_2:checked ~ .inner_part .img_2,
#slide_3:checked ~ .inner_part .img_3 {
  opacity: 1;
  transition-delay: .2s; }

.content {
  padding: 0 20px 0 35px;
  width: 530px;
  margin-left: 50px;
  opacity: 0;
  transition: .6s; }

#slideImg:checked ~ .inner_part .content {
  display: none; }

#slide_1:checked ~ .inner_part .content_1,
#slide_2:checked ~ .inner_part .content_2,
#slide_3:checked ~ .inner_part .content_3 {
  opacity: 1;
  margin-left: 0;
  z-index: 100;
  transition-delay: .3s; }

.content .title {
  font-size: 20px;
  font-weight: 700;
  color: #0d0925;
  margin: 0 0 20px 0; }

.content .text {
  font-size: 19px;
  color: #4e4a67;
  margin: 0 auto 30px auto;
  line-height: 1.5em;
  text-align: justify; }

.slider {
  position: absolute;
  bottom: 25px;
  left: 55%;
  transform: translateX(-50%);
  z-index: 1; }

#slideImg:checked ~ .slider {
  display: none; }

.slider .slide {
  position: relative;
  height: 10px;
  width: 50px;
  background: #d9d9d9;
  border-radius: 5px;
  display: inline-flex;
  margin: 0 3px;
  cursor: pointer; }

.slider .slide:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  height: 100%;
  width: -100%;
  background: #000000;
  border-radius: 10px;
  transform: scaleX(0);
  transition: transform .6s;
  transform-origin: left; }

#slide_1:checked ~ .slider .slide_1:before,
#slide_2:checked ~ .slider .slide_2:before,
#slide_3:checked ~ .slider .slide_3:before {
  transform: scaleX(1);
  width: 100%; }

.proyectos .card input {
  display: none; }

@media screen and (max-width: 910px) {
  .card {
    height: auto;
    width: 80%;
    overflow: hidden;
    height: 550px; }
    .card .inner_part {
      height: 550px;
      width: 100%;
      flex-direction: column;
      padding: 20px 0 0 0;
      justify-content: flex-start;
      height: auto; }
      .card .inner_part .img {
        position: static;
        margin: auto; }
    .card .content {
      padding: 0;
      margin-left: 0;
      margin-top: 20px; }
      .card .content .title {
        text-align: center; }
    .card .slider {
      bottom: 10px;
      left: 50%; } }
@media screen and (max-width: 710px) {
  .card {
    height: 600px; }
    .card .inner_part {
      height: 600px; }
      .card .inner_part .img {
        width: 230px;
        height: 230px;
        margin: 0; }
      .card .inner_part .title {
        text-align: center;
        width: 70%;
        margin: auto; }
      .card .inner_part .content {
        width: 100%; }
        .card .inner_part .content .text {
          padding: 0 50px; } }
@media screen and (max-width: 550px) {
  .card .inner_part .title {
    font-size: 15px;
    width: 90%; }
  .card .inner_part .content .text {
    margin: 10px 0 0 0;
    font-size: 14px;
    padding: 0 30px; } }
@media screen and (max-width: 460px) {
  .card .slider .slide {
    height: 10px;
    width: 40px; } }
@media screen and (max-width: 460px) {
  .card .slider {
    width: 150px; } }
@media screen and (max-width: 335px) {
  .card {
    height: 550px; }
    .card .inner_part .img {
      width: 200px;
      height: 200px; }
    .card .inner_part .content {
      width: 100%; }
      .card .inner_part .content .text {
        padding: 0 20px;
        text-align: left; } }
.footer {
  margin-top: 50px;
  height: 200px;
  margin: auto;
  text-align: center;
  background: #2d353e;
  color: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column; }
  .footer .copyright {
    font-weight: 300;
    font-size: 25px; }
  .footer .contacto h4,
  .footer .redes h4 {
    margin-bottom: 10px;
    font-size: 30px; }
  .footer .redes {
    text-align: right; }
    .footer .redes .linkedin {
      margin-top: 25px;
      font-size: 25px;
      background: #0077b5;
      color: #fff;
      padding: 8px 13px;
      border-radius: 8px;
      float: right; }
    .footer .redes p {
      float: right;
      padding-top: 40px;
      font-size: 20px;
      margin-left: 15px; }

@media screen and (max-width: 960px) {
  .main h2 {
    font-size: 35px; }
  .main h3 {
    font-size: 30px; }
  .main .quienes-somos {
    padding: 50px 15px; }
    .main .quienes-somos .thumbs {
      margin-top: 30px; }
      .main .quienes-somos .thumbs .thumb {
        width: 225px;
        height: 225px; } }
@media screen and (max-width: 835px) {
  .main .servicios .lista-garantias .list ul li {
    font-size: 20px; } }
@media screen and (max-width: 730px) {
  .main .contacto .container {
    display: block; }
    .main .contacto .container .contactos {
      width: 100%;
      text-align: center;
      margin-bottom: 30px; }
    .main .contacto .container .form-container {
      margin: auto;
      width: 90%; } }
@media screen and (max-width: 649px) {
  .main .servicios .service-container2 .service {
    max-width: 315px;
    padding: 20px 15px; } }
@media screen and (max-width: 620px) {
  .header .hero .container {
    width: 90%; } }
@media screen and (max-width: 575px) {
  .main .flotante {
    left: 85%; }
  .main .servicios .lista-garantias {
    display: block; }
    .main .servicios .lista-garantias .list ul li {
      font-size: 25px; } }
@media screen and (max-width: 400px) {
  .main .contacto .container .form-container .formulario .nombre,
  .main .contacto .container .form-container .formulario .correo {
    width: 100%; } }
@media screen and (max-width: 390px) {
  .main .flotante {
    left: 80%; }
  .main .contacto {
    padding: 20px; } }
@media screen and (max-width: 350px) {
  .main h2 {
    font-size: 30px; }
  .main h3 {
    font-size: 25px; }
  .main .quienes-somos .text h3 {
    margin: 20px 0 0 0;
    width: 100%; } }
@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/*# sourceMappingURL=estilos.css.map */
