a:hover {
  text-decoration: none;
  cursor: pointer;
  color: #fff; }

a:visited {
  text-decoration: none !important; }

a:link:active,
a:visited:active {
  text-decoration: none !important; }

a {
  text-decoration: none !important;
  color: #fff; }

body {
  font-size: 16px;
  background: url(../images/main-bg-2-edited.jpg) no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
  font-family: "Raleway", sans-serif; }

.main-home .container-menu {
  padding: 0 0 10px 0;
  background: #242539;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .main-home .container-menu .submenu {
    background: rgba(38, 89, 127, 0.9);
    width: 100%;
    margin-bottom: 5%; }
    .main-home .container-menu .submenu ul {
      list-style: none;
      color: #fff;
      padding: 0;
      margin: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: distribute;
      justify-content: space-around;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .main-home .container-menu .submenu ul li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 3px;
        font-size: 0.6rem; }
        .main-home .container-menu .submenu ul li i {
          padding: 0 5px;
          font-size: 0.6rem; }
  .main-home .container-menu i {
    color: #fff;
    font-size: 2rem;
    cursor: pointer; }
  .main-home .container-menu img {
    width: 30%;
    border: 1px solid #fff;
    border-radius: 50%; }
  .main-home .container-menu .mobile-menu {
    display: none; }
    .main-home .container-menu .mobile-menu ul {
      padding: 10% 0;
      color: #fff;
      list-style: none;
      text-align: center; }
      .main-home .container-menu .mobile-menu ul li {
        padding: 5px 0; }
        .main-home .container-menu .mobile-menu ul li .active {
          border-bottom: 1px solid #fff;
          font-weight: bold; }

.main-home .main-bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .main-home .main-bg h1 {
    color: #fff;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    padding: 10% 10% 5% 10%;
    font-size: 2rem;
    font-weight: 900;
    line-height: 2.7rem;
    font-family: "Raleway", sans-serif; }
  .main-home .main-bg .main-title {
    border-bottom: 2px solid #fff; }
  .main-home .main-bg p {
    font-family: "Raleway", sans-serif;
    color: #fff;
    width: 70%;
    margin: 0 auto;
    text-align: center;
    padding: 20% 0; }
  .main-home .main-bg .button-details {
    width: 50%;
    background: #26597f;
    margin: 5% 0 10% 0;
    border-color: transparent;
    border-radius: 0;
    color: #000; }
    .main-home .main-bg .button-details:hover {
      -webkit-box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
      box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
      color: #000; }

.main-home .nosotros-bg {
  padding: 5% 0; }

.description-home {
  background: rgba(38, 89, 127, 0.9); }
  .description-home .description-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .description-home .description-container .vertical-line, .description-home .description-container .vertical-line-bottom {
      width: 80px;
      background: #000;
      height: 1px;
      position: relative;
      margin-top: 40px;
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg); }
    .description-home .description-container p {
      margin-top: 80px;
      text-align: center;
      color: #fff;
      padding: 0 10%; }
    .description-home .description-container h4 {
      padding: 10%;
      text-align: center;
      font-weight: bold; }
      .description-home .description-container h4 span {
        color: #fff; }
    .description-home .description-container h5 {
      text-align: center;
      font-family: "Raleway", sans-serif;
      font-weight: 400;
      padding: 0 10%; }
    .description-home .description-container .button-see-more {
      width: 50%;
      background: #242539;
      margin: 5% 0 10% 0;
      border-color: transparent;
      border-radius: 0;
      color: #fff;
      margin: 20% 0; }
      .description-home .description-container .button-see-more:hover {
        -webkit-box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
        box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
        color: #fff; }
    .description-home .description-container .vertical-line-bottom {
      top: -40px; }

.services-home {
  background: rgba(6, 12, 23, 0.7);
  padding: 20% 0; }
  .services-home h2 {
    color: #fff;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    padding: 10% 10% 5% 10%;
    font-size: 2rem;
    font-weight: 900;
    line-height: 2.4rem;
    font-family: "Raleway", sans-serif; }
  .services-home p {
    text-align: center;
    color: #fff;
    padding: 0 10%;
    font-size: 1.4rem; }
  .services-home ul {
    list-style: none;
    padding: 0;
    color: #fff;
    margin: 10% auto 0 auto;
    width: 80%;
    text-align: left; }
    .services-home ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 8% 0; }
      .services-home ul li i {
        font-size: 1.5rem;
        width: 3rem;
        line-height: 3rem;
        text-align: center;
        padding: 0 5%;
        margin-right: 3%;
        border: 1px solid #fff;
        border-radius: 50%; }
  .services-home .button-services {
    width: 50%;
    background: #242539;
    margin: 5% 0 10% 0;
    border-color: transparent;
    border-radius: 0;
    color: #fff;
    color: #fff !important;
    margin: 20% auto;
    margin-left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    .services-home .button-services:hover {
      -webkit-box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
      box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
      color: #fff; }

.contact-home {
  padding: 20% 0; }
  .contact-home h2 {
    color: #fff;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    padding: 10% 10% 0 10%;
    font-size: 2rem;
    font-weight: 900;
    line-height: 2.7rem;
    font-family: "Raleway", sans-serif; }
  .contact-home .accent-title {
    padding: 0 10%;
    text-align: center;
    color: #26597f;
    text-decoration: none; }
    .contact-home .accent-title:hover {
      text-decoration: none !important; }

footer {
  background: #242539; }
  footer .container-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  footer ul {
    padding: 10% 0 0 0;
    color: #fff;
    list-style: none;
    text-align: center; }
    footer ul li {
      font-size: 0.9rem; }
      footer ul li i {
        padding: 0 4%; }
  footer .container-studio {
    border-top: 1px solid #383958; }
    footer .container-studio p {
      color: #777;
      padding: 2%;
      font-size: 0.8rem;
      text-align: center; }
      footer .container-studio p a {
        color: #eaeaea; }
        footer .container-studio p a:hover {
          color: #26597f;
          text-decoration: none; }
  footer .container-social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 3%; }
    footer .container-social a {
      color: #fff;
      font-size: 1.8rem;
      margin: 0 5%;
      text-decoration: none; }
      footer .container-social a:hover {
        color: #26597f;
        text-decoration: none; }

.nosotros-description,
.services-description {
  background: rgba(255, 255, 255, 0.9);
  padding: 15% 0; }
  .nosotros-description h2,
  .services-description h2 {
    font-weight: 700;
    width: 80%;
    margin: 0 auto; }
    .nosotros-description h2 span,
    .services-description h2 span {
      color: #26597f; }
  .nosotros-description h4,
  .services-description h4 {
    width: 80%;
    margin: 5% auto; }
  .nosotros-description p,
  .services-description p {
    color: #777;
    width: 80%;
    margin: 5% auto; }

.nosotros-images {
  background: rgba(227, 229, 232, 0.95);
  padding: 20% 5% 20% 5%; }
  .nosotros-images img {
    margin: 5% 0; }
  .nosotros-images p {
    font-weight: 100;
    font-size: 1.4rem;
    font-family: "Raleway", sans-serif;
    margin-top: 5%; }

.services-description img {
  width: 80%;
  margin: 5% auto; }

.services-description i {
  color: #26597f;
  font-size: 4rem;
  margin: 12px; }

.services-description h3 {
  color: #26597f;
  margin: 0 0 5% 10%;
  font-weight: 900;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.services-description h5 {
  text-align: justify;
  width: 80%;
  margin: 0 auto; }

.services-description p {
  text-align: justify;
  line-height: 1.7rem; }

.contact-section {
  background: rgba(255, 255, 255, 0.9);
  padding: 20% 0; }
  .contact-section .container-contact-info {
    text-align: center; }
    .contact-section .container-contact-info i {
      color: #26597f;
      padding-right: 3%; }
  .contact-section .card-outline-secondary {
    border: none !important; }
  .contact-section input,
  .contact-section textarea {
    border-bottom: 2px solid #26597f;
    background: transparent; }
  .contact-section input:focus,
  .contact-section textarea:focus {
    border-bottom: 2px solid #26597f;
    background: transparent; }
  .contact-section label {
    margin-top: 5%; }
    .contact-section label span {
      color: red; }
  .contact-section button {
    background: #26597f;
    color: #fff;
    margin-top: 3%;
    margin: 5% auto;
    display: block;
    width: 30%; }

.map {
  padding: 0; }
  .map .map-container {
    padding: 0; }
  .map #map {
    width: 100%;
    height: 200px; }

.modal-header {
  background: #242539; }
  .modal-header h5,
  .modal-header .close {
    color: #fff; }

.lista-derecho-penal {
  margin-left: 10%;
  color: #777; }

.lista-derecho-penal li {
  margin-top: 10px; }

@media (min-width: 575px) {
  .main-home .main-bg p {
    margin: 0 auto;
    text-align: center;
    padding: 10% 0;
    font-size: 1.3rem; }
  .main-home .main-bg .button-details {
    width: 40%; }
  .description-home {
    background: rgba(38, 89, 127, 0.9); }
    .description-home .description-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .description-home .description-container .vertical-line, .description-home .description-container .vertical-line-bottom {
        width: 80px;
        background: #000;
        height: 1px;
        position: relative;
        margin-top: 40px;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg); }
      .description-home .description-container p {
        margin-top: 80px;
        text-align: center;
        color: #777;
        padding: 0 10%; }
      .description-home .description-container h4 {
        padding: 5% 10%;
        text-align: center;
        font-weight: bold; }
        .description-home .description-container h4 span {
          color: #fff; }
      .description-home .description-container h5 {
        text-align: center;
        font-family: "Raleway", sans-serif;
        font-weight: 400;
        padding: 0 10%; }
      .description-home .description-container .button-see-more {
        width: 40%;
        margin-top: 5%; }
  .services-home h2 {
    padding: 3% 10% 5% 10%; }
  .services-home ul li i {
    padding: 0 3%; }
  .services-home .button-services {
    margin: 10% auto;
    margin-left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  .contact-home h2 {
    font-size: 2.5rem;
    line-height: 3rem; }
  footer ul {
    padding: 10% 0 0 0;
    color: #fff;
    list-style: none;
    text-align: center; }
    footer ul li {
      font-size: 1rem;
      margin-top: 2%; }
  .contact-section .container-contact-info i {
    font-size: 1.7rem; } }

@media (min-width: 767px) {
  .main-home .container-menu {
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .main-home .container-menu img {
      width: 13%;
      border: 1px solid #fff;
      border-radius: 50%; }
    .main-home .container-menu .submenu ul li {
      font-size: 0.9rem;
      padding: 3px; }
      .main-home .container-menu .submenu ul li i {
        font-size: 0.9rem;
        padding: 0 10px; }
    .main-home .container-menu .desktop-menu {
      width: 100%; }
      .main-home .container-menu .desktop-menu ul {
        padding: 2% 0;
        color: #fff;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        list-style: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 90%;
        margin: 0 auto;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        .main-home .container-menu .desktop-menu ul li {
          font-size: 0.8rem; }
          .main-home .container-menu .desktop-menu ul li::after {
            content: '';
            display: block;
            width: 0;
            height: 2px;
            background: #fff;
            -webkit-transition: width 0.9s;
            -o-transition: width 0.9s;
            transition: width 0.9s; }
          .main-home .container-menu .desktop-menu ul li:hover::after {
            width: 100%;
            -webkit-transition: width 0.9s;
            -o-transition: width 0.9s;
            transition: width 0.9s; }
        .main-home .container-menu .desktop-menu ul a {
          padding: 5px 5px;
          color: #fff; }
          .main-home .container-menu .desktop-menu ul a.active {
            color: #26597f;
            font-weight: bold; }
  .main-home .main-bg h1 {
    color: #fff;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    padding: 10% 10% 5% 10%;
    font-size: 3rem;
    font-weight: 900;
    line-height: 4rem;
    font-family: "Raleway", sans-serif; }
  .main-home .main-bg .main-title {
    border-bottom: 2px solid #fff; }
  .main-home .main-bg p {
    font-family: "Raleway", sans-serif;
    color: #fff;
    width: 70%;
    margin: 0 auto;
    text-align: center;
    padding: 10% 0; }
  .main-home .main-bg .button-details {
    width: 50%;
    background: #26597f;
    margin: 5% 0 10% 0;
    border-color: transparent;
    border-radius: 0;
    color: #ffffff;
    width: 30%; }
    .main-home .main-bg .button-details:hover {
      -webkit-box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
      box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
      color: #ffffff; }
  .description-home .description-container p {
    margin-top: 80px;
    text-align: center;
    color: #c5c5c5;
    padding: 0 10%; }
  .description-home .description-container h4 {
    padding: 5% 10%;
    text-align: center;
    font-weight: bold;
    font-size: 2rem; }
    .description-home .description-container h4 span {
      color: #fff; }
  .description-home .description-container h5 {
    font-size: 1.8rem;
    font-weight: 200;
    padding: 0 10%; }
  .description-home .description-container .button-see-more {
    width: 30%;
    margin-top: 5%; }
  .services-home {
    padding: 5% 0; }
    .services-home ul {
      list-style: none;
      padding: 0;
      color: #fff;
      margin: 10% auto 0 auto;
      width: 80%;
      text-align: left; }
      .services-home ul li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 5% 0;
        font-size: 1.3rem; }
        .services-home ul li i {
          font-size: 2rem;
          width: 4rem;
          line-height: 4rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          height: 4rem;
          padding: 0 5%;
          margin-right: 3%;
          border: 1px solid #fff;
          border-radius: 50%; }
    .services-home .button-services {
      width: 50%;
      background: #242539;
      margin: 5% 0 10% 0;
      border-color: transparent;
      border-radius: 0;
      color: #fff;
      width: 30%;
      margin: 10% auto;
      margin-left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
      .services-home .button-services:hover {
        -webkit-box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
        box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
        color: #fff; }
  .contact-home h2 {
    font-size: 3.5rem;
    line-height: 4rem; }
  .nosotros-images {
    background: rgba(227, 229, 232, 0.95);
    padding: 20% 5% 20% 5%; }
    .nosotros-images p {
      font-size: 1.8rem; }
  .contact-section .card-block {
    padding-top: 0; }
  .contact-section .container-contact-info {
    text-align: left; }
    .contact-section .container-contact-info h3 {
      margin: 5% 0; }
  .map {
    padding: 0; }
    .map .map-container {
      padding: 0; }
    .map #map {
      height: 400px; } }

@media (min-width: 992px) {
  .main-home .container-menu img {
    width: 12%; }
  .main-home .container-menu .submenu ul li {
    font-size: 1rem;
    padding: 5px; }
    .main-home .container-menu .submenu ul li i {
      font-size: 1.3rem;
      padding: 0 10px; }
  .main-home .container-menu .desktop-menu ul li {
    font-size: 1.1rem; }
  .main-home .container-menu .desktop-menu ul a {
    padding: 5px 0;
    font-size: 0.9rem;
    color: #fff; }
  .main-home .main-bg h1 {
    padding: 2% 10% 5% 10%; }
  .main-home .main-bg p {
    padding: 3% 0; }
  .main-home .main-bg .button-details {
    margin: 5% 0;
    width: 20%; }
  .description-home .description-container h4 {
    font-size: 2.6rem;
    padding-bottom: 1%; }
  .description-home .description-container h5 {
    font-size: 2rem;
    padding-top: 0; }
  .description-home .description-container p {
    font-size: 1.2rem; }
  .description-home .description-container .button-see-more {
    width: 20%;
    margin-top: 5%; }
  .services-home {
    padding: 5% 0; }
    .services-home ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 5% 0;
      font-size: 1.5rem; }
      .services-home ul li i {
        font-size: 2.5rem;
        width: 5rem;
        line-height: 5rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 5rem;
        padding: 0;
        margin-right: 3%;
        border: 1px solid #fff;
        border-radius: 50%; }
    .services-home .button-services {
      width: 50%;
      background: #242539;
      margin: 5% 0 10% 0;
      border-color: transparent;
      border-radius: 0;
      color: #fff;
      width: 20%;
      margin: 10% auto;
      margin-left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
      .services-home .button-services:hover {
        -webkit-box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
        box-shadow: -1px 14px 15px -8px rgba(0, 0, 0, 0.75);
        color: #fff; }
  .contact-home {
    padding: 10% 0; }
    .contact-home h2 {
      padding-top: 0;
      font-size: 3.5rem;
      line-height: 4rem; }
  footer ul {
    padding: 5% 0 0 0;
    width: 50%; }
    footer ul li {
      font-size: 1.2rem; }
  footer .container-studio p {
    font-size: 1rem; }
  footer .container-social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    footer .container-social a {
      font-size: 2rem; }
  .nosotros-description {
    background: rgba(255, 255, 255, 0.9);
    padding: 15% 0; }
    .nosotros-description h2 {
      width: 90%; }
    .nosotros-description h4 {
      width: 90%;
      margin: 2% auto; }
    .nosotros-description p {
      color: #777;
      width: 80%;
      margin: 5% auto;
      font-size: 1.2rem; }
  .nosotros-images {
    background: rgba(227, 229, 232, 0.95);
    padding: 20% 5% 20% 5%;
    text-align: center; }
    .nosotros-images img {
      width: 60%;
      margin: 3% 0; }
    .nosotros-images p {
      font-weight: 100;
      font-size: 1.8rem;
      font-family: "Raleway", sans-serif;
      margin-top: 2%;
      text-align: left; }
  .contact-section {
    padding: 10% 0; }
    .contact-section .container-contact-info {
      text-align: left;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .contact-section .container-contact-info i {
        color: #26597f;
        padding-right: 3%; }
      .contact-section .container-contact-info .location-icon {
        font-size: 8rem; }
      .contact-section .container-contact-info .first-location {
        font-size: 12rem; }
      .contact-section .container-contact-info .second-location {
        position: relative;
        right: 25%;
        top: 10%; }
      .contact-section .container-contact-info h3 {
        font-size: 1.2rem; }
  .map #map {
    height: 500px; } }
