@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/** Media Queries **/
.bn26 {
  background-image: linear-gradient(to right, #25aae1, #4481eb, #04befe, #3f86ed);
  box-shadow: 0 4px 15px 0 rgba(65, 132, 234, 0.75);
}

.bn27 {
  background-image: linear-gradient(to right, #25aae1, #40e495, #30dd8a, #2bb673);
  box-shadow: 0 4px 15px 0 rgba(49, 196, 190, 0.75);
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-family: "Outfit", sans-serif;
  font-size: 1.8rem;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 3rem;
}

#scrollTop {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: #d5d5d5; /* Set a background color */
  color: #64748B; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px; /* Some padding */
  border-radius: 1rem; /* Rounded corners */
  font-size: 15px; /* Increase font size */
  transition: 0.2s background-color ease-in-out;
}
@media (min-width: 768px) {
  #scrollTop {
    padding: 15px;
  }
}
#scrollTop svg {
  width: 3rem;
}
@media (min-width: 768px) {
  #scrollTop svg {
    width: 4rem;
  }
}
#scrollTop:hover {
  background-color: #007df4; /* Add a dark-grey background on hover */
  color: #FFFFFF;
}

.inicio {
  min-height: 40rem;
  background-image: url("/build/img/grafico.svg"), url("/build/img/grafico.svg"), linear-gradient(to right, #1a1b15, rgba(26, 27, 21, 0.5)), -webkit-image-set(url("/build/img/header.avif") 1x, url("/build/img/header.webp") 1x, url("/build/img/header.jpg") 1x);
  background-image: url("/build/img/grafico.svg"), url("/build/img/grafico.svg"), linear-gradient(to right, #1a1b15, rgba(26, 27, 21, 0.5)), image-set(url("/build/img/header.avif") 1x, url("/build/img/header.webp") 1x, url("/build/img/header.jpg") 1x);
  background-repeat: no-repeat;
  background-size: 20rem, 20rem, cover, cover;
  background-position: top left, bottom right, center center, center center;
}
@media (min-width: 768px) {
  .inicio {
    background-size: 30rem, 30rem, cover, cover;
    min-height: 50rem;
  }
}
@media (min-width: 1024px) {
  .inicio {
    background-size: 40rem, 40rem, cover, cover;
    min-height: 60rem;
  }
}
.inicio__contenido {
  padding: 5rem;
}
@media (min-width: 1024px) {
  .inicio__contenido {
    padding: 5rem 0 0 0;
  }
}

.header {
  background-color: #e1e1e1;
  padding: 1rem 0 3rem 0;
  box-shadow: 0px 17px 10px -13px rgba(0, 0, 0, 0.35);
  top: 0;
  z-index: 1;
  width: 100%;
}
.header__heading {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 3rem;
}
@media (min-width: 768px) {
  .header__heading {
    font-size: 4rem;
  }
}
.header__contenido {
  margin-left: 20rem;
}
@media (min-width: 1920px) {
  .header__contenido {
    margin-left: 0;
  }
}
.header__info {
  margin-left: 2rem;
}
@media (min-width: 768px) {
  .header__info {
    margin-left: 4rem;
  }
}
.header__desc {
  color: #FFFFFF;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .header__desc {
    font-size: 3rem;
  }
}
.header__boton {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
}
.header__boton:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.header__boton:focus {
  outline: none;
}
.header__contenedor {
  width: min(95%, 60rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .header__contenedor {
    width: min(95%, 80rem);
    margin: 0 auto;
  }
}
@media (min-width: 1920px) {
  .header__contenedor {
    width: min(95%, 120rem);
    margin: 0 auto;
  }
}
.header__navegacion {
  padding: 5rem 0;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media (min-width: 768px) {
  .header__navegacion {
    justify-content: flex-end;
  }
}
.header__logo {
  font-size: clamp(2rem, -0.8rem + 10vw, 8rem);
  background: linear-gradient(to right, #007df4, #00c8c2);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  margin: 0;
}
@media (min-width: 768px) {
  .header__logo {
    text-align: left;
    display: inline-block;
  }
}

.menu {
  display: flex;
  justify-content: right;
  align-items: center;
  list-style-type: none;
}
.menu__enlace {
  display: block;
  padding: 7px 15px;
  font-size: 17px;
  font-weight: 500;
  transition: 0.2s all ease-in-out;
  color: #FFFFFF;
}
.menu__enlace:hover {
  color: #e1e1e1;
}
.menu__enlace--actual {
  color: #007df4;
}

.menu-icon {
  display: none;
}

#menu-toggle {
  display: none;
}

#menu-toggle:checked ~ .menu {
  transform: scale(1, 1);
}

@media only screen and (max-width: 950px) {
  .menu {
    flex-direction: column;
    background-color: #007df4;
    align-items: start;
    position: absolute;
    top: 43rem;
    left: 0;
    width: 100%;
    padding-top: 1rem;
    z-index: 1;
    transform: scale(1, 0);
    transform-origin: top;
    transition: transform 0.3s ease-in-out;
    box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
  }
  .menu__enlace {
    margin-left: 12px;
    color: #FFFFFF;
  }
  .menu__li {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 950px) and (min-width: 768px) {
  .menu {
    top: 53rem;
  }
}
@media only screen and (max-width: 950px) {
  .menu-icon {
    display: block;
    color: #FFFFFF;
    font-size: 28px;
    cursor: pointer;
  }
}
.footer {
  margin-top: -45rem;
  overflow: hidden;
  width: 100%;
  z-index: -1;
  --footer-background:#007df4;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  position: relative;
  height: 125rem;
}
@media (min-width: 768px) {
  .footer {
    height: 60rem;
    margin-top: -10rem;
  }
}
.footer .cube {
  width: 100%;
  height: 20px;
  position: absolute;
  top: 125%;
  filter: url("#blob");
  background: var(--footer-background);
}
.footer .bubbles {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  filter: url("#blob");
}
@media (min-width: 768px) {
  .footer .bubbles {
    height: 40%;
  }
}
.footer .bubbles .bubble {
  position: absolute;
  left: var(--position);
  background: var(--footer-background);
  border-radius: 100%;
  animation: bubble-size var(--time) ease-in infinite var(--delay), bubble-move var(--time) ease-in infinite var(--delay);
  transform: translate(-50%, 100%);
}
.footer__grid {
  height: 80%;
  width: 80%;
  z-index: 2;
  background: var(--footer-background);
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  padding-top: 3rem;
}
@media (min-width: 768px) {
  .footer__grid {
    height: 70%;
    width: 70%;
    flex-direction: row;
  }
}
@media (min-width: 1024px) {
  .footer__grid {
    height: 60%;
    width: 60%;
    flex-direction: row;
    padding-top: 5rem;
  }
}
.footer__logo {
  width: 10rem;
  position: relative;
  right: -22rem;
  top: -15rem;
}
@media (min-width: 768px) {
  .footer__logo {
    position: static;
  }
}
.footer__info {
  margin-left: 0.7rem;
  line-height: 1rem;
}
.footer__texto {
  font-size: 1.2rem;
  color: #e1e1e1;
  line-height: 2rem;
  margin: 0;
}
@media (min-width: 768px) {
  .footer__texto {
    font-size: 1.5rem;
  }
}
.footer__label {
  font-weight: 700;
  color: #e1e1e1;
  line-height: 2rem;
  margin: 1.5rem 0 0 0;
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .footer__label {
    font-size: 1.8rem;
  }
}
.footer__cont-paginas {
  display: flex;
  flex-direction: column;
}
.footer__paginas {
  display: flex;
}
@media (min-width: 768px) {
  .footer__paginas {
    flex-direction: column;
    margin-right: 1rem;
  }
}
.footer__pagina {
  font-weight: 700;
  color: #e1e1e1;
  font-size: 1.8rem;
  transition: all 0.3s ease-in-out;
  margin: 1rem;
}
.footer__pagina:hover {
  color: #FFFFFF;
  cursor: pointer;
}
@media (min-width: 768px) {
  .footer__pagina {
    font-size: 2rem;
  }
}
.footer__enlace {
  color: #FFFFFF;
  font-size: 1.3rem;
  margin-bottom: 1.2rem;
  margin-top: 1rem;
  transition: all 0.3s ease-in-out;
}
.footer__enlace:hover {
  color: #FFFFFF;
  cursor: pointer;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer__enlace {
    font-size: 1.5rem;
  }
}
.footer__heading {
  font-size: 1.6rem;
  color: #e1e1e1;
  margin: 1rem 0 0 0;
}
.footer__heading span {
  border-bottom: 1px solid #e1e1e1;
}
@media (min-width: 768px) {
  .footer__heading {
    font-size: 1.8rem;
    margin: 0;
  }
}
.footer__copyright {
  background: var(--footer-background);
  margin: 1rem 0 0 0;
  padding: 1rem 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 900;
  color: #e1e1e1;
}
.footer__copyright--regular {
  font-weight: 400;
}
@media (min-width: 768px) {
  .footer__copyright {
    margin: 5rem 0 0 0;
    padding: 2rem 0;
  }
}
.footer__contenido {
  display: flex;
  flex-direction: column;
  margin-right: 1rem;
}
.footer .content {
  height: 50%;
  width: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--footer-background);
}
@media (min-width: 768px) {
  .footer .content {
    height: 55%;
  }
}
@media (min-width: 1024px) {
  .footer .content {
    height: 50%;
  }
}

@keyframes bubble-size {
  0%, 75% {
    width: var(--size);
    height: var(--size);
  }
  100% {
    width: 0rem;
    height: 0rem;
  }
}
@keyframes bubble-move {
  0% {
    bottom: -40px;
  }
  100% {
    bottom: var(--distance);
  }
}
.menu-redes {
  display: flex;
  gap: 2rem;
  margin: 2rem 0;
  transition: all 0.3 ease-in-out;
}
.menu-redes__enlace::before {
  color: #e1e1e1;
  font-size: 2rem;
  display: inline-block;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Brands";
}
.menu-redes__enlace[href*="facebook.com"]::before {
  content: "\f39e";
}
.menu-redes__enlace[href*="github.com"]::before {
  content: "\f09b";
}
.menu-redes__enlace[href*="tiktok.com"]::before {
  content: "\e07b";
}
.menu-redes__enlace[href*="instagram.com"]::before {
  content: "\f16d";
}
.menu-redes__enlace[href*="youtube.com"]::before {
  content: "\f167";
}
.menu-redes__enlace[href*="twitter.com"]::before {
  content: "\f099";
}
.menu-redes__enlace[href*="linkedin.com"]::before {
  content: "\f08c";
}
.menu-redes__enlace:hover {
  color: #FFFFFF;
}
.menu-redes__ocultar {
  display: none;
}

.alerta {
  padding: 1.5rem 1.5rem 1.5rem 3rem;
  text-transform: uppercase;
  margin: 1rem 0;
  font-size: 1.2rem;
  font-weight: 700;
}
.alerta__error {
  background-color: #ffdcdc;
  border-left: 0.5rem solid #a90000;
  color: #a90000;
}
.alerta__exito {
  background-color: #abfeab;
  border-left: 0.5rem solid #02db02;
  color: #017601;
}

.paginador {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5rem;
}
.paginador__button {
  border: none;
  border-radius: 1rem;
  background-color: #00c8c2;
  padding: 1rem;
  margin: 1.5rem;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
.paginador__button:hover {
  background-color: #007df4;
}
.paginador__button i {
  color: #FFFFFF;
}
.paginador__info {
  font-size: 1.8rem;
  font-weight: bold;
}

.disabled {
  border: none;
  border-radius: 1rem;
  background-color: #e1e1e1;
  padding: 1rem;
  margin: 1.5rem;
}
.disabled :hover {
  cursor: not-allowed;
}

/* Fixed sidenav, full height */
.sidenav {
  padding: 3rem;
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dropdown-btn {
  background-image: linear-gradient(to right, #25aae1, #4481eb, #04befe, #3f86ed);
  box-shadow: 0 4px 15px 0 rgba(65, 132, 234, 0.75);
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
}
.dropdown-btn:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.dropdown-btn:focus {
  outline: none;
}

/* Add an active class to the active dropdown button */
.active {
  background-image: linear-gradient(to right, #25aae1, #40e495, #30dd8a, #2bb673);
  box-shadow: 0 4px 15px 0 rgba(49, 196, 190, 0.75);
}

.dropdown-container {
  display: none;
  padding: 3rem;
}
.dropdown-container__label {
  color: #1a1b15;
  transition: color 0.2s linear;
}
.dropdown-container__label:hover {
  cursor: pointer;
  color: #00c8c2;
}
.dropdown-container__contenedor {
  display: block;
  margin-bottom: 0.8rem;
}

.label__active {
  color: #00c8c2;
  font-style: italic;
}

.fa-caret-down {
  float: right;
  margin: 0 2rem;
}

.filter-icon {
  display: none;
}

.xmark-icon {
  display: none;
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
  color: #007df4;
}

@media only screen and (max-width: 950px) {
  .sidenav {
    flex-direction: column;
    background: rgba(255, 255, 255, 0.28);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5.7px);
    -webkit-backdrop-filter: blur(5.7px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    align-items: start;
    position: absolute;
    top: 51rem;
    left: 0;
    width: 100%;
    z-index: 1;
    transform: scale(1, 0);
    transform-origin: top;
    transition: transform 0.3s ease-in-out;
  }
}
@media only screen and (max-width: 950px) and (min-width: 768px) {
  .sidenav {
    top: 58rem;
  }
}
@media only screen and (max-width: 950px) {
  .filter-icon {
    display: block;
    color: #007df4;
    font-size: 28px;
    cursor: pointer;
  }
}
.servicios {
  margin-top: 5rem;
}
.servicios__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.servicios__grid {
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(1, 1fr);
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .servicios__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.servicios__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* From https://css.glass */
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem;
  width: min(95%, 60rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .servicios__info {
    margin-bottom: 2rem;
  }
}
@media (min-width: 1024px) {
  .servicios__info {
    margin-bottom: 0rem;
    width: min(95%, 120rem);
    margin: 0 auto;
  }
}
.servicios__info__heading {
  text-align: center;
}
.servicios__info__desc {
  text-align: center;
}
.servicios__info__image {
  width: 15rem;
}
@media (min-width: 768px) {
  .servicios__info__image {
    width: 20rem;
  }
}
.servicios__info__blob1 {
  width: 25rem;
  bottom: -120rem;
  left: 20rem;
  z-index: -1;
  position: absolute;
}
@media (min-width: 768px) {
  .servicios__info__blob1 {
    width: 35rem;
    bottom: -120rem;
    left: 47rem;
  }
}
@media (min-width: 1024px) {
  .servicios__info__blob1 {
    width: 35rem;
    bottom: -10rem;
    left: -6rem;
  }
}
@media (min-width: 1920px) {
  .servicios__info__blob1 {
    width: 40rem;
    bottom: 5rem;
    left: 18rem;
  }
}
@media (min-width: 2560px) {
  .servicios__info__blob1 {
    width: 45rem;
    bottom: 25rem;
    left: 45rem;
  }
}
.servicios__info__blob2 {
  width: 25rem;
  bottom: 3rem;
  left: -5rem;
  z-index: -1;
  position: absolute;
}
@media (min-width: 768px) {
  .servicios__info__blob2 {
    width: 35rem;
    bottom: -10rem;
    right: 50rem;
  }
}
@media (min-width: 1024px) {
  .servicios__info__blob2 {
    width: 30rem;
    bottom: -52rem;
    left: 112rem;
  }
}
@media (min-width: 1920px) {
  .servicios__info__blob2 {
    width: 35rem;
    bottom: -30rem;
    left: 135rem;
  }
}
@media (min-width: 2560px) {
  .servicios__info__blob2 {
    width: 35rem;
    bottom: 0rem;
    left: 170rem;
  }
}
.servicios__heading {
  font-weight: 700;
  text-align: center;
  font-size: 3rem;
}
@media (min-width: 768px) {
  .servicios__heading {
    font-size: 4rem;
  }
}
.servicios__desc {
  text-align: center;
  font-size: 1.8rem;
}
@media (min-width: 768px) {
  .servicios__desc {
    font-size: 1.5rem;
  }
}

.frase {
  margin-top: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1024px) {
  .frase {
    flex-direction: row;
    justify-content: space-around;
  }
}
.frase__image {
  position: relative;
  width: 15rem;
  bottom: 5rem;
  right: 10rem;
}
@media (min-width: 768px) {
  .frase__image {
    width: 20rem;
    bottom: 7rem;
    right: 35rem;
  }
}
@media (min-width: 1024px) {
  .frase__image {
    width: 28rem;
    bottom: 5rem;
    right: 28rem;
  }
}
@media (min-width: 1920px) {
  .frase__image {
    width: 35rem;
    bottom: 5rem;
    right: 25rem;
  }
}
@media (min-width: 2560px) {
  .frase__image {
    width: 40rem;
    top: -5rem;
    right: 50rem;
  }
}
.frase__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .frase__contenedor {
    align-items: flex-end;
  }
}
.frase__info {
  padding-right: 3rem;
  text-align: right;
}
@media (min-width: 768px) {
  .frase__info {
    padding-right: 5rem;
  }
}
@media (min-width: 1024px) {
  .frase__info {
    padding-right: 10rem;
  }
}
.frase__heading {
  font-size: 3rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .frase__heading {
    font-size: 4rem;
  }
}
@media (min-width: 1024px) {
  .frase__heading {
    font-size: 5rem;
  }
}
.frase__desc {
  max-width: 80rem;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .frase__desc {
    font-size: 2.3rem;
  }
}
@media (min-width: 1024px) {
  .frase__desc {
    font-size: 2.5rem;
  }
}
.frase__mockup {
  width: 36rem;
}
@media (min-width: 768px) {
  .frase__mockup {
    width: 73rem;
  }
}
@media (min-width: 1024px) {
  .frase__mockup {
    width: 85rem;
  }
}
@media (min-width: 1920px) {
  .frase__mockup {
    width: 125rem;
  }
}

.imagen-contacto {
  background-image: linear-gradient(to right, rgba(0, 125, 244, 0.7), rgba(0, 200, 194, 0.7)), -webkit-image-set(url("/build/img/bgContacto.avif") 1x, url("/build/img/bgContacto.webp") 1x, url("/build/img/bgContacto.jpg") 1x);
  background-image: linear-gradient(to right, rgba(0, 125, 244, 0.7), rgba(0, 200, 194, 0.7)), image-set(url("/build/img/bgContacto.avif") 1x, url("/build/img/bgContacto.webp") 1x, url("/build/img/bgContacto.jpg") 1x);
  padding: 10rem 0;
  background-size: cover;
  background-position: center;
  text-align: center;
}
.imagen-contacto__heading {
  color: #FFFFFF;
  font-size: 3.3rem;
  max-width: 40rem;
}
.imagen-contacto__heading span {
  font-size: 3.6rem;
  font-style: italic;
}
@media (min-width: 768px) {
  .imagen-contacto__heading {
    font-size: 4.3rem;
    max-width: none;
  }
  .imagen-contacto__heading span {
    font-size: 4.6rem;
  }
}
.imagen-contacto__desc {
  color: #FFFFFF;
  font-size: 2.5rem;
  width: min(95%, 60rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .imagen-contacto__desc {
    font-size: 3rem;
    width: min(95%, 120rem);
    margin: 0 auto;
  }
}
.imagen-contacto__boton {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
}
.imagen-contacto__boton:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.imagen-contacto__boton:focus {
  outline: none;
}

.home-portfolio {
  margin-top: 8rem;
}
.home-portfolio__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.home-portfolio__grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .home-portfolio__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .home-portfolio__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.home-portfolio__ill {
  width: 10rem;
  bottom: 3rem;
  left: 0rem;
  z-index: 1;
  position: absolute;
}
@media (min-width: 768px) {
  .home-portfolio__ill {
    width: 15rem;
    bottom: 9rem;
    left: 2rem;
  }
}
@media (min-width: 1024px) {
  .home-portfolio__ill {
    width: 20rem;
    bottom: 7rem;
    left: -10rem;
  }
}
@media (min-width: 1920px) {
  .home-portfolio__ill {
    width: 35rem;
    bottom: 7rem;
    left: -27.5rem;
  }
}
.home-portfolio__blob2 {
  width: 15rem;
  right: -2rem;
  top: 8rem;
  z-index: 1;
  position: absolute;
}
@media (min-width: 768px) {
  .home-portfolio__blob2 {
    width: 18rem;
    right: -4rem;
    top: 0rem;
  }
}
@media (min-width: 1024px) {
  .home-portfolio__blob2 {
    width: 28rem;
    right: -10rem;
    top: 0rem;
  }
}
@media (min-width: 1920px) {
  .home-portfolio__blob2 {
    width: 35rem;
    right: -25rem;
    top: 0rem;
  }
}
.home-portfolio__imagen {
  transition: 0.3s transform ease-in-out;
}
.home-portfolio__imagen:hover {
  transform: scale(1.1);
  cursor: pointer;
}
.home-portfolio__info {
  height: 30rem;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
@media (min-width: 1024px) {
  .home-portfolio__info {
    height: 40rem;
  }
}
.home-portfolio__desc span {
  font-weight: 700;
  font-style: italic;
}

.testimonios {
  margin-top: 8rem;
  background: linear-gradient(150deg, #00c8c2, #1dffdb, #71ffd6, #007df4);
  background-size: 150% 150%;
  animation: gradient 9s ease-in-out infinite;
  padding-bottom: 10rem;
}
@media (min-width: 768px) {
  .testimonios {
    background-size: 200% 200%;
  }
}
@media (min-width: 1024px) {
  .testimonios {
    background-size: 250% 250%;
  }
}
@media (min-width: 1920px) {
  .testimonios {
    background-size: 400% 400%;
  }
}
.testimonios__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
  padding: 5rem;
}
.testimonios__heading {
  text-align: center;
}
.testimonios__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .testimonios__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .testimonios__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.testimonios__info {
  padding: 2rem;
  border-radius: 1rem;
  position: relative;
  /* From https://css.glass */
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.testimonios__image {
  position: absolute;
  top: 2rem;
  left: 3rem;
  width: 8rem;
  z-index: -1;
  opacity: 0.4;
}
.testimonios__title {
  font-size: 1.6rem;
  max-width: 20rem;
  line-height: 1.5rem;
}
.testimonios__name {
  font-size: 2.5rem;
}
.testimonios__fecha {
  font-size: 1.5rem;
}
.testimonios__letter {
  color: #FFFFFF;
}
.testimonios__letter__contenedor {
  width: 7rem;
  height: 7rem;
  background-color: rgba(0, 125, 244, 0.7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
.testimonios__text {
  font-style: italic;
  font-size: 1.6rem;
}
.testimonios__text__contenedor {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.testimonios__header {
  display: flex;
  justify-content: space-around;
}
.testimonios__header__info {
  line-height: 1rem;
}

.box3 {
  grid-column-start: 1;
  grid-column-end: 2;
}
@media (min-width: 768px) {
  .box3 {
    grid-column-start: 1;
    grid-column-end: 3;
  }
}
@media (min-width: 1024px) {
  .box3 {
    grid-column-start: 3;
    grid-column-end: 4;
  }
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.numbers {
  margin-top: -5rem;
}
.numbers__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.numbers__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .numbers__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .numbers__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
.numbers__info {
  padding: 2rem;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}
.numbers__number {
  color: #007df4;
  font-weight: 900;
  font-size: 4rem;
}
@media (min-width: 768px) {
  .numbers__number {
    font-size: 5rem;
  }
}
.numbers__title {
  margin: 2rem 0 0 0;
  font-size: 2.5rem;
}
.numbers__texto {
  font-size: 1.8rem;
}

/* DEMO-SPECIFIC STYLES */
.typewriter h1 {
  overflow: hidden;
  border-right: 0.15em solid rgba(225, 225, 225, 0.7);
  white-space: nowrap;
  margin: 0 auto;
  letter-spacing: 0.5rem; /* Adjust as needed */
  animation: typing 2s steps(30, end), blink-caret 0.5s step-end infinite;
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes blink-caret {
  from, to {
    border-color: transparent;
  }
  50% {
    border-color: rgba(225, 225, 225, 0.7);
  }
}
.nosotros {
  margin-top: 5rem;
}
.nosotros__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.nosotros__cont-heading {
  text-align: center;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .nosotros__cont-heading {
    margin-bottom: 10rem;
  }
}
.nosotros__heading {
  color: #007df4;
  font-weight: 900;
  font-size: 3.5rem;
}
@media (min-width: 768px) {
  .nosotros__heading {
    font-size: 4.5rem;
  }
}
.nosotros__subheading {
  font-weight: 400;
  font-style: italic;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .nosotros__subheading {
    font-size: 2.8rem;
  }
}

.historia__grid {
  display: grid;
  gap: 0rem;
  grid-template-columns: repeat(1, 1fr);
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .historia__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.historia__info__historia {
  position: relative;
}
.historia__info__blob1 {
  position: absolute;
  z-index: -1;
  bottom: -2rem;
  width: 20rem;
  right: -3rem;
  transform: rotate(35deg);
}
@media (min-width: 768px) {
  .historia__info__blob1 {
    bottom: -2rem;
    width: 22rem;
    right: 0rem;
  }
}
@media (min-width: 1920px) {
  .historia__info__blob1 {
    bottom: -2rem;
    width: 35rem;
    right: -17rem;
  }
}
.historia__info__imagen {
  width: 35rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .historia__info__imagen {
    width: 70rem;
  }
}
.historia__info__title {
  color: #00c8c2;
  text-align: center;
}
.historia__info__texto {
  text-align: justify;
  width: min(95%, 80rem);
  margin: 0 auto;
}
.historia__info__cita {
  margin-top: 5rem;
  font-weight: 700;
  font-style: italic;
}
.historia__info__heading {
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
}
.historia__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}

.mision {
  margin-top: 8rem;
}
.mision__heading {
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
}
.mision__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .mision__grid {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.mision__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* From https://css.glass */
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem;
  margin-bottom: 4rem;
  width: min(95%, 60rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .mision__info {
    margin-bottom: 2rem;
  }
}
@media (min-width: 1024px) {
  .mision__info {
    margin-bottom: 0rem;
    width: min(95%, 120rem);
    margin: 0 auto;
  }
}
.mision__info__heading {
  text-align: center;
  color: #007df4;
}
.mision__info__desc {
  text-align: center;
}
.mision__info__image {
  width: 15rem;
}
@media (min-width: 1024px) {
  .mision__info__image {
    width: 20rem;
  }
}
.mision__info__blob1 {
  width: 45rem;
  bottom: -10rem;
  left: -20rem;
  z-index: -1;
  position: absolute;
}
.mision__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
  position: relative;
}

.habilidades {
  margin-top: 15rem;
  background: linear-gradient(-135deg, #00c8c2, #1dffdb, #71ffd6, #007df4 75%);
  background-size: 400% 400%;
  animation: gradient 9s ease-in-out infinite;
  padding: 7rem;
}
.habilidades__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.habilidades__cont-heading {
  text-align: center;
  margin-bottom: 5rem;
}
.habilidades__heading {
  font-size: 3rem;
  font-weight: 700;
}
.habilidades__subheading {
  font-size: 2.5rem;
  color: #007df4;
}
.habilidades__desc {
  font-style: italic;
}
.habilidades__grid {
  justify-content: center;
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .habilidades__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .habilidades__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
.habilidades__info {
  text-align: center;
  padding: 2rem;
  border-radius: 50%;
  width: 25rem;
  height: 25rem;
  background: rgba(255, 255, 255, 0.28);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1920px) {
  .habilidades__info {
    width: 30rem;
    height: 30rem;
  }
}
.habilidades__info__icono {
  font-size: 5rem;
}
.habilidades__info__title {
  font-weight: 900;
  margin: 2rem 0 0 0;
}
.habilidades__info__desc {
  font-style: italic;
}

.eleccion {
  margin: 5rem 0 5rem 0;
}
.eleccion__grid {
  align-items: center;
  justify-content: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .eleccion__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.eleccion__info {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.eleccion__info__imagen {
  width: 35rem;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .eleccion__info__imagen {
    width: 70rem;
  }
}
.eleccion__info__texto {
  text-align: justify;
}
.eleccion__info__enumeracion {
  font-style: italic;
}
.eleccion__info__heading {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}
.eleccion__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}

.nosotros-contacto {
  background-image: linear-gradient(to right, rgba(0, 125, 244, 0.7), rgba(0, 200, 194, 0.7)), -webkit-image-set(url("/build/img/bgContacto.avif") 1x, url("/build/img/bgContacto.webp") 1x, url("/build/img/bgContacto.jpg") 1x);
  background-image: linear-gradient(to right, rgba(0, 125, 244, 0.7), rgba(0, 200, 194, 0.7)), image-set(url("/build/img/bgContacto.avif") 1x, url("/build/img/bgContacto.webp") 1x, url("/build/img/bgContacto.jpg") 1x);
  padding: 10rem 0;
  background-size: cover;
  background-position: center;
  text-align: center;
}
.nosotros-contacto__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.nosotros-contacto__heading {
  color: #FFFFFF;
  font-size: 3.3rem;
}
.nosotros-contacto__heading span {
  font-size: 3.6rem;
  font-style: italic;
}
@media (min-width: 768px) {
  .nosotros-contacto__heading {
    font-size: 4.3rem;
  }
  .nosotros-contacto__heading span {
    font-size: 4.6rem;
  }
}
.nosotros-contacto__desc {
  color: #FFFFFF;
  font-size: 2.5rem;
}
@media (min-width: 768px) {
  .nosotros-contacto__desc {
    font-size: 3rem;
  }
}
.nosotros-contacto__boton {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
}
.nosotros-contacto__boton:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.nosotros-contacto__boton:focus {
  outline: none;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.politica {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.politica__contenedor {
  width: min(95%, 80rem);
  margin: 0 auto;
}
.politica__heading {
  text-align: center;
}
.politica__texto {
  font-size: 1.5rem;
}
.politica__texto span {
  font-weight: 900;
}
.politica__enumeracion {
  font-size: 1.5rem;
}
.politica__info-heading {
  font-size: 2rem;
}

.contacto {
  margin: 8rem;
}
.contacto__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.contacto__grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .contacto__grid {
    display: grid;
    gap: 8rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.contacto__cont-heading {
  text-align: center;
}
.contacto__contenido {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contacto__formulario {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contacto__heading {
  color: #007df4;
  font-weight: 900;
  font-size: 3.5rem;
}
@media (min-width: 768px) {
  .contacto__heading {
    font-size: 4.5rem;
  }
}
.contacto__redes {
  display: flex;
  justify-content: center;
}
.contacto__red {
  color: #00c8c2;
  font-size: 4rem;
  transition: all 0.3s ease-in-out;
  margin: 2rem;
}
.contacto__red:hover {
  color: #00fbf3;
}
.contacto__info {
  margin-left: 1.5rem;
}
.contacto__imagen {
  border-radius: 1rem;
}
.contacto__texto {
  font-size: 1.8rem;
  color: #1a1b15;
  margin-left: 0.5rem;
}
@media (min-width: 768px) {
  .contacto__texto {
    font-size: 2rem;
  }
}
.contacto__label {
  font-weight: 700;
  color: #00c8c2;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .contacto__label {
    font-size: 2.5rem;
  }
}
.contacto__enlace {
  color: #1a1b15;
  font-size: 1.8rem;
  transition: all 0.3s ease-in-out;
  margin-left: 0.5rem;
}
.contacto__enlace:hover {
  color: #00c8c2;
  cursor: pointer;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .contacto__enlace {
    font-size: 2rem;
  }
}
.contacto__info-heading {
  font-size: 2rem;
  color: #007df4;
}
.contacto__info-heading span {
  border-bottom: 1px solid #007df4;
}
@media (min-width: 768px) {
  .contacto__info-heading {
    font-size: 3rem;
  }
}
.contacto__subheading {
  font-weight: 400;
  font-style: italic;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .contacto__subheading {
    font-size: 2.8rem;
  }
}
.contacto__desc {
  font-weight: 400;
  font-style: italic;
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .contacto__desc {
    font-size: 1.8rem;
  }
}
.contacto__texto span {
  font-weight: 700;
}

.formulario__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
.formulario__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.formulario__contenido {
  display: flex;
  flex-direction: column;
  justify-content: left;
  align-items: left;
}
.formulario__label {
  font-weight: 700;
  display: block;
  color: #00c8c2;
}
.formulario__input, .formulario__textarea {
  padding: 1rem;
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #e1e1e1;
  margin-bottom: 2rem;
  margin-top: 1rem;
  border-radius: 1rem;
}
.formulario__check {
  display: flex;
}
.formulario__check__label {
  color: #1a1b15;
  margin-left: 1rem;
}
.formulario__check__label span {
  color: #007df4;
}
.formulario__textarea {
  height: 20rem;
  width: 100%;
}
.formulario .boton-enviar {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
}
.formulario .boton-enviar:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.formulario .boton-enviar:focus {
  outline: none;
}

.fieldset {
  border: none;
}

.faqs-container {
  margin: 0 auto;
  max-width: 60rem;
}

.faq {
  background-color: transparent;
  border: 1px solid #9FA4A8;
  border-radius: 1rem;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  margin: 2rem 0;
  transition: 0.3s ease;
}

.faq.active {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1), 0 3px 6px rgba(0, 0, 0, 0.1);
}
.faq.active::after, .faq.active::before {
  color: #2ecc71;
  content: "\f075";
  font-family: "Font Awesome 5 Free";
  font-size: 7rem;
  position: absolute;
  opacity: 0.2;
  top: 20px;
  left: 20px;
  z-index: 0;
}
.faq.active::before {
  color: #3498db;
  top: -10px;
  left: -30px;
  transform: rotateY(180deg);
}

.faq-title {
  margin: 0 35px 0 0;
  font-size: 2rem;
  color: #00c8c2;
  cursor: pointer;
}

.faq-text {
  display: none;
  margin: 30px 0 0;
  font-size: 1.8rem;
}

.faq.active .faq-text {
  display: block;
}

.faq-toggle {
  background-color: transparent;
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  padding: 0;
  position: absolute;
  top: 30px;
  right: 30px;
  height: 30px;
  width: 30px;
}
.faq-toggle:focus {
  outline: none;
}

.faq.active .faq-toggle {
  background-color: #9FA4A8;
}

.faq-toggle .fa-times {
  display: none;
}

.faq.active .faq-toggle .fa-times {
  display: block;
}

.faq-toggle .fa-chevron-down {
  color: #83888E;
}

.faq.active .faq-toggle .fa-chevron-down {
  display: none;
}

.portfolio {
  margin-top: 5rem;
}
.portfolio__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.portfolio__max-contenedor {
  width: min(95%, 200rem);
  margin: 0 auto;
}
.portfolio__cont-heading {
  text-align: center;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .portfolio__cont-heading {
    margin-bottom: 10rem;
  }
}
.portfolio__heading {
  color: #007df4;
  font-weight: 900;
  font-size: 3.5rem;
}
@media (min-width: 768px) {
  .portfolio__heading {
    font-size: 4.5rem;
  }
}
.portfolio__subheading {
  font-weight: 400;
  font-style: italic;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .portfolio__subheading {
    font-size: 2.8rem;
  }
}
.portfolio__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .portfolio__grid {
    display: grid;
    grid-template-columns: 0.25fr 1fr;
    grid-template-rows: 1fr;
    gap: 2rem;
  }
}

.proyectos__contenedor {
  width: min(95%, 120rem);
  margin: 0 auto;
}
.proyectos__noFilter {
  display: none;
}
.proyectos__listado-proyectos {
  list-style: none;
  align-items: center;
  justify-content: center;
  margin: 3rem 0 0 0;
  padding: 0;
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .proyectos__listado-proyectos {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .proyectos__listado-proyectos {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

.proyecto {
  height: 50rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
@media (min-width: 1024px) {
  .proyecto {
    height: 60rem;
  }
}
.proyecto__contenedor {
  height: 40rem;
  overflow: hidden;
  padding: 2rem;
}
.proyecto__imagen {
  transition: 0.3s transform ease-in-out;
  border-radius: 1rem;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
.proyecto__imagen:hover {
  transform: scale(1.1);
  cursor: pointer;
}
.proyecto__nombre {
  color: #007df4;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 1.5rem 0 0 0;
}
@media (min-width: 768px) {
  .proyecto__nombre {
    font-size: 2.2rem;
  }
}
@media (min-width: 1024px) {
  .proyecto__nombre {
    font-size: 2.5rem;
  }
}
.proyecto__tech {
  background-color: #007df4;
  padding: 1rem;
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .proyecto__tech {
    font-size: 1.2rem;
  }
}
@media (min-width: 1024px) {
  .proyecto__tech {
    font-size: 1.4rem;
  }
}
.proyecto__tech-contenedor {
  list-style: none;
  padding: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .proyecto__tech-contenedor {
    margin-top: 1.2rem;
  }
}
@media (min-width: 1024px) {
  .proyecto__tech-contenedor {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
.proyecto__boton {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
  width: 15rem;
  height: 4rem;
}
.proyecto__boton:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.proyecto__boton:focus {
  outline: none;
}

.pageProyecto {
  margin-top: 5rem;
}
.pageProyecto__contenedor {
  width: min(95%, 200rem);
  margin: 0 auto;
}
.pageProyecto__grid {
  display: grid;
  gap: 5rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .pageProyecto__grid {
    display: grid;
    gap: 5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.pageProyecto__imagen {
  transition: 0.3s transform ease-in-out;
  border-radius: 16px;
}
.pageProyecto__imagen:hover {
  transform: scale(1.1);
  cursor: pointer;
}
.pageProyecto__heading {
  font-size: 4rem;
  font-weight: 700;
  color: #007df4;
}
.pageProyecto__texto {
  font-size: 1.8rem;
  font-weight: 300;
}
.pageProyecto__div-imagen {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  overflow: hidden;
}
.pageProyecto__boton {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
}
.pageProyecto__boton:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.pageProyecto__boton:focus {
  outline: none;
}
.pageProyecto__nav {
  display: flex;
  flex-direction: column;
  margin-top: 5rem;
  justify-content: center;
  border-top: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}
@media (min-width: 768px) {
  .pageProyecto__nav {
    flex-direction: row;
    justify-content: space-between;
  }
}
.pageProyecto__nav__boton {
  width: 160px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  transition: all 0.4s ease-in-out;
  padding-right: 1rem;
  padding-left: 1rem;
  width: 12rem;
  font-size: 12px;
}
.pageProyecto__nav__boton:hover {
  background-position: 100% 0;
  transition: all 0.4s ease-in-out;
}
.pageProyecto__nav__boton:focus {
  outline: none;
}
@media (min-width: 768px) {
  .pageProyecto__nav__boton {
    width: 16.8rem;
    font-size: 16px;
  }
}
.pageProyecto__nav__heading {
  font-size: 2rem;
  margin: 0;
}
.pageProyecto__nav--izquierda {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 1rem;
}
@media (min-width: 768px) {
  .pageProyecto__nav--izquierda {
    margin: 3rem;
  }
}
.pageProyecto__nav--derecha {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 1rem;
}
@media (min-width: 768px) {
  .pageProyecto__nav--derecha {
    margin: 3rem;
  }
}
.pageProyecto__nav__icon {
  margin: 1rem;
}
.pageProyecto__rand {
  margin-top: 5rem;
}
.pageProyecto__rand__heading {
  color: #007df4;
  font-size: 2.5rem;
}
.pageProyecto__rand__galeria {
  margin-top: 2rem;
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .pageProyecto__rand__galeria {
    display: grid;
    gap: 4rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .pageProyecto__rand__galeria {
    display: grid;
    gap: 4rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.pageProyecto__rand__info {
  height: 20rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  background: rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.7px);
  -webkit-backdrop-filter: blur(5.7px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
@media (min-width: 1024px) {
  .pageProyecto__rand__info {
    height: 30rem;
  }
}
.pageProyecto__rand__contenedor {
  height: 30rem;
  overflow: hidden;
  padding: 2rem;
}
.pageProyecto__rand__enlace {
  transition: all 0.3s ease-in-out;
  color: #007df4;
  margin-top: 1rem;
}
.pageProyecto__rand__enlace:hover {
  color: #00c8c2;
}
.pageProyecto__rand__imagen {
  transition: 0.3s transform ease-in-out;
  border-radius: 1rem;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
.pageProyecto__rand__imagen:hover {
  transform: scale(1.1);
  cursor: pointer;
}
.pageProyecto__rand__title {
  font-size: 2.3rem;
}
.pageProyecto__rand__icon {
  margin-right: 1rem;
}
/*# sourceMappingURL=app.css.map */
