/* Mis colores -----------------------------------------------*/
:root {
    --my-green-dark:#28a745; /*Este seria el valor en rgba(40, 167, 69, 1)*/
    --my-green-light: #85d46347;
    --my-green-light-ad: #a9ec8c47;
    --my-gray-dark: #4a434347; /* Es el mismo que uso en calendar */
    --my-gray-light: #b9b6b647; /* Es el mismo que uso en calendar */
    --my-style-font: 'Caveat', cursive;
    --contrast-background: #eaeff378;
}

.navbar {
  height: 60px;
}

.navbar-dark--color{
  background-color: var(--my-green-dark);

}

/* FONTS */
.myStyleFont {
  font-family: 'Caveat', cursive;
  color: var(--my-green-dark);
}

.newStyleFont {
  font-family: 'Fredoka';
  color: var(--my-green-dark);
}

.myStyleRedFont {
  font-family: 'Caveat', cursive;
  color: red;
}

.myTitleWebSiteForm {
  font-family: 'Fredoka', sans-serif;
  color: white;
  font-size: 1.5rem;
  font-weight: 600;
}

.myOptionsForm {
  font-family: "Fredoka", cursive;
  color: white;
  font-size: 1.3rem;
  font-weight: 400;
}

.my-green {
  color: var(--my-green-dark);
}

p.center, h3.center, h5.center, input.center{
  text-align: center;
}

p.justify, h3.justify, h5.justify, input.justify{
  text-align: justify;
}

.modal-title--size{
  font-size: 28px;
}

.text-marketing {
  color: var(--my-green-dark);
  font-size: 20px;
}

.myTitleCondensed {
  font-family: 'Barlow Condensed';
  font-size: 25px;
  color: var(--my-green-dark);
}

.textBelowButton {
  font-family: 'Barlow Condensed';
  max-width: 320px;      /* mismo ancho que el botón: no lo sobrepasa */
  margin-inline: auto;   /* centrado justo debajo del botón */
  font-size: 18px;
}
/* END FONTS */


/* CONTAINERS */
#main_container {
  margin-top: 2em;
}

#wrapper_bell {
  position: relative;
}

#navbarDropdownMenuLink.dropdown-toggle::after {
  display: none;
}

#userMenuDropdown.dropdown-toggle::after {
  display: none;
}

.jumbotron{
  background-color: white;
}

#li_notifications {
  margin-right: 1.5em;
}

.features {
  background: var(--contrast-background);
}
/* END CONTAINERS */


/* IMAGES */
#img_bell:hover {
  cursor: pointer;
}

#img_bell{
  width: 1.5em;
  height: 1.5em;
}

#wraper_circle_red_to_bell {
  position: absolute;
  left: 0.7em;
  top: 0;
}

#circle_red_to_bell {
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: red;
}

#small_circle_red_to_bell {
  position: absolute;
  font-size: 0.7em;
  color: white;
  width: 100%;
  text-align: center;
  font-weight: bold;
}

img.image_profile_menu {
    width: 50px;
    height: 50px;
    border: solid 1px white;
    border-radius: 50%;
    position: relative;
    box-shadow: 0px 15px 35px -15px rgba(0, 0, 0, 0.5),
    0 5px 20px 0 rgba(0, 0, 0, 0.1);
    z-index: 10;
}

img.image_profile_menu.none:hover {
    cursor: auto;
}
/* END IMAGES */


/* BUTTONS */
.btn-success--color{
    background-color: var(--my-green-dark);
}

.dropdown a:active {
  background-color: var(--my-green-dark) !important;
}
/* END BUTTONS */


/* CAROUSEL */
.carousel-image{
  padding-left: 40px;
}

.carousel-caption--color h5 {
  font-size:      4rem;
  color:          var(--my-green-dark) !important;
}

.carousel-caption--color p{
  font-family:    Garamond;
  font-size:      1rem;
  color:          var(--my-green-dark) !important;
}

.carousel-caption{
  top: 50%;
  transform: translateY(-50%);
  bottom: initial;
  right: 5%;
  max-width: 350px;
  left: auto;
  padding:5px;
}

/* The arrow for previoues item in teh carousel */
.carousel-control-prev-icon{
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='green' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
  height: 100px;
  width: 30px;
}

/* The arrow for next item in teh carousel */
.carousel-control-next-icon{
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='green' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
  height: 100px;
  width: 30px;
} */

.carousel .carousel-control-prev, .carousel .carousel-control-next {
  width: 2%;
}

.carousel .carousel-control-prev {
  width: 2%;
}

.carousel .carousel-control-next {
  width: 2%;
}

.carousel-indicators [data-bs-target] {
  background-color: var(--my-green-dark);
}
/* END CAROUSEL */


/* ICONS */
.image_icon {
  width: 1.5em;
}
.image_icon_sm {
  width: 1em;
}
.image_icon_lg {
  width: 2em;
}
.owl-icon-in-content {
  height: 300px;
}

.uppabu-title-green-in-content {
  width: 250px;      /* el tamaño que quieras */
  max-width: 100%;   /* que no desborde en móvil */
  height: auto;
}

/* END ICONS */


/* ALERTS */
div.login_alert {
  margin: 0px;
  padding: 0.5rem 1rem;
  font-size: 14px;
}

#alert_div {
  opacity: 0;
  transition: 3s;
  overflow: hidden;
}

#alert_div.show {
  opacity: 1;
  transition: 3s;
}

#expand-alert {
  margin-top: -100%;
  transition: 5s;
}

#expand-alert.expanded {
  margin-top: 0;
  transition: 5s;
}
/*  END ALERTS */


/* SPINER */
#my_spinner_modal_header {
  opacity: 0;
  color: var(--my-green-dark);
  background-color: #fff;
  border-color: #fff;
  margin-top: 0;
}

#my_spinner_modal_header.show {
  opacity: 1;
}
/* END SPINER */


/* LINKS */
.no_decorated {
  text-decoration: none;
}
/* END LINKS */



/* HERO + FEATURES */
.hero {
  display: flex;
  flex-direction: column;
  /* Primera pantalla: hero + flecha llenan el viewport menos la navbar (60px) */
  min-height: calc(100vh - 60px);
  min-height: calc(100dvh - 60px); /* dvh evita el salto por la barra del navegador en móvil */
}

.hero-content {
  margin-block: auto; /* centra el contenido en vertical y deja la flecha pegada al fondo */
}

.hero-avatar {
  /* Muestra cabeza + hombros; recorta el cuerpo/patas.
     Sin borde ni fondo: el PNG transparente se funde con el blanco de la página. */
  width: 190px;
  height: 150px;
  margin: 0 auto 0.75rem;
  overflow: hidden;
  /* el borde inferior se desvanece para que el corte se pierda en el blanco */
  -webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
}

.hero-avatar img {
  display: block;
  width: 100%;
}

.hero-logo {
  width: 300px;
  max-width: 65%;
  height: auto;
}

.hero-tagline {
  max-width: 32ch;
  margin-inline: auto;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
}

.hero-cta {
  font-family: 'Fredoka', sans-serif;
  font-weight: 500;
  /* En desktop alarga el botón; el min() evita que desborde en móviles angostos */
  min-width: min(320px, 100%);
}

.hero-cta.btn-outline-success {
  color: var(--my-green-dark);
  border-color: var(--my-green-dark);
}

.hero-cta.btn-outline-success:hover {
  background-color: var(--my-green-dark);
  color: #fff;
}

.hero-scroll-cue {
  display: flex;
  justify-content: center;
  padding-bottom: 40px;
}

.chevron-down {
  width: 20px;
  height: 20px;
  border-right: 3px solid var(--my-green-dark);
  border-bottom: 3px solid var(--my-green-dark);
  transform: rotate(45deg);
  animation: chevron-bounce 1.8s ease-in-out infinite;
}

@keyframes chevron-bounce {
  0%, 100% { transform: translateY(0) rotate(45deg); }
  50%      { transform: translateY(6px) rotate(45deg); }
}

@media (prefers-reduced-motion: reduce) {
  .chevron-down { animation: none; }
}

.feature-block {
  padding: 1.25rem 0;
}

.feature-block + .feature-block {
  border-top: 1px solid var(--my-gray-light);
}

.feature-heading {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}
/* END HERO + FEATURES */


/* FOOTER */
.site-footer {
  margin-top: 10rem;
  background-color: var(--my-green-dark);
  padding-block: 1.5rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
}

.site-footer a {
  color: #fff;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer-copy {
  color: rgba(255, 255, 255, 0.75);
}
/* END FOOTER */


.index_large_display {
  display: block;
}

.index_small_display {
  display: none;
}

@media only screen and (max-width: 991px) {
  .carousel-caption--color h5 {
    font-size: 2rem;
  }
  .carousel-caption--color p {
    font-size: 1rem;
  }
  .carousel-caption {
    max-width: 242px;
  }
  .owl-icon-in-content {
    height: 220px;
  }
}

@media only screen and (max-width: 768px) {
  .owl-icon-in-content {
    height: 200px;
  }
  .hero-owl {
    height: 180px;
  }
  .hero-logo {
    width: 240px;
  }
  .feature-heading {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 576px) {
  .index_large_display {
    display: none;
  }
  .index_small_display {
    display: block;
  }
  .owl-icon-in-content {
    height: 130px;
  }
  .uppabu-title-green-in-content {
    width: 120px;      /* el tamaño que quieras */
    max-width: 100%;   /* que no desborde en móvil */
    height: auto;
  }

  .hero-owl {
    height: 130px;
  }
  .feature-heading {
    font-size: 1.3rem;
  }
  .site-footer {
    margin-top: 7rem;
  }
}

@media only screen and (max-width: 500px) {
  .myOptionsForm {
    font-size: 1rem;
    font-weight: 500;
  }
}