/* Outfit Thin (100) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-Thin.woff2') format('woff2'),
       url('/fonts/Outfit-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
}

/* Outfit ExtraLight (200) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-ExtraLight.woff2') format('woff2'),
       url('/fonts/Outfit-ExtraLight.woff') format('woff');
  font-weight: 200;
  font-style: normal;
}

/* Outfit Light (300) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-Light.woff2') format('woff2'),
       url('/fonts/Outfit-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

/* Outfit Regular (400) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-Regular.woff2') format('woff2'),
       url('/fonts/Outfit-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

/* Outfit Medium (500) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-Medium.woff2') format('woff2'),
       url('/fonts/Outfit-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
}

/* Outfit SemiBold (600) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-SemiBold.woff2') format('woff2'),
       url('/fonts/Outfit-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}

/* Outfit Bold (700) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-Bold.woff2') format('woff2'),
       url('/fonts/Outfit-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

/* Outfit ExtraBold (800) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-ExtraBold.woff2') format('woff2'),
       url('/fonts/Outfit-ExtraBold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
}

/* Outfit Black (900) */
@font-face {
  font-family: 'Outfit';
  src: url('/fonts/Outfit-Black.woff2') format('woff2'),
       url('/fonts/Outfit-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
}

body {
    font-family: 'Outfit', sans-serif;
    background-image: url('../assets/image/background.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

html {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.transition-bg {
    background-image: url('../assets/image/background.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

@keyframes swal2-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@media (max-width: 640px) {
    body {
        background-position: center top;
    }
}

/* animasi */
@keyframes breathing {
  0%, 100% {
    transform: scale(1);
    opacity: 0.95;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}

.breathing {
    animation: breathing 2.5s ease-in-out infinite;
}

@keyframes slideDown {
  0% { transform: translateY(-100px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes slideLeft {
  0% { transform: translateX(-100px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}

@keyframes slideRight {
  0% { transform: translateX(100px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}

@keyframes slideUp {
  0% { transform: translateY(100px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

.animate-slideDown {
  animation: slideDown 0.8s ease-out forwards;
}
.animate-slideLeft {
  animation: slideLeft 1s ease-out forwards;
}
.animate-slideRight {
  animation: slideRight 1s ease-out forwards;
}

.animate-slideUp {
  animation: slideUp 1s ease-out forwards;
}

/* tom select */

