
.send-off-screen {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  
  .demo-oracle-icon {
    max-width:20px;
    max-height:18px;
  }
  
  .demo-oracle-icon:before {
    content:url("images/logo_principal2.png")
  }
  
  html:not([dir="rtl"]) .demo-oracle-icon {
    padding-right:4px
  }
  
  html[dir="rtl"] .demo-oracle-icon {
    padding-left:4px
  }
  
  .demo-oracle-icon:before {
    display:inline
  }
  
  .demo-appheader-avatar {
    width:24px;
    height:24px
  }
  
  .demo-appheader-avatar:before {
    content:url("images/avatar_24px.png")
  }
  @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) {
    .demo-appheader-avatar:before {
        content:url("images/avatar_24px_2x.png");
        -webkit-transform:translate(-25%, -25%) scale(0.5);
        transform:translate(-25%, -25%) scale(0.5)
    }
  }
  
  
  /* Georail */
  :root {
      --color-blue: #010048;
      --color-green: #00640B;
      --color-gray: #434343;
      --color-orange: #D4AF37;
      --color-white: #FFFFFF;
  
      --texto-georail-lg: 110px !important;
      --texto-georail-md: 70px !important;
  
      --title-size-sm: 20px;
      --title-size-md: 40px;
      --title-size-lg: 60px;
      --subtitle-size-sm: 20px;
      --subtitle-size-lg: 30px;
      --subtitle-bold-sm: 600;
      --subtitle-bold-lg: 700;
      --title-bold-sm: 600;
      --title-bold-md: 700;
      --title-bold-lg: 800;
  
      --text-size-sm: 30px !important;
      --text-size-lg: 30px !important;
      --text-bold-sm: 400 !important;
      --text-bold-lg: 900 !important;
  
      --width-img-sm: 350px;
      --width-img-lg: 450px;
      --height-img-sm: 250px;
      --height-img-lg: 400px;
  }

  .header-height {
    height: 15px;
  }
  
  
  .oj-web-applayout-main-header {
    background-image: linear-gradient(to bottom right, #010048, #004711);
  }
  
  .oj-web-applayout-offcanvas-icon{
    color: #fff;
  }
  
  .color-nav-menu span.oj-navigationlist-item-label{
    color: var(--color-white) !important;
  }
  
  .contenedor-bg {
      position: relative;
      height: 93vh;
      text-align: center;
      overflow: hidden;
  }
  
  .video-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
  }

  /* 1. El contenedor de la franja */
.franja-oscura-total {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    
    /* Fondo oscuro único */
    background: rgba(0, 0, 0, 0.5); 
    padding: 20px 0; /* Controla qué tan alta es la franja */
    
    /* Flexbox para alinear sin que se encimen */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

/* 2. Título GeoRail (Sin posiciones absolutas) */
.texto-georail-lg, .texto-georail-md {
    margin: 0 !important;
    padding: 0 !important;
    color: white;
    font-weight: 1000;
    line-height: 1; /* Evita espacio extra arriba/abajo */
    position: static !important; /* Forzamos a que no flote */
    transform: none !important;
}

/* 3. Eslogan (Sin posiciones absolutas) */
.eslogan-text-lg, .eslogan-text-sm {
    margin: 10px 0 0 0 !important; /* Espacio pequeño arriba de la frase */
    padding: 0 15px !important;
    color: white;
    text-align: center;
    position: static !important; /* Forzamos a que no flote */
    transform: none !important;
    max-width: 90%;
}

/* 4. Tus clases de tamaño se mantienen */
.texto-georail-lg { font-size: var(--texto-georail-lg) !important; }
.texto-georail-md { font-size: var(--texto-georail-md) !important; }
  .texto-georail-lg{
      font-size: var(--texto-georail-lg) !important;
  }
  
  .texto-georail-md{
      font-size: var(--texto-georail-md) !important;
  }
  
  h1 {
      color: var(--color-blue); 
  }
  
  .color-text-blue{
      color: var(--color-blue);
  }
  
  .color-text-orange{
      color: var(--color-orange);
  }
  
  .color-text-green{
      color: var(--color-green);
  }
  
  body{
      font-family: "DM Sans", sans-serif;
      font-optical-sizing: auto;
      font-style: normal;
  }
  
  .color-nav-menu .oj-navigationlist-item.oj-selected{
      border-color: var(--color-white);
  }
  
  .panel{
      min-width: 40vw;
  }
  
  .ReadonlyTextFieldStyles_readonlyInsideEnabledForm__71tiu81{
      border: none !important;
  }
  
  .icon-color-orange{
      color: var(--color-orange);
  }
  
  .icon-color-green{
      color: var(--color-green);
  }
  
  .BaseButtonStyles_styles_variants_callToAction_base__jvi3dsg{
      background-color: var(--color-blue) !important;
  }
  
  div.oj-listitemlayout-quaternary.oj-listitemlayout-start-padding{
      padding: 0px 0px 0px 0px;
  }
  
  .ojdialog{
      text-align: justify !important;
  }
  
  .text-md{
      font-size: 70px !important;
      font-weight: 800;
  }
  
  .text-sm{
      font-size: 50px !important;
      font-weight: 800;
  }
  
  .padding-img{
      padding-top: 50px;
  }
  
  .container-desc-general-sm{
      width: 80vw;
  }
  
  .container-desc-general-md{
      width: 70vw;
  }
  
  .title {
      display: flex;
      align-items: center;
  }
  
  .title span {
      margin-left: 5px;
  }
  
  .title-size-sm{
      font-size: var(--title-size-sm);
      font-weight: var(--title-bold-sm);
  }
  
  .title-size-md{
      font-size: var(--title-size-md);
      font-weight: var(--title-bold-md);
  }
  
  .title-size-lg{
      font-size: var(--title-size-lg);
      font-weight: var(--title-bold-lg);
  }
  
  .subtitle-size-sm{
      font-size: var(--subtitle-size-sm);
  }
  
  .subtitle-size-lg{
      font-size: var(--subtitle-size-lg);
  }
  
  .width-img-sm{
      width: var(--width-img-sm);
  }
  
  .width-img-lg{
      width: var(--width-img-lg);
  }
  
  .height-img-sm{
      height: var(--height-img-sm);
  }
  
  .height-img-lg{
      height: var(--height-img-lg);
  }
  
  .border-img{
      border-radius: 10px;
  }
  
  .eslogan-text-lg{
    font-size: 25px;
    font-weight: 600;
    transform: translateX(-50%);
    position: relative;
    left: 50%;
    margin: 0;
  }
  
  .eslogan-text-sm{
    font-size: 18px;
    font-weight: 500;
    transform: translateX(-50%); 
    position: relative;
    left: 50%;
    margin: 0;
    padding: 10px 0;
  }

  .shadow{
    background-color: rgba(0, 0, 0, 0.08); /* Negro con 70% de opacidad */
  }

  .title-size-sub-lg{
    font-size: 30px;
    font-weight: 600;
  }

  .border-card {
    border-radius: 10px !important;
    text-align: center;
}

@keyframes jump {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
}

#img-map {
    animation: jump 2.5s ease infinite;
    animation-delay: 2s;
}

