@charset "UTF-8";
/*generales*/
@font-face {
  font-family: "Flux Architect Regular";
  src: url("Flux Architect Regular.ttf"); }

html {
  font-size: 62.5%;
  font-family: sans-serif; }

body {
  background-image: url("imagenes/fondobody.png"); }

.container-fluid {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100vh;
  margin-top: 3rem; }

.main {
  height: auto;
  width: 100%;
  margin-left: 0rem;
  margin-top: 5rem; }

.box_titulo {
  height: 100vh;
  width: 100%;
  margin: 0rem;
  padding: 0rem; }

.contenido {
  height: auto;
  width: 100%;
  margin: 0rem;
  padding: 0rem; }

.row {
  margin-left: 0;
  padding: 0; }

.main_titulo {
  height: auto;
  justify-content: center;
  position: static;
  margin-top: 2rem;
  margin-bottom: 1rem; }

/*header*/
#logonavegador {
  width: 8rem;
  height: 8rem;
  float: left; }

#logonavegador:hover {
  transform: rotate(360deg);
  transition: 1s; }

.header {
  background-color: black;
  width: 100%;
  height: 5rem;
  margin: 0;
  padding: 0;
  position: fixed;
  z-index: 2;
  top: 0rem;
  border-bottom: 0.1rem solid grey; }

#logonavegador {
  width: 8rem;
  height: 8rem;
  float: left; }

#logonavegador:hover {
  transform: rotate(360deg);
  transition: 1s; }

.header_navder {
  margin-top: 1rem; }

.btn-group {
  float: right; }

.header_navder button {
  color: grey;
  font-size: 11pt !important;
  font-weight: bold;
  margin-right: 1rem;
  letter-spacing: 0.1rem; }

.header_navder button a {
  color: grey;
  font-size: 11pt;
  margin-right: 1rem;
  letter-spacing: 0.1rem;
  font-style: bold; }

.header_navder button:hover {
  color: white;
  text-decoration: none; }

.header_navder button a:hover {
  color: white;
  text-decoration: none; }

.dropdown-menu {
  font-size: 9pt;
  width: 23rem;
  background-color: black;
  font-style: bold; }

.dropdown-menu a {
  margin-top: 0.5rem;
  color: white;
  font-weight: bold; }

/*footer*/
.footer_texto {
  position: fixed;
  bottom: 0.5rem;
  background-color: transparent;
  height: 2.5rem;
  color: #6e6e6e;
  text-align: center;
  font-size: 10pt; }

.footer_redes {
  position: fixed;
  right: 1.2rem;
  bottom: 3rem;
  background-color: transparent; }
  .footer_redes a {
    display: block; }
    .footer_redes a img {
      width: 3.5rem;
      height: 3.5rem;
      margin-bottom: 1.5rem; }

/*titulo index*/
.main_titulomarca {
  text-align: center;
  position: static;
  height: 100vh;
  justify-items: center;
  align-items: center; }
  .main_titulomarca h1 {
    font-size: 22rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: 0.1rem;
    -webkit-text-stroke: 0.3rem black;
    color: white;
    position: relative;
    top: 20%; }
  .main_titulomarca h2 {
    color: black;
    -webkit-text-stroke: 0.05rem rgba(204, 202, 201, 0.856);
    font-family: 'Raleway', sans-serif;
    letter-spacing: 0.3rem;
    font-size: 30pt;
    position: relative;
    top: 10%; }
  .main_titulomarca h3 {
    color: white;
    opacity: 80%;
    letter-spacing: 0.2rem;
    font-size: 12pt;
    font-style: bold;
    font-family: 'Montserrat', sans-serif;
    position: relative;
    top: 10%; }

/*titulos principales*/
.main_tituloprincipal {
  justify-content: center;
  text-align: center;
  width: 100%;
  position: static; }
  .main_tituloprincipal .titulo_principal {
    font-size: 20pt;
    letter-spacing: 0.4rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 25pt;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.856);
    padding: 1rem;
    padding: 1rem; }
  .main_tituloprincipal .linea hr {
    background-color: #af9522;
    margin-top: 0rem;
    width: 5rem; }
  .main_tituloprincipal p {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.15rem;
    font-size: 12pt;
    padding: 1rem;
    text-align: center;
    color: #aaaaaa; }

/*titulo formulario*/
.main_informacion_formulario_titulo h2 {
  text-transform: uppercase;
  margin-bottom: 2rem;
  color: white;
  letter-spacing: 0.2rem;
  width: auto; }

.main_subtituloprincipal {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.15rem;
  font-size: 18pt;
  padding: 1rem;
  color: white;
  opacity: 60%; }

#main_proyectos_contenedor_titulo {
  font-size: 8rem;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1rem;
  font-weight: bold;
  -webkit-text-stroke: 0.1rem #888888;
  color: white; }

#main_proyectos_contenedor_subtitulo {
  font-family: 'Montserrat', sans-serif;
  font-size: 12pt;
  padding: 1rem;
  letter-spacing: 0.1rem;
  font-weight: bold;
  text-align: center;
  color: white; }

/*botones index*/
.grupoboton, .botonreferencia {
  text-align: center;
  position: relative;
  top: 12%;
  font-family: 'Montserrat', sans-serif;
  opacity: 60%; }
  .grupoboton button, .botonreferencia button {
    height: 3rem;
    width: 15rem;
    background-color: black;
    font-size: 9pt !important;
    margin-right: 1rem;
    letter-spacing: 0.1rem !important;
    font-weight: bold; }
    .grupoboton button a, .botonreferencia button a {
      color: white; }
    .grupoboton button a:hover, .botonreferencia button a:hover {
      text-decoration: none;
      color: white; }
  .grupoboton button:hover, .botonreferencia button:hover {
    background-color: grey; }

.botones {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 12pt;
  font-weight: bold;
  letter-spacing: 0.1rem;
  opacity: 60%;
  height: 3rem;
  width: auto;
  background-color: black;
  align-self: center;
  color: white; }
  .botones a {
    color: white; }
  .botones a:hover {
    text-decoration: none;
    color: white; }

.main_boton {
  justify-content: center;
  margin-top: 3rem; }

.botonreferencia {
  top: 0rem; }

.botonenviar {
  font-size: 11pt;
  font-weight: bold; }

.otrosproyectos {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  font-family: 'Montserrat', sans-serif; }

.containeracordeon {
  width: 600px;
  height: auto;
  padding: 0rem; }

.close {
  text-shadow: none;
  color: white;
  font-size: 12pt;
  font-weight: normal; }
  .close:hover {
    color: white; }

details {
  color: rgba(255, 255, 255, 0.9);
  background: #000000;
  border: solid 0.1rem black;
  box-shadow: -2px -2px 5px 2px #222121;
  cursor: pointer;
  transition: background 0.3s;
  border-radius: 4px;
  min-height: 48px;
  max-height: 60px;
  transform-origin: top center;
  transform: rotate(0.1deg);
  transition: all 0.3s; }
  details:hover {
    color: rgba(255, 255, 255, 0.6); }
  details:active {
    color: rgba(255, 255, 255, 0.9); }
  details ::-webkit-details-marker {
    display: none; }
  details + details {
    margin-top: 10px; }
  details p {
    color: #fefefe;
    line-height: 1.7;
    margin: 10px 0 0;
    padding: 0 20px 15px;
    font-size: 10pt;
    font-family: 'Montserrat', sans-serif; }
  details.square {
    border-radius: 0; }
  details[open] {
    transition: all 0.6s;
    min-height: 100px;
    max-height: 1200px;
    padding-bottom: 1rem; }

summary {
  outline: none;
  font-size: 16px;
  padding: 13px; }
  summary:selection {
    background: transparent; }
  summary .close {
    display: none; }
    [open] summary .close {
      display: inline; }
  summary .open {
    display: inline; }
    [open] summary .open {
      display: none; }
  [open] summary {
    display: inline; }
  summary:after {
    margin-top: 2px;
    content: "➕";
    float: left;
    margin-right: 11px;
    text-align: center;
    font-size: 11px; }
    [open] summary:after {
      padding: 0 0 12px 0;
      content: "➖"; }

.proyecto_contenido {
  justify-content: center; }

.descripciontexto {
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1rem;
  font-size: 11pt;
  padding: 1rem;
  text-align: center;
  color: #aaaaaa; }

.proyecto_contenido_tabla {
  text-align: center; }
  .proyecto_contenido_tabla h3 {
    color: white;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.15rem;
    font-size: 12pt;
    padding: 1rem; }
  .proyecto_contenido_tabla a img {
    width: 7rem;
    height: 10rem;
    padding-bottom: 3rem; }

.carousel-item img {
  height: 250px; }

/*servicios*/
.main_titulo {
  padding: 0rem;
  padding-right: 0rem;
  margin-right: 0px;
  margin-left: 0px;
  position: static; }

.main_servicios, .main_informacion {
  justify-content: center;
  padding-left: 0px;
  padding-right: 0px; }

.main_servicios_contenedor {
  border-radius: 5rem;
  border: 0.2rem solid rgba(39, 39, 39, 0.349);
  box-shadow: 3px 4px 5px rgba(39, 39, 39, 0.349);
  background-image: url("imagenes/fondoservicios.png");
  display: inline-block;
  text-align: center;
  padding: 1rem;
  margin: 2rem;
  height: 16rem; }
  .main_servicios_contenedor img {
    height: 6rem;
    width: 7rem;
    margin: 1rem;
    filter: grayscale(100%); }
  .main_servicios_contenedor :hover {
    filter: grayscale(0%); }
  .main_servicios_contenedor p {
    font-family: 'Montserrat', sans-serif;
    font-size: 10pt;
    padding: 1rem;
    letter-spacing: 0.1rem;
    text-align: center;
    color: #666666;
    margin-top: 1rem; }

/*contacto*/
.main_informacion_formulario {
  text-align: center;
  margin-bottom: 5rem;
  height: auto; }

.main_informacion_formulario_form {
  justify-content: center;
  height: auto;
  padding: 2rem;
  margin-right: 5rem;
  background-image: url("imagenes/fondoservicios.png");
  border: 0.2rem solid rgba(61, 61, 61, 0.397);
  box-shadow: 3px 4px 5px rgba(39, 39, 39, 0.349);
  border-radius: 2rem; }
  .main_informacion_formulario_form form input {
    height: 46px;
    width: 80%;
    background: transparent;
    border: 1px solid #525151;
    font-size: 14px;
    color: #444444;
    padding-left: 2rem;
    margin-bottom: 1.5rem; }
  .main_informacion_formulario_form form textarea {
    height: 140px;
    width: 80%;
    background: transparent;
    border: 1px solid  #525151;
    font-size: 14px;
    color: #444444;
    padding-top: 1rem;
    padding-left: 2rem;
    margin-bottom: 1rem;
    resize: none;
    color: #444444; }

.main_informacion_personal {
  justify-content: center;
  height: auto;
  align-items: center; }
  .main_informacion_personal ul {
    height: auto;
    padding: 2rem;
    color: #aaaaaa;
    font-size: 11pt;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.2rem; }
    .main_informacion_personal ul li {
      text-decoration: none;
      display: block;
      text-align: center;
      margin-top: 6rem;
      margin-bottom: 5rem; }
      .main_informacion_personal ul li hr {
        width: 6%;
        background-color: #aaaaaa; }
      .main_informacion_personal ul li .telefono {
        width: 3rem;
        height: 4rem; }
      .main_informacion_personal ul li .mapa {
        width: 4rem;
        height: 3rem; }
      .main_informacion_personal ul li .mail {
        width: 4rem;
        height: 3rem; }
      .main_informacion_personal ul li a {
        text-decoration: none;
        color: rgba(29, 43, 236, 0.87); }

/*nosotros*/
.main_informacion_RB {
  background-image: url("imagenes/fondobody.png");
  border-top: solid white 0.1rem;
  border: solid white 0.1rem;
  height: auto;
  width: auto;
  text-align: center;
  padding: 0rem; }

.main_informacion_RB_texto {
  padding-bottom: 2rem; }
  .main_informacion_RB_texto p {
    padding: 2rem;
    text-align: center;
    font-size: 12pt;
    font-family: 'Montserrat', sans-serif;
    color: #aaaaaa;
    align-self: center; }
  .main_informacion_RB_texto .botoncontacto, .main_informacion_RB_texto .botonenviar {
    border: 0.1rem solid white;
    font-size: 10pt;
    letter-spacing: 0.1rem;
    opacity: 60%;
    height: 3rem;
    width: auto;
    padding: auto;
    background-color: black; }
    .main_informacion_RB_texto .botoncontacto a, .main_informacion_RB_texto .botonenviar a {
      color: white;
      letter-spacing: 0.1rem; }
    .main_informacion_RB_texto .botoncontacto a:hover, .main_informacion_RB_texto .botonenviar a:hover {
      text-decoration: none;
      color: white; }
  .main_informacion_RB_texto .botoncontacto:hover, .main_informacion_RB_texto .botonenviar:hover {
    background-color: grey; }

.main_informacion_RB_nico {
  position: relative;
  top: 4rem;
  width: 40%;
  margin-right: 0rem; }
  .main_informacion_RB_nico img {
    height: 390px;
    width: 100%;
    display: block;
    margin: 0rem; }

.overlaynico {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: #dbdbdb94;
  overflow: hidden;
  width: 0rem;
  height: 395px;
  transition: .5s ease; }

.main_informacion_RB_nico:hover .overlaynico {
  width: 100%; }
  .main_informacion_RB_nico:hover .overlaynico p {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 11pt;
    padding: 2rem;
    padding-top: 10rem;
    font-weight: bold; }

.main_informacion_RB_rami {
  position: relative;
  top: 4rem;
  padding: 0rem;
  width: 50%;
  margin-right: 0rem; }
  .main_informacion_RB_rami img {
    height: 390px;
    width: 100%;
    display: block;
    margin: 0rem; }

.overlayrami {
  position: absolute;
  top: 0;
  left: 100%;
  background-color: #dbdbdb94;
  overflow: hidden;
  width: 0;
  height: 395px;
  transition: .5s ease; }

.main_informacion_RB_rami:hover .overlayrami {
  width: 92%;
  left: 0; }
  .main_informacion_RB_rami:hover .overlayrami p {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 11pt;
    padding: 2rem;
    padding-top: 10rem;
    font-weight: bold; }

/*proyectos*/
.main_main {
  justify-content: center; }

.main_proyectos {
  justify-content: center;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 4rem;
  padding-bottom: 4rem;
  border-radius: 4rem;
  width: 100%; }

.main_proyectos_contenedor {
  background-image: none;
  display: inline-block;
  text-align: center;
  height: auto;
  padding: 0rem; }
  .main_proyectos_contenedor h2 {
    font-size: 8rem;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.1rem;
    font-weight: bold;
    -webkit-text-stroke: 0.1rem #888888;
    color: #241f1f; }
  .main_proyectos_contenedor p {
    font-family: 'Montserrat', sans-serif;
    font-size: 12pt;
    padding: 1rem;
    letter-spacing: 0.1rem;
    text-align: center;
    color: #666666; }

.main_otrosproyectos {
  width: 100%;
  height: auto;
  margin: 0rem;
  justify-content: center;
  align-content: center;
  margin-bottom: 4rem; }

/* fotos de nosotros*/
.overlay-image1 {
  position: relative;
  width: 100%; }

.overlay-image1 .image1 {
  display: block;
  width: 100%;
  height: auto; }

.overlay-image1 .text1 {
  color: #fff;
  font-size: 20px;
  line-height: 1.5em;
  text-shadow: 3px 3px 3px #000;
  text-align: center;
  position: absolute;
  bottom: 1%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%; }

.overlay-image1 .hover1 {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .5s ease; }

.overlay-image1:hover .hover1 {
  opacity: 1; }

.overlay-image1 .normal1 {
  transition: .5s ease; }

.overlay-image1:hover .normal1 {
  opacity: 0; }

.overlay-image1 .hover1 {
  background-color: rgba(255, 255, 255, 0.5); }
  .overlay-image1 .hover1 .text1_2 {
    font-size: 12pt;
    text-align: center;
    margin-top: 6rem;
    padding: 1rem;
    font-family: 'Montserrat', sans-serif;
    color: black;
    font-weight: bold; }

.overlay-image1 .hover2 {
  position: absolute;
  top: 0;
  height: 100%;
  width: 90%;
  opacity: 0;
  transition: .5s ease; }

.overlay-image1:hover .hover2 {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.5); }
  .overlay-image1:hover .hover2 .text2_2 {
    font-size: 12pt;
    text-align: center;
    margin-top: 6rem;
    padding: 1rem;
    font-family: 'Montserrat', sans-serif;
    color: black;
    font-weight: bold; }

/*media - Index*/
@media (max-width: 650px) {
  .main_titulomarca {
    margin-left: 1rem;
    margin-right: 1rem; }
    .main_titulomarca h1 {
      font-size: 15rem; }
    .main_titulomarca h2 {
      font-size: 17pt;
      top: 13.5rem;
      letter-spacing: 0.1rem; }
    .main_titulomarca h3 {
      font-size: 10pt;
      top: 13.5rem;
      letter-spacing: 0.1rem; }
  .grupoboton, .botonreferencia {
    top: 15rem;
    font-size: 7pt; }
    .grupoboton button, .botonreferencia button {
      width: 10rem; }
  .header_navder button {
    font-size: 9pt !important;
    margin: 0rem;
    padding: 0rem; }
    .header_navder button a {
      font-size: 9pt;
      margin: 0rem;
      padding: 0rem; }
  #logonavegador {
    margin-left: 0rem; }
  .main_subtituloprincipal {
    font-size: 14pt; } }

@media (max-width: 850px) {
  .main_titulomarca {
    margin-left: 1rem;
    margin-right: 1rem; }
    .main_titulomarca h1 {
      font-size: 15rem;
      top: 14rem; }
    .main_titulomarca h2 {
      font-size: 16pt;
      top: 9.5rem;
      letter-spacing: 0.1rem; }
    .main_titulomarca h3 {
      font-size: 8pt;
      top: 9.5rem;
      letter-spacing: 0.1rem; }
  .grupoboton, .botonreferencia {
    top: 10rem;
    font-size: 7pt; }
    .grupoboton button, .botonreferencia button {
      width: 10rem; }
  .navder button {
    font-size: 9pt !important;
    margin: 0rem;
    padding: 0rem; }
    .navder button a {
      font-size: 9pt;
      margin: 0rem;
      padding: 0rem; }
  #logonavegador {
    width: 7rem;
    height: 7rem; }
  .main_boton {
    justify-content: center;
    text-align: center;
    margin-bottom: 5rem;
    height: 5rem;
    margin-left: 0rem;
    margin-right: 0rem;
    position: static; }
  .botonreferencia {
    justify-self: center;
    top: 0rem; }
    .botonreferencia button {
      width: 15rem;
      font-family: 'Raleway', sans-serif;
      opacity: 60%;
      text-align: center;
      margin-bottom: 6rem; } }

@media (max-width: 850px) {
  .main_informacion_RB {
    height: 108rem;
    margin-bottom: 4rem; }
  .main_informacion_RB_texto {
    padding-bottom: 1rem; }
  .main_informacion_RB_nico {
    top: 0rem;
    width: 40%;
    left: 0.8rem; }
    .main_informacion_RB_nico img {
      height: 250px;
      width: 100%; }
  .overlaynico {
    height: 255px; }
  .main_informacion_RB_nico:hover .overlaynico {
    width: 95%;
    left: 0.8rem; }
    .main_informacion_RB_nico:hover .overlaynico p {
      text-align: center;
      font-family: 'Montserrat', sans-serif;
      font-size: 8.5pt;
      padding: 1rem;
      font-weight: bold;
      top: 0; }
  .main_informacion_RB_rami {
    top: 0rem;
    width: 40%;
    left: 0.7rem; }
    .main_informacion_RB_rami img {
      height: 250px; }
  .overlayrami {
    height: 255px; }
  .main_informacion_RB_rami:hover .overlayrami p {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 8.5pt;
    padding: 1rem;
    font-weight: bold; }
  .main_informacion_formulario_titulo h2 {
    font-size: 11pt; }
  .carousel-item img {
    height: 200px; }
  .overlay-image1:hover .hover2 .text2_2 {
    font-size: 8pt;
    margin-top: 1rem; }
  .overlay-image1:hover .hover1 .text1_2 {
    font-size: 8pt;
    margin-top: 1rem; } }
