@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&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 */
  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;
}

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

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

body {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
}

body.fijar-body {
  overflow: hidden;
}

.contenedor {
  max-width: 120rem;
  margin: 0 auto;
  width: 95%;
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
}

.margin-top {
  margin-top: 10rem;
}

.margin-bottom {
  margin-bottom: 10rem;
}

.no-margin {
  margin: 0;
}

.no-margin-top {
  margin-top: 0;
}

h1 {
  font-size: 3rem;
}

@media (min-width: 768px) {
  h1 {
    font-size: 4rem;
  }
}

@media (min-width: 1200px) {
  h1 {
    font-size: 6rem;
  }
}

h2 {
  font-size: 3.5rem;
}

@media (min-width: 768px) {
  h2 {
    font-size: 3.6rem;
  }
}

@media (min-width: 1200px) {
  h2 {
    font-size: 5rem;
  }
}

h3 {
  font-size: 2.2rem;
}

@media (min-width: 768px) {
  h3 {
    font-size: 3rem;
  }
}

p {
  font-size: 2rem;
}

@media (min-width: 768px) {
  p {
    font-size: 2.2rem;
  }
}

a {
  font-size: 2rem;
}

@media (min-width: 768px) {
  a {
    font-size: 1.8rem;
  }
}

.boton-primario {
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  padding: 1rem 4rem;
  display: inline-block;
  transition: background-color .3s ease;
  animation: mover .8s ease infinite;
}

.amarillo {
  background-color: #EFB810;
}

.amarillo:hover {
  background-color: #122348;
}

.azul {
  background-color: #122348;
}

.azul:hover {
  background-color: #EFB810;
}

.contenedor-banner {
  overflow: hidden;
  background-color: #F7FDFB;
}

.contenedor-banner h2, .contenedor-banner p {
  text-align: center;
  color: #122348;
}

.navegacion-contenido {
  background-color: #122348;
  top: 0;
  position: fixed;
  z-index: 2;
  width: 100%;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.75);
}

.navegacion-contenedor {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
}

.navegacion-contenedor p, .navegacion-contenedor a {
  color: #fff;
  text-decoration: none;
}

.navegacion-logo p {
  font-weight: 700;
}

.navegacion.abrir {
  animation: slide .5s;
  display: flex;
  flex-direction: column;
  position: absolute;
  right: 0;
  top: 78px;
  width: 100%;
  background-color: #122348;
  padding: 2rem;
}

@media (min-width: 1200px) {
  .navegacion.abrir {
    display: none;
  }
}

@media (min-width: 1200px) {
  .navegacion.abrir:active {
    display: none;
  }
}

.navegacion {
  display: none;
}

@media (min-width: 1200px) {
  .navegacion {
    display: block;
  }
}

.navegacion a {
  text-decoration: none;
  padding: 1.5rem;
  transition: all .3s ease;
}

.navegacion a:hover {
  color: #EFB810;
}

.navegacion a:hover:last-child {
  background-color: unset;
}

/*Menu hamburguesa*/
@media (min-width: 1200px) {
  .menu-movil {
    display: none;
  }
}

.menu-movil button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 6rem;
  height: 6rem;
}

.menu-movil span {
  border-radius: 5px;
  background-color: #ffffff;
  display: block;
  width: 60%;
  margin: 5px auto;
  height: 2px;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

.menu-movil button.abrir .arriba {
  animation-name: arriba-animacion;
}

.menu-movil button.abrir .medio {
  animation-name: medio-animacion;
}

.menu-movil button.abrir .abajo {
  animation-name: abajo-animacion;
}

.menu-movil button .arriba {
  animation-name: arriba-animacion-cerrar;
}

.menu-movil button .medio {
  animation-name: medio-animacion-cerrar;
}

.menu-movil button .abajo {
  animation-name: abajo-animacion-cerrar;
}

@keyframes arriba-animacion {
  50%, 100% {
    margin: 0 auto;
    transform: translateY(0.2rem) rotate(-45deg);
  }
}

@keyframes abajo-animacion {
  50%, 100% {
    margin: 0 auto;
    transform: translateY(-0.2rem) rotate(45deg);
  }
}

@keyframes medio-animacion {
  20%, 100% {
    margin: 0 auto;
    width: 0;
    opacity: 0;
  }
}

@keyframes arriba-animacion-cerrar {
  0% {
    margin: 0 auto;
    transform: translateY(0.2rem) rotate(-45deg);
  }
  50%, 100% {
    margin: .5rem auto;
    transform: translateY(0px) rotate(0deg);
  }
}

@keyframes medio-animacion-cerrar {
  0% {
    margin: 0 auto;
    width: 0;
    opacity: 0;
  }
  20%, 100% {
    margin: 0 auto;
    width: 60%;
    opacity: 1;
  }
}

@keyframes abajo-animacion-cerrar {
  0% {
    margin: 0 auto;
    transform: translateY(-2px) rotate(45deg);
  }
  50%, 100% {
    margin: 5px auto;
    transform: translateY(0px) rotate(0deg);
  }
}

.activo {
  color: #EFB810 !important;
}

@keyframes slide {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}

.cabezera {
  background: url(/build/img/bg_limpieza.jpg) no-repeat center right;
  background-size: cover;
  height: 100vh;
  min-height: 80rem;
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .cabezera {
    background: url(/build/img/bg_limpieza.jpg) no-repeat top right fixed;
    background-size: cover;
  }
}

.cabezera::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.contenido-header {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  z-index: 1;
}

@media (min-width: 768px) {
  .contenido-header {
    padding-top: 8rem;
  }
}

.contenido-texto {
  margin-top: 10rem;
}

.contenido-texto h1 {
  text-transform: capitalize;
  color: #ffffff;
  text-align: center;
  margin: 0;
}

@media (min-width: 768px) {
  .contenido-texto h1 {
    text-align: left;
  }
}

.contenido-texto h1 span {
  color: #EFB810;
}

@media (min-width: 768px) {
  .contenido-texto {
    margin-top: 0;
  }
}

.contenido-logo img {
  display: none;
}

@media (min-width: 768px) {
  .contenido-logo img {
    display: unset;
  }
}

.contenedor-boton {
  padding-top: 3rem;
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .contenedor-boton {
    justify-content: flex-start;
  }
}

.contenedor-beneficios {
  overflow: hidden;
}

@media (min-width: 540px) {
  .contenedor-beneficios {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .contenedor-beneficios {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.texto-beneficios {
  background: url(/build/img/trabajaNosotros.jpg) no-repeat center center;
  height: 800px;
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.texto-beneficios::before {
  content: '';
  background-color: rgba(18, 35, 72, 0.9);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.texto-beneficios h2 {
  position: relative;
  z-index: 1;
  color: #ffffff;
  text-align: center;
}

.boton-beneficios {
  z-index: 1;
  display: flex;
  justify-content: center;
}

@media (min-width: 540px) {
  .iconos-beneficios {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .iconos-beneficios {
    z-index: -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .iconos-beneficios {
    margin-left: 3rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.icono {
  margin-top: 6rem;
  text-align: center;
}

.icono .icono-info {
  color: #122348;
}

@media (min-width: 280px) {
  .icono .icono-info {
    font-size: 6rem;
  }
}

@media (min-width: 540px) {
  .icono .icono-info {
    font-size: 6rem;
  }
}

@media (min-width: 768px) {
  .icono .icono-info {
    font-size: 8rem;
  }
}

.icono .txt-beneficios p {
  font-weight: 700;
  text-align: center;
}

@media (min-width: 540px) {
  .icono .txt-beneficios p {
    margin-left: 1rem;
  }
}

@media (min-width: 768px) {
  .icono .txt-beneficios p {
    margin-left: 0;
  }
}

.icono .txt-beneficios span {
  color: #EFB810;
  display: block;
}

@media (min-width: 1200px) {
  .icono .txt-beneficios span {
    display: unset;
  }
}

.contenedor-informacion-nosotros {
  overflow: hidden;
  padding-top: 5rem;
}

@media (min-width: 768px) {
  .contenedor-informacion-nosotros {
    padding-top: 0;
    height: 100vh;
    min-height: 80rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.informacion-nosotros {
  background-color: #ffffff;
  display: grid;
}

@media (min-width: 1200px) {
  .informacion-nosotros {
    margin-top: 3rem;
  }
}

@media (min-width: 768px) {
  .informacion-nosotros {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.informacion-nosotros-texto {
  padding: 1rem;
}

.informacion-nosotros-texto h2 {
  color: #122348;
  margin-bottom: 0;
  text-transform: capitalize;
  text-align: center;
}

@media (min-width: 768px) {
  .informacion-nosotros-texto h2 {
    text-align: left;
  }
}

.texto-info-nosotros h3 {
  text-transform: uppercase;
  color: #EFB810;
  text-align: center;
}

.texto-info-nosotros p {
  text-align: center;
}

@media (min-width: 768px) {
  .texto-info-nosotros h3 {
    text-align: left;
  }
  .texto-info-nosotros p {
    text-align: left;
  }
}

@media (min-width: 1200px) {
  .texto-info-nosotros p {
    text-align: justify;
  }
}

.btn-nosotros {
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .btn-nosotros {
    display: unset;
  }
}

.contenedor-nosotros-imagen {
  grid-row: 1/2;
}

@media (min-width: 768px) {
  .contenedor-nosotros-imagen {
    grid-row: unset;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.ocultar {
  display: none;
}

.pantallaCompleta {
  position: fixed;
  overflow-y: scroll;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  display: grid;
  place-items: center;
}

.btn-cerrar {
  width: 5rem;
  height: 5rem;
  background-color: #122348;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  border-radius: 50%;
  margin-top: -10rem;
  color: #fff;
}

.btn-cerrar:hover {
  cursor: pointer;
}

.boton-info-nosotros a {
  display: block;
  text-align: center;
}

@media (min-width: 768px) {
  .boton-info-nosotros {
    display: inline-block;
  }
}

.contenedor-ventajas {
  margin-top: 5rem;
}

@media (min-width: 768px) {
  .contenedor-ventajas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 1200px) {
  .contenedor-ventajas {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}

.ventaja {
  margin-bottom: 2rem;
  border: 5px solid #F7FDFB;
  padding: 1rem;
  transition: all .3s ease-in-out;
}

@media (min-width: 768px) {
  .ventaja {
    margin-bottom: 0;
  }
}

.ventaja:hover {
  transform: scale(1.1);
  cursor: pointer;
}

.ventaja:hover i {
  color: #EFB810;
}

.icono-ventaja {
  display: flex;
  justify-content: center;
}

.icono-ventaja i {
  font-size: 5rem;
  color: #122348;
}

.texto-ventaja {
  transition: all .3s ease-in-out;
}

.texto-ventaja h3, .texto-ventaja p {
  color: #122348;
}

.texto-ventaja h3 {
  text-align: center;
}

.texto-ventaja p {
  text-align: center;
}

.contenido-servicio {
  display: flex;
  flex-direction: column;
}

.contenido-servicio .imagenes-servicio {
  order: -1;
}

@media (min-width: 768px) {
  .contenido-servicio {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .contenido-servicio .imagenes-servicio {
    grid-column: 2/3;
  }
  .contenido-servicio .texto-servicio {
    grid-row: 1/2;
  }
}

.lista-beneficios .beneficio {
  display: flex;
}

.imagen-beneficio {
  display: flex;
  align-items: center;
  font-size: 5rem;
  margin-right: 2rem;
  color: #38B6FF;
}

.texto-servicio {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.texto-servicio h2 {
  color: #122348;
  text-align: center;
}

.texto-servicio h2::before {
  content: '>';
  color: #EFB810;
  margin-right: 1rem;
  font-weight: 700;
}

.texto-servicio p {
  text-align: center;
}

@media (min-width: 768px) {
  .texto-servicio h2 {
    text-align: left;
  }
  .texto-servicio p {
    text-align: left;
    margin-right: 2rem;
  }
}

@media (min-width: 1200px) {
  .texto-servicio p {
    text-align: justify;
  }
}

.texto-beneficio {
  margin-right: 2rem;
}

@media (min-width: 768px) {
  .imagenes-servicio {
    display: flex;
    align-items: center;
  }
}

@media (min-width: 1200px) {
  .imagenes-servicio {
    display: unset;
  }
}

.boton-beneficio {
  order: 4;
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

@media (min-width: 1200px) {
  .boton-beneficio {
    display: unset;
  }
}

.contenedor-cotizacion {
  padding-top: 15rem;
}

.instrucciones-cotizacion {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.instrucciones-cotizacion h1 {
  color: #122348;
}

.instrucciones-cotizacion p {
  color: #ff0f0f;
  font-weight: 700;
}

.lista-instrucciones {
  padding: 0;
}

.lista-instrucciones li {
  list-style: decimal;
  font-size: 2rem;
}

.contenido-cotizacion {
  display: none;
}

.cotizacion-activa {
  display: block !important;
}

/*Listado de servicios*/
.listado-servicios {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(1, fr);
  row-gap: 2rem;
}

.listado-servicios .ticket {
  grid-row: 4/5;
}

@media (min-width: 768px) {
  .listado-servicios {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  .listado-servicios .ticket {
    grid-column: 3/4;
    grid-row: 1/3;
  }
  .listado-servicios .servicio-cotizacion[data-id-servicio="1"] {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}

@media (min-width: 1200px) {
  .listado-servicios {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
  .listado-servicios .servicio-cotizacion[data-id-servicio="1"] {
    grid-column: 2/3;
  }
  .listado-servicios .ticket {
    grid-column: 4/5;
  }
}

.servicio-cotizacion {
  position: relative;
  padding: 4rem;
  transition: all .3s ease-in-out;
  -webkit-box-shadow: 10px 10px 14px -7px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 10px 10px 14px -7px rgba(0, 0, 0, 0.75);
  box-shadow: 10px 10px 14px -7px rgba(0, 0, 0, 0.75);
}

@media (min-width: 1200px) {
  .servicio-cotizacion {
    display: flex;
    height: 56rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.servicio-cotizacion:hover {
  background-color: #122348;
}

.servicio-cotizacion:hover p {
  color: #ffffff;
}

.servicio-cotizacion:hover .btn-add-servicio {
  background-color: #EFB810;
  color: #ffffff;
}

.servicio-cotizacion .precio, .servicio-cotizacion .nombre-servicio, .servicio-cotizacion .detalles-cotizacion, .servicio-cotizacion .dias-servicio {
  text-align: center;
}

.servicio-cotizacion .precio {
  color: #122348;
  font-weight: bold;
}

.servicio-cotizacion .precio span {
  color: #EFB810;
  font-weight: 700;
}

.servicio-cotizacion .nombre-servicio {
  color: #122348;
  font-weight: 700;
}

.servicio-cotizacion .detalles-cotizacion {
  font-size: 1.6rem;
  color: #7a7a7a;
}

.servicio-cotizacion .dias-servicio {
  color: #122348;
}

.servicio-cotizacion .dias-servicio span {
  color: #EFB810;
  font-weight: 700;
}

.servicio-cotizacion:hover {
  transform: scale(1.1);
  cursor: pointer;
}

.ticket {
  margin: 0 auto;
  padding: 3rem;
  width: 30rem;
  border: 1px solid #eee;
}

.encabezado-ticket {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-bottom: 1px dotted #122348;
}

.encabezado-ticket img {
  width: 13rem;
}

.encabezado-ticket p {
  color: #122348;
  text-transform: capitalize;
  font-weight: 700;
}

.numero-servicios {
  background-color: #f4f4f4;
  padding: 1rem;
  border-bottom: 1px dotted #122348;
}

.numero-servicios p {
  margin-top: 0;
  color: #353535;
  font-size: 1.8rem;
}

.numero-servicios .numero-ingresados {
  color: #000;
  margin-bottom: 0;
  font-weight: 700;
}

.servicios-ingresados {
  padding: 1rem;
  border-bottom: 1px dotted #122348;
}

.servicios-ingresados p {
  margin-top: 0;
  font-size: 1.8rem;
}

.servicios-ingresados .servicio-seleccionado {
  font-weight: 700;
  color: #353535;
  width: 90%;
}

.servicios-ingresados .servicio-seleccionado span {
  color: #EFB810;
  font-weight: 700;
}

/*separador de precios*/
.separado-precios {
  display: flex;
}

.btn-borrar {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  background: #122348;
  color: #ffffff;
  font-weight: 700;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  user-select: none;
}

.btn-borrar:hover {
  cursor: pointer;
}

.total-servicios {
  display: flex;
  justify-content: space-between;
  background-color: #f4f4f4;
  padding: 1rem;
  border-bottom: 1px dotted #122348;
}

.total-servicios p {
  margin-top: 0;
}

.total-servicios p {
  color: #353535;
}

.total-servicios .suma-total {
  color: #EFB810;
  font-size: 2.2rem;
  font-weight: 700;
}

.botones-cotizacion {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .botones-cotizacion {
    flex-direction: row;
  }
  .botones-cotizacion button {
    flex: 1;
  }
}

.botones-cotizacion button {
  border: none;
  background-color: #ffffff;
  padding: 1rem;
  font-size: 2rem;
  color: #122348;
  margin-bottom: 1rem;
  display: block;
}

.botones-cotizacion button:hover {
  cursor: pointer;
}

@media (min-width: 768px) {
  .botones-cotizacion button {
    display: inline-block;
  }
}

button.activo-cotizacion {
  border-bottom: 3px solid #EFB810;
  color: #EFB810;
  font-weight: 700;
}

.servicio-click {
  background-color: #122348;
}

.servicio-click p {
  color: #ffffff !important;
}

.servicio-click .btn-add-servicio {
  background-color: #EFB810;
  color: #ffffff;
}

.no-disponible {
  font-size: 5rem;
  text-align: center;
  grid-column: 1/3;
}

/*Formulario*/
.datos-cotizacion {
  margin-top: 2rem;
  -webkit-box-shadow: 4px 6px 25px -7px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 4px 6px 25px -7px rgba(0, 0, 0, 0.75);
  box-shadow: 4px 6px 25px -7px rgba(0, 0, 0, 0.75);
  padding: 5rem;
  width: 100%;
}

@media (min-width: 768px) {
  .datos-cotizacion {
    width: 50%;
  }
}

.inputs-cotizacion label {
  display: block;
  color: #122348;
  margin-bottom: 1.2rem;
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.inputs-cotizacion input, .inputs-cotizacion textarea {
  border: 1px solid #122348;
  width: 100%;
  padding: .5rem;
  transition: all .3s ease-in-out;
}

.inputs-cotizacion input:focus, .inputs-cotizacion textarea:focus {
  border: 1px solid #EFB810;
}

.inputs-cotizacion button {
  margin-top: 1rem;
  border: none;
}

/*Resumen*/
.resumen-cita h2, .resumen-servicio h2 {
  color: #122348;
}

.resumen-cita p {
  color: #122348;
}

.resumen-cita span {
  color: #EFB810;
  font-weight: 700;
}

.servicio-cliente p {
  color: #122348;
}

.servicio-cliente span {
  font-weight: 700;
  color: #EFB810;
}

.imprimir-ticket input {
  border: none;
}

.total-pagar span {
  color: #EFB810;
  font-weight: 700;
}

@media (min-width: 768px) {
  .resumen-pagar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.logo-ticket {
  display: flex;
  align-items: center;
}

.swal2-confirm {
  background-color: #122348 !important;
  font-size: 1.5rem !important;
  font-weight: 700;
}

.swal2-confirm:focus {
  box-shadow: unset !important;
}

.swal2-html-container {
  font-size: 1.8rem !important;
}

/*Botones*/
.contenedor-controles {
  display: flex;
  justify-content: center;
}

.contenedor-controles .controles {
  padding: 1rem 1.2rem;
  border: none;
  margin-right: 1.2rem;
  margin-top: 2rem;
}

.contenedor-controles .controles:hover {
  cursor: pointer;
}

@media (min-width: 768px) {
  .contenedor-controles {
    justify-content: flex-end;
  }
  .contenedor-controles .controles {
    margin-right: 1.5rem;
  }
}

/*animación de escoba*/
.escoba {
  width: 8rem;
  animation: izquierda-derecha 1.2s ease-in-out infinite;
  position: relative;
}

@keyframes izquierda-derecha {
  25% {
    transform: rotate(-45deg);
    transition: all .3s ease-in-out;
  }
  50% {
    transform: rotate(45deg);
    transition: all .3s ease-in-out;
  }
  75% {
    transform: rotate(-45deg);
    transition: all .3s ease-in-out;
  }
  100% {
    transform: rotate(45deg);
    transition: all .3s ease-in-out;
  }
}

/*El mas vendido*/
.servicio-cotizacion[data-id-servicio="1"] {
  border: 4px solid #008F39;
  position: relative;
}

.servicio-cotizacion[data-id-servicio="1"]::before {
  content: 'más vendido';
  background-color: #008F39;
  color: #ffffff;
  position: absolute;
  width: 100%;
  padding: 1rem 4rem;
  top: 0;
  right: 0;
  font-size: 2rem;
  text-align: center;
  text-transform: uppercase;
}

.btn-add-servicio {
  display: block;
  border: none;
  background-color: #ffffff;
  border: 2px solid #EFB810;
  padding: 1rem 2rem;
  color: #EFB810;
  font-weight: bold;
  width: 100%;
  transition: all .3s ease-in-out;
}

.btn-add-servicio:hover {
  cursor: pointer;
  background-color: #EFB810;
  color: #ffffff;
}

.contenedor-formulario-contacto {
  padding-top: 15rem;
  background-image: url("/build/img/bg_limpieza.jpg");
  background-size: cover;
  position: relative;
  background-position: right;
  min-height: 98rem;
}

.contenedor-formulario-contacto::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (min-width: 768px) {
  .contenedor-formulario-contacto {
    height: 100vh;
    min-height: 80rem;
  }
}

@media (min-width: 1200px) {
  .contenedor-formulario-contacto {
    background-position: center center;
    min-height: 80rem;
  }
}

.info-contacto {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(18, 35, 72, 0.8);
}

.info-contacto p {
  font-size: 1.6rem;
}

.info-contacto h2, .info-contacto p {
  color: #ffffff;
  text-align: center;
}

@media (min-width: 768px) {
  .info-contacto p {
    font-size: 1.8rem;
  }
}

@media (min-width: 1200px) {
  .info-contacto p {
    font-size: 2.2rem;
  }
}

.alinear-formulario {
  position: relative;
  z-index: 1;
  height: 60rem;
}

@media (min-width: 768px) {
  .alinear-formulario {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .alinear-formulario .info-contacto {
    grid-column: 2/3;
  }
  .alinear-formulario .formulario-contacto {
    grid-row: 1/2;
  }
}

.imagen-contacto {
  background-image: url("/build/img/nosotros2.jpg");
  height: auto;
  background-position: right;
  background-repeat: no-repeat;
  background-size: cover;
}

.formulario-contacto {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #E8E8E8;
  padding: 3rem;
}

.boton-contacto {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .boton-contacto {
    display: unset;
  }
}

.informacion-contacto {
  margin-top: 2rem;
  background-color: #F7FDFB;
}

.alinear-iconos-contacto {
  padding: 1rem;
  margin-top: 5rem;
}

@media (min-width: 768px) {
  .alinear-iconos-contacto {
    padding: 2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

.iconos-contacto .icono-contacto {
  display: flex;
  justify-content: center;
  font-size: 3rem;
  color: #EFB810;
}

.texto-icono-contacto {
  color: #122348;
  text-align: center;
}

.texto-icono-contacto h4, .texto-icono-contacto p {
  font-size: 1.8rem;
}

.footer {
  background-color: #122348;
}

.contenedor-footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.contenedor-footer .ultimo-enlaces {
  grid-column: 1/2;
  margin-left: 2rem;
}

.contenedor-footer .alinear-logo {
  grid-column: 1/3;
}

@media (min-width: 768px) {
  .contenedor-footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .contenedor-footer .alinear-logo {
    grid-column: unset;
  }
  .contenedor-footer .ultimo-enlaces {
    margin-left: 0;
    grid-column: unset;
  }
}

.logo-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo-footer img {
  width: 15rem;
}

.logo-footer p {
  font-size: 1.8rem;
  color: #ffffff;
  text-transform: capitalize;
  text-align: center;
}

.derechos-footer {
  border-top: 1px solid #494949;
}

@media (min-width: 768px) {
  .derechos-footer {
    display: flex;
    justify-content: space-between;
  }
}

.derechos-footer p {
  color: #ffffff;
  font-size: 1.8rem;
}

.enlaces-footer ul li {
  color: #ffffff;
}

@media (min-width: 768px) {
  .enlaces-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.enlaces-footer h4 {
  color: #EFB810;
}

.enlaces-footer ul {
  padding: 0;
}

.enlaces-footer li {
  color: #EFB810;
  list-style: none;
}

.enlaces-footer li::before {
  content: '>';
  color: #EFB810;
  margin-right: 0.5rem;
  font-weight: 700;
}

.enlaces-footer li a {
  text-decoration: none;
  color: #ffffff;
}

.derechos-footer p {
  font-weight: 700;
  padding-bottom: 2rem;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.7rem;
}

.autor {
  color: #ffffff;
}

.banner-nosotros {
  padding-top: 5rem;
  background: url(/build/img/nosotros.jpg) no-repeat fixed center center;
  height: 65rem;
  background-size: cover;
  position: relative;
  background-position: right;
  background-attachment: unset;
  padding-top: 10rem;
  height: 45rem;
}

.banner-nosotros::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (min-width: 768px) {
  .banner-nosotros {
    background-attachment: fixed;
    background-position: top;
    padding-top: 5rem;
    height: 90rem;
  }
}

@media (min-width: 1200px) {
  .banner-nosotros {
    height: 65rem;
  }
}

.texto-banner-nosotros {
  width: 100%;
  position: relative;
  z-index: 1;
  height: 93%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.texto-banner-nosotros h1 {
  color: #fff;
  background-color: rgba(18, 35, 72, 0.8);
  padding: 2rem;
}

.texto-banner-nosotros h1 {
  width: 100%;
  text-align: center;
}

@media (min-width: 768px) {
  .texto-banner-nosotros {
    width: 50%;
    text-align: left;
  }
}

.vista-conocenos {
  overflow: hidden;
  padding: 5rem;
}

.contenedor-conocenos {
  display: flex;
  flex-direction: column;
}

.contenedor-conocenos .texto-conocenos {
  order: 2;
}

@media (min-width: 768px) {
  .contenedor-conocenos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  .contenedor-conocenos .texto-conocenos {
    order: unset;
  }
  .contenedor-conocenos .mover-imagen {
    grid-row: 1/2;
  }
}

@media (min-width: 768px) {
  .imagen-conocenos {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .imagen-conocenos img {
    transition: all .3s ease;
  }
  .imagen-conocenos img:hover {
    transform: scale(1.1);
  }
}

@media (min-width: 1200px) {
  .imagen-conocenos {
    display: unset;
  }
}

.texto-conocenos h2 {
  color: #122348;
}

.texto-conocenos h2::before {
  content: '>';
  color: #EFB810;
  margin-right: 1rem;
  font-weight: 700;
}

.texto-conocenos p {
  color: #122348;
  text-align: center;
}

@media (min-width: 768px) {
  .texto-conocenos p {
    text-align: left;
  }
}

@media (min-width: 1200px) {
  .texto-conocenos p {
    text-align: justify;
  }
}

.contenido-filosofia {
  overflow: hidden;
}

@media (min-width: 768px) {
  .contenido-filosofia {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.contenedor-texto-filosofia {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contenido-texto-filosofia {
  margin-right: 0;
}

@media (min-width: 768px) {
  .contenido-texto-filosofia {
    margin-right: 2rem;
  }
}

.contenido-texto-filosofia h2 {
  color: #122348;
  text-align: center;
}

@media (min-width: 768px) {
  .contenido-texto-filosofia h2 {
    text-align: left;
  }
}

.contenido-texto-filosofia h2:first-of-type {
  margin-top: 0;
}

.contenido-texto-filosofia h2::before {
  content: '>';
  color: #EFB810;
  margin-right: 1rem;
  font-weight: 700;
}

.contenido-texto-filosofia p {
  color: #122348;
  text-align: center;
}

@media (min-width: 768px) {
  .contenido-texto-filosofia p {
    text-align: left;
  }
}

.contenido-texto-filosofia .ultimo-filosofia {
  margin-bottom: 0;
  padding-bottom: 5rem;
}

.imagen-filosofia {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.imagen-filosofia .frase-filosofia p {
  color: rgba(18, 35, 72, 0.5);
  font-style: italic;
  text-align: center;
}

@media (min-width: 768px) {
  .imagen-filosofia .frase-filosofia p {
    text-align: left;
  }
}

/*Valores*/
.contenido-valores {
  overflow: hidden;
}

@media (min-width: 1200px) {
  .contenido-valores {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

.icono-plus {
  transition: .3s ease all;
}

.icono-plus:hover {
  cursor: pointer;
  color: #EFB810 !important;
}

.texto-izquierda {
  transition: all .3s ease-in-out;
  display: flex;
  align-items: center;
}

.texto-izquierda img {
  margin-right: 1rem;
}

@media (min-width: 1200px) {
  .parrafo-derecha {
    text-align: right;
  }
}

.texto-derecha {
  display: flex;
  text-align: left;
}

@media (min-width: 1200px) {
  .texto-derecha {
    text-align: right;
    display: block;
  }
}

.texto-derecha:hover {
  cursor: pointer;
}

.texto-derecha img {
  margin-right: 1rem;
  order: -1;
}

@media (min-width: 1200px) {
  .texto-derecha img {
    margin-left: 1rem;
  }
}

.icono-plus {
  font-size: 2rem;
}

@media (min-width: 768px) {
  .icono-plus {
    font-size: 3rem;
  }
}

.ocultar-parrafo {
  display: none;
}

.contenedor-padre.activar .ocultar-parrafo {
  display: block;
  animation: slide .5s;
}

.contenedor-padre img {
  transition: all .3s ease-in-out;
}

.contenedor-padre.activar img {
  transform: rotate(45deg);
}

.valores .valor {
  margin-bottom: 4rem;
}

@media (min-width: 768px) {
  .valores .valor {
    margin-bottom: 0;
  }
}

.valores .valor h3 {
  color: #122348;
  width: 100%;
}

.valores .valor p {
  margin-left: 2.2rem;
  color: #122348;
  transition: all .3s ease;
}

.valores-imagen {
  transition: .3s ease all;
}

@media (min-width: 768px) {
  .valores-imagen {
    display: flex;
    justify-content: center;
  }
  .valores-imagen img {
    width: 80%;
  }
}

@media (min-width: 1200px) {
  .valores-imagen img {
    width: 100%;
    transition: all .3s ease;
  }
  .valores-imagen img:hover {
    transform: scale(1.2);
  }
}

.vista-servicios {
  padding-top: 5rem;
  background: url(/build/img/nosotros1.jpg) no-repeat fixed center center;
  height: 65rem;
  background-size: cover;
  position: relative;
  background-attachment: unset;
  background-position: top;
}

.vista-servicios::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (min-width: 768px) {
  .vista-servicios {
    background-attachment: fixed;
  }
}

.texto-vista-servicios {
  width: 100%;
  position: relative;
  z-index: 1;
  height: 93%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.texto-vista-servicios h1 {
  color: #fff;
  background-color: rgba(18, 35, 72, 0.8);
  padding: 2rem;
}

.boton-contratar-servicio {
  margin-top: 5rem;
}

.boton-contratar-servicio button {
  font-size: 2rem;
  border: none;
}

.boton-contratar-servicio button:hover {
  cursor: pointer;
}

.link-menu {
  text-decoration: none;
}

.link-menu:visited {
  color: black;
}

.link-menu:link {
  text-decoration: none;
  color: black;
}

.contenedor-menu-servicios {
  padding: 5rem;
  margin-top: 5rem;
}

@media (min-width: 768px) {
  .contenedor-menu-servicios {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 1200px) {
  .contenedor-menu-servicios {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1rem;
  }
}

.menu-servicio {
  padding: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  border: 1px solid #122348;
  height: 10rem;
  opacity: .5;
  background-color: #F7FDFB;
}

@media (min-width: 768px) {
  .menu-servicio {
    padding: 0;
    margin-bottom: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .menu-servicio {
    height: 17rem;
  }
}

@media (min-width: 1200px) {
  .menu-servicio {
    height: 20rem;
  }
}

.menu-servicio i {
  transition: all .3s ease;
  font-size: 3rem;
}

@media (min-width: 768px) {
  .menu-servicio i {
    font-size: 8.4rem;
  }
}

@media (min-width: 1200px) {
  .menu-servicio i {
    font-size: 9rem;
  }
}

.menu-servicio p {
  font-size: 1.8rem;
  text-align: center;
  color: #122348;
  animation: slide .3s ease;
}

@media (min-width: 768px) {
  .menu-servicio p {
    font-size: 2.2rem;
    display: none;
  }
}

.menu-servicio:hover {
  opacity: 1;
  cursor: pointer;
}

.menu-servicio:hover i {
  transform: scale(1.2);
  color: #EFB810;
}

.menu-servicio:hover p {
  display: block;
}

.servicio-activo {
  border: 1.5px solid #EFB810;
  opacity: 1;
  cursor: pointer;
}

.servicio-activo i {
  transform: scale(1.2);
  color: #EFB810;
}

.servicio-activo p {
  display: block;
}

@keyframes slideX {
  0% {
    transform: scale(1.1);
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

.contenedor-descripcion-servicios {
  overflow: hidden;
  padding: 0 5rem;
}

.descripcion-servicio {
  animation: slideX .3s ease;
  display: none;
}

.descripcion-activa {
  overflow: hidden;
  animation: slideX .3s ease;
  display: grid;
  grid-template-columns: 1,1fr;
}

.descripcion-activa .descripcion-imagen-servicio {
  grid-row: 1/2;
}

@media (min-width: 768px) {
  .descripcion-activa {
    height: 70rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.descripcion-texto-servicio {
  padding: 1rem;
}

.descripcion-texto-servicio p {
  color: #122348;
  font-size: 2rem;
}

.lista-servicios {
  padding-left: 0;
}

.lista-servicios li {
  color: #EFB810;
  display: flex;
  align-items: center;
  list-style: none;
}

.lista-servicios p {
  color: #122348;
  margin: 1rem 0;
  font-size: 2rem;
}

.lista-servicios i {
  color: #EFB810;
}

.lista-servicios i {
  margin-right: 1rem;
  font-size: 2.2rem;
  order: -1;
}

.descripcion-texto-servicio, .descripcion-imagen-servicio {
  flex: 0 0 calc(50% - 1rem);
}

.descripcion-imagen-servicio {
  padding: 1rem;
}

@media (min-width: 768px) {
  .descripcion-imagen-servicio {
    display: flex;
    align-items: center;
  }
  .descripcion-imagen-servicio img {
    height: 50rem;
  }
}

@media (min-width: 1200px) {
  .descripcion-imagen-servicio {
    display: flex;
    justify-content: center;
  }
  .descripcion-imagen-servicio img {
    height: 55rem;
  }
}

.parrafo-ventaja span {
  font-weight: 700;
  text-transform: uppercase;
}

@keyframes mover {
  50% {
    transform: scale(1.1);
    transition: all .3s ease;
  }
  100% {
    transition: all .3s ease;
  }
}

.cerrar-form {
  display: flex;
  justify-content: flex-end;
}

.cerrar-form img {
  width: 2.2rem;
  transform: rotate(45deg);
}

.cerrar-form img:hover {
  cursor: pointer;
}

.formulario-contratar {
  animation: slideX .3s ease;
  background-color: #ffffff;
  -webkit-box-shadow: 10px 13px 19px -14px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 10px 13px 19px -14px rsgba(0, 0, 0, 0.75);
  box-shadow: 10px 13px 19px -14px rgba(0, 0, 0, 0.75);
}

@media (min-width: 768px) {
  .formulario-contratar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    overflow: unset;
  }
}

.ocultar-formulario {
  display: none;
}

.bg-formulario {
  background-image: url("/build/img/bg_limpieza.jpg");
  background-position: right;
  background-size: cover;
  height: 15rem;
  position: relative;
}

.bg-formulario::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (min-width: 768px) {
  .bg-formulario {
    height: auto;
  }
}

.texto-bg-formulario {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  z-index: 1;
}

.texto-bg-formulario h3, .texto-bg-formulario p {
  color: #ffffff;
}

.texto-bg-formulario p {
  font-size: 1.6rem;
}

@media (min-width: 768px) {
  .texto-bg-formulario h3 {
    font-size: 2.2rem;
  }
  .texto-bg-formulario p {
    font-size: 1.8rem;
  }
}

@media (min-width: 1200px) {
  .texto-bg-formulario h3 {
    font-size: 3rem;
  }
  .texto-bg-formulario p {
    font-size: 2.2rem;
  }
}

.contenedor-formulario {
  background-color: #E8E8E8;
  padding: 4rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.titulo-formulario {
  color: #122348;
  font-weight: 700;
  text-align: center;
}

.inputs-formulario-contratar {
  position: relative;
}

.inputs-formulario-contratar label {
  display: block;
  margin: 1.3rem 0;
  color: #122348;
  font-size: 1.8rem;
}

.inputs-formulario-contratar input, .inputs-formulario-contratar textarea {
  width: 100%;
  outline: 0;
  border: none;
  border-radius: .4rem;
  padding: .8rem;
  transition: all .3s ease-in-out;
}

.inputs-formulario-contratar textarea {
  resize: none;
}

.boton-formulario-contratar {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
}

.boton-formulario-contratar input {
  border: none;
}

.boton-formulario-contratar input:hover {
  cursor: pointer;
}

.ocultar-mensaje {
  display: none;
}

.msj-error {
  font-size: 1.8rem;
  color: #ff3333;
  text-align: center;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .msj-error {
    margin-bottom: 2rem;
  }
}

.boton-deshabilitado {
  opacity: .5;
}

.boton-deshabilitado:hover {
  cursor: unset !important;
  background-color: #122348;
}

.mensaje-valido {
  color: #22bb33;
  padding: 1rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}

.invalido {
  display: none;
}

.invalido p {
  color: #dc3545;
  font-size: 1.6rem;
}
