/* ------------------------- */

html {
  scroll-behavior: smooth;
}
/* ------------------------- */
#myBtn {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 20px; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 99; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    background-color: red; /* Set a background color */
    color: white; /* Text color */
    cursor: pointer; /* Add a mouse pointer on hover */
    padding: 15px; /* Some padding */
    border-radius: 10px; /* Rounded corners */
    font-size: 18px; /* Increase font size */
  }
  
  #myBtn:hover {
    background-color: #555; /* Add a dark-grey background on hover */
  }
/* ------------------------- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: 1s;
    font-family: "Platypi", serif;
    font-optical-sizing: auto;
    font-weight: 2px;
    font-style: normal;
}

.container-fluid img{
    width: 50px;
    height: 50px;
}
/* ------------------------- */
/* Loading */
.spinner-box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    z-index: 1;
    min-height: 100vh;
    position: fixed;
    background: #ffffff;
    top: 0;
    left: 0;
    transition: opacity 2.5s, visibility 5s;
}

.spinner--hidden {
    opacity: 0;
    visibility: hidden;
}

.spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 11.2px;
    height: 11.2px;
    border-radius: 11.2px;
    box-shadow: 28px 0px 0 0 rgba(71, 74, 255, 0.2), 22.7px 16.5px 0 0 rgba(71, 75, 255, 0.4), 8.68px 26.6px 0 0 rgba(71, 75, 255, 0.6), -8.68px 26.6px 0 0 rgba(71, 75, 255, 0.8), -22.7px 16.5px 0 0 #474bff;
    animation: spinner-b87k6z 1s infinite linear;
}
/* ------------------------- */
/* navbar */
.navbar {
  transition: background-color 0.5s ease;
}

/* CSS for smooth color transition on nav links */
.nav-link {
  transition: color 0.5s ease;
}
/* ------------------------- */
/* logo */
.logo{
    margin-left: 10px;
    margin-right: -10px;
    margin-bottom: 15px;
}
/* ------------------------- */
/* result */
#result-box {
  margin-top: 2rem;
}

.result-card {
  background: linear-gradient(135deg, #f0f8ff, #e6f7ff);
  border: 2px solid #00aaff;
}

.result-card .card-body {
  padding: 2rem;
}

#result {
  color: #007acc;
  font-size: 2.5rem;
}

@media (max-width: 768px) {
  #result {
    font-size: 2rem;
  }
}
/* ------------------------- */
/*  pic */
.detail {
  width: 100%; 
  max-width: 300px;
  height: 300px; 
  border-style: solid; 
  border-color: black; 
  text-align: center; 
  border-radius: 25px;
  margin-top: 60px;
}
.detail h2 {
  font-size: 1.4rem;
}
.detail h3 {
  font-size: 1rem;
}
.detail img {
  height: 125px; 
  width: 125px; 
  margin-top: 10px;
}
.detail img:hover {
  opacity: 0.5;
}
/* ------------------------- */
/* Comment */
.input-popup{
    font-size: 1.25rem;
    position: relative;
    --primary: #000000;
}
.input{
    all: unset;
    color: #000000;
    padding: 1rem;
    border: 1px solid #9e9e9e;
    border-radius: 10px;
    transition: 150ms cubic-bezier(0.4,0,0.2,1);
}
.label {
    position: absolute;
    top: 1rem;
    left: 1rem;
    color: #000000;
    pointer-events: none;
    transition: 150ms cubic-bezier(0.4,0,0.2,1);
}

.input:focus {
    border: 1px solid var(--primary);
}

.input:is(:focus,:valid) ~ label {
    transform: 
    translateY(-120%)
    scale(0.7);
    background-color: #ffffff;
    padding-inline: 0.3rem;
    color: var(--primary);
}
@keyframes spinner-b87k6z {
    to {
        transform: rotate(360deg);
    }
}
/* ------------------------- */
/* SLice */
.mySlides {display: none;}
img.mySlide {vertical-align: middle;}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
  display: flex; 
  justify-content: center; 
  align-items: center; 
  
}
/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
  .text {font-size: 11px}
  .slideshow-container {
    max-width: 90%;
  }
}

/* */
.detail {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  padding: 2rem;
  transition: transform 0.3s;
}

.detail:hover {
  transform: translateY(-10px);
}

.detail h2 {
  margin-top: 1rem;
  font-weight: 700;
  color: #007bff;
}

.detail h3 {
  font-weight: 500;
  color: #666;
}

.modal-header, .modal-footer {
  border: none;
}

.modal-content {
  border-radius: 12px;
}

.btn-close {
  background: transparent;
  border: none;
}

.btn-close:hover {
  background: #e0e0e0;
}

#showcomment {
  margin-top: 3rem;
}

.comment-item {
  position: relative;
  padding: 1.5rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  margin-bottom: 1rem;
  transition: transform 0.3s;
}

.comment-item:hover {
  transform: translateY(-5px);
}

.delete-button {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #ff4d4f;
  border: none;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
}

.delete-button:hover {
  background: #ff7875;
}

.list-group-item {
  border: none;
}
/* ------------------------- */