:root {
  --color-primary: #1b325f;
  --color-primary-transparent: #1b325fdd;
  --color-secondary: #3a89c9;
  --color-accent: #f26c4f;
  --color-light: #e9f2f9;
  --color-highlight: #9cc4e4;
  --color-highlight-transparent: #9cc4e4aa;
}

.shadow-pop-tr {
  -webkit-animation: shadow-pop-tr 0.5s cubic-bezier(0.95, 0.04, 0.67, 0.52)
    both;
  animation: shadow-pop-tr 0.5s cubic-bezier(0.95, 0.04, 0.67, 0.52) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-1-19 16:17:59
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@-webkit-keyframes shadow-pop-tr {
  0% {
    -webkit-box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }

  100% {
    -webkit-box-shadow:
      1px -1px var(--color-secondary),
      2px -2px var(--color-secondary),
      3px -3px var(--color-secondary),
      4px -4px var(--color-secondary),
      5px -5px var(--color-secondary),
      6px -6px var(--color-secondary),
      7px -7px var(--color-secondary),
      8px -8px var(--color-secondary);
    box-shadow:
      1px -1px var(--color-secondary),
      2px -2px var(--color-secondary),
      3px -3px var(--color-secondary),
      4px -4px var(--color-secondary),
      5px -5px var(--color-secondary),
      6px -6px var(--color-secondary),
      7px -7px var(--color-secondary),
      8px -8px var(--color-secondary);
    -webkit-transform: translateX(-8px) translateY(8px);
    transform: translateX(-8px) translateY(8px);
  }
}

.shadow-pop-tr-hover:hover {
  -webkit-animation: shadow-pop-tr 0.1s ease-in-out both;
  animation: shadow-pop-tr 0.1s ease-in-out both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-1-19 16:17:59
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@-webkit-keyframes shadow-pop-tr-hover {
  0% {
    -webkit-box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }

  100% {
    -webkit-box-shadow:
      1px -1px var(--color-secondary),
      2px -2px var(--color-secondary),
      3px -3px var(--color-secondary),
      4px -4px var(--color-secondary),
      5px -5px var(--color-secondary),
      6px -6px var(--color-secondary),
      7px -7px var(--color-secondary),
      8px -8px var(--color-secondary);
    box-shadow:
      1px -1px var(--color-secondary),
      2px -2px var(--color-secondary),
      3px -3px var(--color-secondary),
      4px -4px var(--color-secondary),
      5px -5px var(--color-secondary),
      6px -6px var(--color-secondary),
      7px -7px var(--color-secondary),
      8px -8px var(--color-secondary);
    -webkit-transform: translateX(-8px) translateY(8px);
    transform: translateX(-8px) translateY(8px);
  }
}

@keyframes shadow-pop-tr-hover {
  0% {
    -webkit-box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }

  100% {
    -webkit-box-shadow:
      1px -1px var(--color-secondary),
      2px -2px var(--color-secondary),
      3px -3px var(--color-secondary),
      4px -4px var(--color-secondary),
      5px -5px var(--color-secondary),
      6px -6px var(--color-secondary),
      7px -7px var(--color-secondary),
      8px -8px var(--color-secondary);
    box-shadow:
      1px -1px var(--color-secondary),
      2px -2px var(--color-secondary),
      3px -3px var(--color-secondary),
      4px -4px var(--color-secondary),
      5px -5px var(--color-secondary),
      6px -6px var(--color-secondary),
      7px -7px var(--color-secondary),
      8px -8px var(--color-secondary);
    -webkit-transform: translateX(-8px) translateY(8px);
    transform: translateX(-8px) translateY(8px);
  }
}

.shadow-pop-tl {
  -webkit-animation: shadow-pop-tl 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) both;
  animation: shadow-pop-tl 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-1-19 16:23:11
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@-webkit-keyframes shadow-pop-tl {
  0% {
    -webkit-box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }

  100% {
    -webkit-box-shadow:
      -1px -1px var(--color-secondary),
      -2px -2px var(--color-secondary),
      -3px -3px var(--color-secondary),
      -4px -4px var(--color-secondary),
      -5px -5px var(--color-secondary),
      -6px -6px var(--color-secondary),
      -7px -7px var(--color-secondary),
      -8px -8px var(--color-secondary);
    box-shadow:
      -1px -1px var(--color-secondary),
      -2px -2px var(--color-secondary),
      -3px -3px var(--color-secondary),
      -4px -4px var(--color-secondary),
      -5px -5px var(--color-secondary),
      -6px -6px var(--color-secondary),
      -7px -7px var(--color-secondary),
      -8px -8px var(--color-secondary);
    -webkit-transform: translateX(8px) translateY(8px);
    transform: translateX(8px) translateY(8px);
  }
}

@keyframes shadow-pop-tl {
  0% {
    -webkit-box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    box-shadow:
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary),
      0 0 var(--color-secondary);
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }

  100% {
    -webkit-box-shadow:
      -1px -1px var(--color-secondary),
      -2px -2px var(--color-secondary),
      -3px -3px var(--color-secondary),
      -4px -4px var(--color-secondary),
      -5px -5px var(--color-secondary),
      -6px -6px var(--color-secondary),
      -7px -7px var(--color-secondary),
      -8px -8px var(--color-secondary);
    box-shadow:
      -1px -1px var(--color-secondary),
      -2px -2px var(--color-secondary),
      -3px -3px var(--color-secondary),
      -4px -4px var(--color-secondary),
      -5px -5px var(--color-secondary),
      -6px -6px var(--color-secondary),
      -7px -7px var(--color-secondary),
      -8px -8px var(--color-secondary);
    -webkit-transform: translateX(8px) translateY(8px);
    transform: translateX(8px) translateY(8px);
  }
}

.text-pop-up-top {
  -webkit-animation: text-pop-up-top 1s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: text-pop-up-top 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-1-22 14:8:14
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@-webkit-keyframes text-pop-up-top {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transform-origin: 30% 30%;
    transform-origin: 30% 30%;
    text-shadow: none;
  }
  100% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    -webkit-transform-origin: 30% 30%;
    transform-origin: 30% 30%;
    text-shadow:
      0 1px 0 var(--color-secondary),
      0 2px 0 var(--color-secondary),
      0 3px 0 var(--color-secondary),
      0 4px 0 var(--color-secondary),
      0 10px 10px var(--color-highlight-transparent);
  }
}
@keyframes text-pop-up-top {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transform-origin: 30% 30%;
    transform-origin: 30% 30%;
    text-shadow: none;
  }
  100% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    -webkit-transform-origin: 30% 30%;
    transform-origin: 30% 30%;
    text-shadow:
      0 1px 0 var(--color-secondary),
      0 2px 0 var(--color-secondary),
      0 3px 0 var(--color-secondary),
      0 4px 0 var(--color-secondary),
      0 10px 10px var(--color-highlight-transparent);
  }
}

.tracking-in-expand {
  -webkit-animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.61, 0.355, 1)
    both;
  animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-1-24 14:15:51
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@-webkit-keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

.flip-scale-2-ver-right {
  -webkit-animation: flip-scale-2-ver-right 0.5s linear both;
  animation: flip-scale-2-ver-right 0.5s linear both;
}
/* ----------------------------------------------
 * Generated by Animista on 2025-1-29 23:50:25
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation flip-scale-2-ver-right
 * ----------------------------------------
 */
@-webkit-keyframes flip-scale-2-ver-right {
  0% {
    -webkit-transform: translateX(0) rotateY(0) scale(1);
    transform: translateX(0) rotateY(0) scale(1);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  50% {
    -webkit-transform: translateX(50%) rotateY(-90deg) scale(2);
    transform: translateX(50%) rotateY(-90deg) scale(2);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  100% {
    -webkit-transform: translateX(100%) rotateY(-180deg) scale(1);
    transform: translateX(100%) rotateY(-180deg) scale(1);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
}
@keyframes flip-scale-2-ver-right {
  0% {
    -webkit-transform: translateX(0) rotateY(0) scale(1);
    transform: translateX(0) rotateY(0) scale(1);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  50% {
    -webkit-transform: translateX(50%) rotateY(-90deg) scale(2);
    transform: translateX(50%) rotateY(-90deg) scale(2);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  100% {
    -webkit-transform: translateX(100%) rotateY(-180deg) scale(1);
    transform: translateX(100%) rotateY(-180deg) scale(1);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
}

.scale-out-center {
  -webkit-animation: scale-out-center 0.25s
    cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: scale-out-center 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-1-30 0:12:18
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation scale-out-center
 * ----------------------------------------
 */
@-webkit-keyframes scale-out-center {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
  }
}
@keyframes scale-out-center {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
  }
}

.shadow-drop-2-center:hover {
  -webkit-animation: shadow-drop-2-center 0.2s
    cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: shadow-drop-2-center 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-2-3 17:20:39
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation shadow-drop-2-center
 * ----------------------------------------
 */
@-webkit-keyframes shadow-drop-2-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(50px);
    transform: translateZ(50px);
    -webkit-box-shadow: 0 0 20px 0px var(--color-highlight-transparent);
    box-shadow: 0 0 20px 0px var(--color-highlight-transparent);
  }
}
@keyframes shadow-drop-2-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(50px);
    transform: translateZ(50px);
    -webkit-box-shadow: 0 0 20px 0px var(--color-highlight-transparent);
    box-shadow: 0 0 20px 0px var(--color-highlight-transparent);
  }
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes popIn {
  from {
    opacity: 0;
    transform: scale(0.8) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes typing {
  0%,
  60%,
  100% {
    transform: translateY(0);
    opacity: 0.6;
  }
  30% {
    transform: translateY(-8px);
    opacity: 1;
  }
}

.slide-out-bck-center {
  -webkit-animation: slide-out-bck-center 0.5s
    cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: slide-out-bck-center 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53)
    both;
}

@-webkit-keyframes slide-out-bck-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(-1100px);
    transform: translateZ(-1100px);
    opacity: 0;
  }
}
@keyframes slide-out-bck-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(-1100px);
    transform: translateZ(-1100px);
    opacity: 0;
  }
}
