html,
body {
  font-family: "Lato", sans-serif;
  color: #000;
  scroll-behavior: smooth;
}

.t-ease {
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
}

.btn-hover:hover {
  color: #103B60;
  -webkit-transition: color 300ms ease;
  -o-transition: color 300ms ease;
  transition: color 300ms ease;
}

.azul-oscuro {
  background-color: #103B60;
}

.azul-claro {
  background-color: #01ACE0;
}

.verde {
  background-color: #7FB827;
}

.negro {
  background-color: black;
}

.font-azul-oscuro {
  color: #103B60;
}

.font-azul-claro {
  color: #01ACE0;
}

.border-bottom {
  border-bottom: 1px solid #01ACE0;
}

.btn-light-blue {
  color: #01ACE0;
  border: 1px solid #01ACE0;
}
.btn-light-blue:hover {
  background-color: #103B60;
  color: #fff;
  -webkit-transition: 300ms ease;
  -o-transition: 300ms ease;
  transition: 300ms ease;
}

#home .-mt-15 {
  margin-top: -3.55rem;
}
#home .h-nfull {
  min-height: 75vh;
}
#home .button-contact {
  border: 1px solid #fff;
  color: #fff;
  font-weight: 700;
}
#home .button-contact:hover {
  background-color: white;
  color: #103B60;
}
#home .arrows {
  border: 1px solid #fff;
  padding: 7px 13px;
}
#home .arrows:hover {
  background-color: white;
  color: #103B60;
}
#home .slide-item {
  max-height: 702px;
}
#home .w-fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  #home .slide-item {
    display: block;
    max-width: 100%;
    max-height: 550px;
    background-position: center center;
  }
  #home .slide-item .rp {
    padding: 0rem 1rem;
    font-size: 1rem;
    line-height: 1.7rem;
    margin-top: 1rem;
  }
  #home .slide-item .rm-b {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
  #home .slide-item h1 {
    font-size: 1.5rem;
    margin-top: 2rem;
  }
  #home .slide-item .button-contact {
    margin-top: 2rem;
    font-size: 1.25rem;
    padding: 0.25rem 1.5rem;
  }
  #home .slide-item .p-arrows,
#home .slide-item .p-arrows-e {
    display: none;
  }
  #home .slide-item .p-numbers {
    top: 7rem !important;
    left: 0 !important;
  }
  #home .slide-item .p-button {
    margin-top: 1.5rem;
  }
  #home .slide-item .p-button a {
    font-size: 1rem;
  }
  #home .slide-item .p-headings {
    left: 0.5rem !important;
    bottom: 4rem !important;
  }
}
@media only screen and (min-device-width: 481px) and (max-device-width: 768px) {
  #home .slide-item {
    max-width: 768px;
    max-height: 380px;
  }
  #home .slide-item .rp {
    padding: 0 2rem;
    font-size: 1.3rem;
    margin-top: 2rem;
  }
  #home .slide-item .rm-b {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
  }
  #home .slide-item h1 {
    font-size: 3rem;
    margin-top: 5rem;
  }
  #home .slide-item .button-contact {
    margin-top: 2rem;
    font-size: 1.25rem;
    padding: 0.25rem 1.5rem;
  }
  #home .slide-item .p-arrows {
    bottom: 19rem !important;
  }
  #home .slide-item .p-arrows-e {
    bottom: 17rem !important;
  }
  #home .slide-item .p-numbers {
    top: 9rem !important;
  }
  #home .slide-item .p-button {
    margin-top: 2rem;
  }
}
@media only screen and (min-device-width: 769px) and (max-device-width: 1024px) {
  #home .slide-item {
    max-width: 1024px;
    max-height: 600px;
  }
  #home .slide-item .rp {
    padding: 0 6rem;
    font-size: 1.25rem;
  }
  #home .slide-item .rm-b {
    margin-bottom: 1.5rem;
    font-size: 1rem;
  }
  #home .slide-item h1 {
    font-size: 3rem;
  }
  #home .slide-item .p-arrows {
    bottom: 21rem !important;
  }
  #home .slide-item .p-arrows-e {
    bottom: 21rem !important;
  }
  #home .slide-item .p-numbers {
    top: 15rem !important;
  }
}
#header .border-hover {
  border-bottom: 4px solid transparent;
  border-bottom-left-radius: 1px 5px;
  border-bottom-right-radius: 1px 5px;
}
#header .border-hover:hover {
  border-bottom: 4px solid #103B60;
}
#header .border-hover:focus {
  border-bottom: 4px solid #103B60;
}
#header .active-option {
  border-bottom: 4px solid #103B60;
  border-bottom-left-radius: 1px 5px;
  border-bottom-right-radius: 1px 5px;
}
#header .dropdown-menu {
  opacity: 0;
  -webkit-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-transition: opacity 150ms ease-in-out;
  -o-transition: opacity 150ms ease-in-out;
  transition: opacity 150ms ease-in-out;
  -webkit-transition: -webkit-transform 150ms ease-in-out;
  transition: -webkit-transform 150ms ease-in-out;
  -o-transition: transform 150ms ease-in-out;
  transition: transform 150ms ease-in-out;
  transition: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out;
  pointer-events: none;
}
#header .dropdown-menu a i {
  opacity: 0;
}
#header .dropdown-menu a:hover i {
  opacity: 1;
}
#header .dropdown.active > button + .dropdown-menu {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}

#about-us .img-left {
  -webkit-transform: translateX(-1.7rem);
      -ms-transform: translateX(-1.7rem);
          transform: translateX(-1.7rem);
}
#about-us .arrows {
  border: 1px solid #01ACE0;
  padding: 7px 13px;
}
#about-us .arrows:hover {
  background-color: #01ACE0;
  color: #fff;
}
#about-us .slide-items {
  max-width: 100%;
  height: 140px;
}
#about-us .slide-items img {
  position: relative;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#about-us .border-blue {
  border-bottom: 1px solid #01ACE0;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  #about-us {
    margin-top: 3rem;
  }
  #about-us .arrows {
    padding: 2px 8px;
  }
  #about-us .arrows i {
    font-size: 1rem;
  }
  #about-us .p-img {
    margin: 0;
  }
  #about-us .img-left {
    display: none;
    width: 50% !important;
    height: 10% !important;
    -webkit-transform: translateX(-2.5rem);
        -ms-transform: translateX(-2.5rem);
            transform: translateX(-2.5rem);
  }
  #about-us .p-text {
    width: 100%;
    padding: 0;
    -webkit-transform: translateX(-45px);
        -ms-transform: translateX(-45px);
            transform: translateX(-45px);
  }
  #about-us .p-text h1 {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
  #about-us .p-text p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  #about-us .p-carousel {
    margin-top: 1rem;
    -webkit-transform: translateX(-13px);
        -ms-transform: translateX(-13px);
            transform: translateX(-13px);
  }
  #about-us .p-arrow-l {
    top: 4.4rem !important;
    left: -2.3rem !important;
  }
  #about-us .p-arrow-r {
    top: -5.4rem !important;
    right: -3rem !important;
  }
  #about-us .slide-items img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
}
@media only screen and (min-device-width: 481px) and (max-device-width: 768px) {
  #about-us .p-img {
    margin: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #about-us .img-left {
    max-width: 90%;
    -webkit-transform: translateX(-2rem);
        -ms-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
  #about-us .img-con {
    width: 67%;
  }
  #about-us .p-text {
    padding-right: 4rem;
  }
  #about-us .p-carousel {
    margin-top: 3rem;
  }
  #about-us .p-arrow-l {
    top: 6.25rem !important;
    left: -7.5rem !important;
  }
  #about-us .p-arrow-r {
    top: -5.25rem !important;
    right: -7.5rem !important;
  }
  #about-us .slide-items img {
    max-width: 80%;
  }
}
@media only screen and (min-device-width: 769px) and (max-device-width: 1024px) {
  #about-us .p-img {
    margin: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #about-us .img-left {
    -webkit-transform: translateX(-4rem);
        -ms-transform: translateX(-4rem);
            transform: translateX(-4rem);
  }
  #about-us .p-text {
    padding-right: 4rem;
  }
  #about-us .p-carousel {
    margin-top: 3rem;
  }
  #about-us .p-arrow-l {
    top: 6.25rem !important;
    left: -7.5rem !important;
  }
  #about-us .p-arrow-r {
    top: -5.25rem !important;
    right: -7.5rem !important;
  }
  #about-us .slide-items img {
    max-width: 80%;
  }
}
#services .add-button {
  width: 35px;
  height: 35px;
}
#services .logos img {
  max-width: 8.75rem;
  max-height: 7.5rem;
}
#services .button-cservices {
  background-color: #01ACE0;
  color: #fff;
  font-weight: 700;
}
#services .button-cservices:hover {
  background-color: white;
  color: #103B60;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  #services .logos img {
    max-width: 60%;
  }
  #services .p-services {
    margin-left: 1.5rem;
  }
  #services .p-services h1 {
    font-size: 1.5rem;
  }
  #services .p-services span {
    font-size: 1rem;
  }
  #services .p-img {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: translateX(2.5rem) translateY(0.25rem);
        -ms-transform: translateX(2.5rem) translateY(0.25rem);
            transform: translateX(2.5rem) translateY(0.25rem);
  }
  #services .p-img img {
    width: 100%;
  }
  #services .p-text {
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    margin-right: 1rem;
    padding: 0 1rem;
  }
  #services .button-cservices {
    margin-top: 0.25rem;
    margin-bottom: 1rem;
    margin-right: 1.75rem;
    padding: 0.125rem 1rem;
    font-size: 0.875rem;
  }
  #services .p-col1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 1rem 0;
  }
  #services .p-col2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 1rem;
  }
  #services .p-item {
    width: 50%;
    margin-bottom: 1rem;
  }
}
@media only screen and (min-device-width: 481px) and (max-device-width: 768px) {
  #services {
    margin-top: 1rem;
  }
  #services .logos img {
    max-width: 50%;
  }
  #services .p-services {
    margin-left: 5rem;
  }
  #services .p-services h1 {
    font-size: 1.75rem;
  }
  #services .p-services span {
    font-size: 1rem;
  }
  #services .p-img {
    max-height: 80% !important;
    -webkit-transform: translateX(1.5rem);
        -ms-transform: translateX(1.5rem);
            transform: translateX(1.5rem);
  }
  #services .p-text {
    font-size: 1rem;
    line-height: 2rem;
    margin-right: 1rem;
    margin-top: 1rem;
  }
  #services .button-cservices {
    margin-right: 4rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    padding: 0.5rem 1.75rem;
  }
  #services .p-col1 {
    margin: 3rem 0;
  }
  #services .p-col2 {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-device-width: 769px) and (max-device-width: 1024px) {
  #services {
    margin-top: 1rem;
  }
  #services .logos img {
    max-width: 50%;
  }
  #services .p-services {
    margin-left: 5rem;
  }
  #services .p-services h1 {
    font-size: 1.75rem;
  }
  #services .p-services span {
    font-size: 1rem;
  }
  #services .p-img {
    max-height: 80% !important;
    -webkit-transform: translateX(1.5rem);
        -ms-transform: translateX(1.5rem);
            transform: translateX(1.5rem);
  }
  #services .p-text {
    font-size: 1.125rem;
    line-height: 2rem;
    margin-right: 2rem;
    margin-top: 1rem;
  }
  #services .button-cservices {
    margin-right: 5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.075rem;
    padding: 0.5rem 2rem;
  }
  #services .p-col1 {
    margin: 3rem 0;
  }
  #services .p-col2 {
    margin-bottom: 3rem;
  }
  #services .p-item span {
    margin: auto 0;
    padding: 5px;
  }
  #services .p-item img {
    margin: 0 auto;
  }
}
#approach img {
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  max-width: 100%;
}
#approach ul {
  list-style: disc;
  list-style-position: inside;
}
#approach ul li {
  font-size: 1.4rem;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  #approach .p-cols {
    margin: 0 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #approach .p-col1 {
    margin: auto;
    width: 100%;
  }
  #approach .p-heading1 {
    font-size: 1.25rem;
  }
  #approach .p-heading2 {
    font-size: 1.125rem;
  }
  #approach ul li {
    font-size: 1rem;
  }
}
@media only screen and (min-device-width: 481px) and (max-device-width: 768px) {
  #approach .p-cols {
    margin: 0 auto;
  }
  #approach .p-col1 {
    margin: o auto;
  }
  #approach .p-heading1 {
    font-size: 1.5rem;
  }
  #approach .p-heading2 {
    font-size: 1rem;
  }
  #approach ul {
    margin: 0 auto;
  }
  #approach ul li {
    font-size: 1rem;
  }
}
@media only screen and (min-device-width: 769px) and (max-device-width: 1024px) {
  #approach .p-heading1 {
    font-size: 1.75rem;
  }
  #approach .p-heading2 {
    font-size: 1.25rem;
  }
  #approach .p-col1 {
    margin: 0 auto;
  }
  #approach ul li {
    font-size: 1.1rem;
  }
}
#contact .i-hover:hover {
  background-color: #103B60;
  color: #fff;
}
#contact #my-map {
  width: 450px;
  height: 300px;
  background-color: gray;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  #contact .p-col {
    margin: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #contact .p-col1 {
    width: 100%;
    margin: auto;
  }
  #contact .p-heading {
    font-size: 1.25rem;
  }
  #contact #my-map {
    max-width: 100%;
    max-height: 30%;
  }
  #contact form input,
#contact form textarea {
    width: 100%;
  }
  #contact .i-hover {
    padding: 1rem;
  }
}
@media only screen and (min-device-width: 481px) and (max-device-width: 768px) {
  #contact h1 {
    font-size: 1.5rem;
  }
  #contact .p-col {
    margin: auto;
  }
  #contact #my-map {
    max-width: 80%;
    max-height: 30%;
  }
  #contact form input,
#contact form textarea {
    width: 100%;
  }
  #contact .i-hover {
    padding: 1rem;
  }
}
@media only screen and (min-device-width: 769px) and (max-device-width: 1024px) {
  #contact h1 {
    font-size: 1.75rem;
  }
  #contact .p-col {
    margin: auto;
  }
  #contact #my-map {
    max-width: 80%;
    max-height: 40%;
  }
  #contact form input,
#contact form textarea {
    width: 100%;
  }
  #contact .i-hover {
    padding: 1rem;
  }
}
#footer .info a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#footer .info a:hover {
  background-color: white;
  color: #103B60;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
}
#footer .social {
  width: 28px;
  height: 28px;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  #footer .p-copy {
    font-size: 0.75rem;
  }
  #footer .p-img {
    max-width: 40%;
  }
  #footer .button-wa {
    margin: 0 auto;
  }
}
@media only screen and (min-device-width: 481px) and (max-device-width: 768px) {
  #footer .info h1 {
    font-size: 1rem;
  }
  #footer .info a {
    font-size: 0.8rem;
  }
  #footer .p-img {
    max-width: 20%;
  }
  #footer .p-copy {
    font-size: 0.875rem;
  }
}
@media only screen and (min-device-width: 769px) and (max-device-width: 1024px) {
  #footer .p-img {
    max-width: 17%;
  }
  #footer .info h1 {
    font-size: 1.25rem;
  }
  #footer .info a {
    font-size: 0.9rem;
  }
}
.animate-bounce {
  -webkit-animation: bounce 1s !important;
          animation: bounce 1s !important;
}

@-webkit-keyframes bounce {
  20% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
            animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  40% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.1, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.1, 1);
  }
}

@keyframes bounce {
  20% {
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
            animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  40% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.1, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.1, 1);
  }
}
@media (min-width: 768px) {
  .special-back {
    background-size: 90% 65% !important;
  }
}
.breath {
  -webkit-animation: breath 8s linear infinite;
          animation: breath 8s linear infinite;
}

@-webkit-keyframes breath {
  0% {
    background-size: 100% auto;
  }
  50% {
    background-size: 105% auto;
  }
  100% {
    background-size: 100% auto;
  }
}

@keyframes breath {
  0% {
    background-size: 100% auto;
  }
  50% {
    background-size: 105% auto;
  }
  100% {
    background-size: 100% auto;
  }
}