html, body {
    height: 100%;
    margin: 0;
}
html{
    scrollbar-color:#7F4444 white;
}
body {
  font-family: sans-serif;
}
#viewport {
  width: 100%;
  height: 500px; /* or set to any desired height */
  border: 0px solid #7F4444;
  overflow: hidden;
  position: relative;
  margin-bottom: 10px;
}

#zoomableContent {
  position: absolute;
  transform-origin: 0 0;
  cursor: grab;
  width: 100%;
  height: 100%;
}

#zoomableContent:active {
  cursor: grabbing;
}

.content-box {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background: transparent;
}

    .controls {
      margin-top: 10px;
    }

    .controls button {
      padding: 8px 16px;
      font-size: 14px;
      margin-right: 5px;
      cursor: pointer;
      background-color:#7F4444;
      border-radius:4px;
      border:1px solid #7F4444;
    }
    .controls button:hover{
      box-shadow:5px 5px 5px #7F4444;
    }
#personProfile{
  padding-top:105px;
}


.nav-link {
    position: relative;
    color: #7F4444;
    transition: color 0.1s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    width: 0%;
    height: 3px;
    left: 50%;
    bottom: 0;
    background-color: #7F4444;
    transition: 0.1s ease;
    transform: translateX(-50%);
}

.nav-link:hover::after{
    width: 100%;
}
  body {
	    font: 10px sans-serif;
      width:100%;
	}
	.linage {
	    fill: none;
	    stroke: #7F4444;
	}
	.marriage {
	    fill: none;
	    stroke: #7F4444;
	}

  


#node{
    box-shadow:5px 5px 5px #7F4444;
    border:2px solid #7F4444;
}
.nodeText {
    display: inline-block;
    text-align: center;
    padding: 3px 1px;/* top and bottom & right and left */
    background-color: white;
    border: 1px solid #7F4444;
    border-radius: 5px; /* Stronger rounding */
    box-shadow: 0 2px 6px rgba(127, 68, 68, 0.25);
    font-size: 14px;
    color: #7F5757;
    width: 90px;              
    vertical-align: top;
    overflow: hidden;
    transform:scale(1.0);
}
.nodeText:hover{
  box-shadow:5px 5px 5px #7F4444;
  font-size:14px;
  transition-duration:.2s;
}



.nodeText img {
    width: 20px;
    height: 21px;
    border-radius: 50%;
    display: block;
    margin: 2px auto 2px auto;
    object-fit: cover;


    transform:scale(1.0);
    transition:transform 0.5s ease-in-out;
}
.nodeText img:hover{
  transform:scale(1.4);
  box-shadow:5px 5px 5px #7F4444;

}



#headerLinks ul li a:hover{
  color:#7F4444;
}

#searchdynamic{
  margin:0 auto;
  width:450px;
}


/*
#searchDropdown{
    width: 80%; 
    left: 50%; 
    transform: translateX(-50%);

    border:1px solid red;
    list-style-type:none;
    position:absolute;
    z-index:3;
    padding:0;
    margin:0;
    
    background-color:#f8f9fa;

}
    */
#footer{
  color:#7F4444;
  font-size:10px;
  padding-bottom:5px;
}
#intro_ai_link,#intro_list_and_tree{
  color:#7F4444;
  text-decoration-color:#7F4444;
}
#main_page{
  padding-top:60px;
}








fieldset{
    border: 3px solid #7F4444;      /* Show border */
    padding: 1rem;               /* Add spacing inside */
}
#searchOption{
    background: none; 
    border: none; 
    padding: 8; 
    cursor: pointer;
}
/* Styling for tree search link */
#treeSearch {
  color: blue;
  text-decoration: underline;
  border-radius: 0px;
}
#submitMessage-wrapper{
  display:flex;
  justify-content:center;
  align-items:center;
  padding-top:110px;
  padding-bottom:470px;
}
#submitMessage{
  border:2px solid #7F4444;
  border-radius:10px;
  background-color:#ffffff;
  padding:15px;
}
#submitMessage-img{
  margin:auto;
}
#submitMessage-title{
  margin:auto;
  color:black;
  font-weight:bold;
  font-size:2.5rem;
  padding-bottom:10px;
}
#submitMessage-message{
  margin:auto;
  color:gray;
  text-align:center;
  font-size:2rem;
  line-height:2.5rem;
}
#submitMessage-button{
  margin:auto;
  margin-top:10px;
  font-size:15px;
  min-width:200px;
}
#submitMessage-button button{
  padding:15px;
  color:white;
  background-color:#7F4444;
  border-radius:7px;
}

#submitMessage-button button:hover{
  box-shadow:5px 5px 5px #7F4444;
}

/* Chatbox */
#statusBar{
  color:black;
  font-weight:normal;
  height:2rem;
  line-height:2rem;
  font-size:1.5rem;
  padding: 0 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
  background-color:white;
}
#statusBar div:hover,#statusBar div:active{
  color:#7F4444;
}

#home{
  background: url('../img/home-bg5.png') repeat-y center top;
  background-attachment: scroll;
  background-size: cover;
}
#sectionTitle:hover,#sectionTitle:active{
  color:#7F4444;
}
#chat-box {
      width: 99%;
      width:259px;
      overflow-y:auto;
      height: 200px;
      padding: 10px;
      cursor:grab;
      background-color:white;
      border-top:1px solid #ccc;
      border-left:1px solid #ccc;
      border-right:1px solid #ccc;
}
#chat-box::-webkit-scrollbar-track{
  background:#7F4444;
} 
#chatbox-button{
  position:absolute;
  right:25px;
  bottom:50px;
  background-color:rgb(121,53,48);
  border-radius:50%;
  padding:10px;
}
#chatbox-button:hover{
  transform:scale(1.1);
  opacity:0.9;
}
#chatbox-button img:hover{
  transform:scale(1.1);
  opacity:0.9;
}

#chatbox-button img{
  width:35px;
  height:35px;
}
#header{
  display:flex;
  align-items:center;
  max-width:350px;
  padding: 20px 7px 7px;
  background-color: #73231b;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

#header #image{
  flex: 0 0 10%;
}
#header #text{
  flex:1;
  margin-left:15px;
}
#header #text #quickness{
  color:white;
  font-size:13px;
}
#header #text #message{
  font-size:20px;
  color:white;
  font-weight:bold;
}
#user_message{
  padding-top:15px;
  padding-left:15px;
  padding-bottom:15px;
  border-radius:6px;
  background-color:#EFF5F6;
}
#bot_message{
  display: flex;
  width: fit-content;       
  margin-left: auto;         
  padding-top:15px;
  padding-left:15px;
  padding-bottom:15px;
  padding-right:15px;
  border-radius: 6px;
  background-color: #7F4444;
  color: white;  
  background-color:#7F4444;
  margin-top:7px;

}
#chat-container{
  padding: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  border-radius: 10px;
  z-index: 9999;
  box-sizing: border-box;
}
#chatbox-bottom{
  width:259px;
  background-color:white;
  border-right:1px solid #ccc;
  border-left:1px solid #ccc;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding-bottom:10px;
  padding-left:5px;
}




#chatbox-bottom #question{
  background-color:#EFF5F6;
  border-radius:15px;
  padding-top:10px;
  padding-bottom:10px;
  margin-top:3px;
  padding-left:5px;
  width:85%;
  font-weight:bold;
  border:0;
}
#chatbox-bottom #question:hover{
    box-shadow:2px 2px 2px 2px #7F4444;

}
#chatbox-bottom #question:focus{
  outline:none;
  border:2px solid #7F4444;
}
#chatbox-bottom button{
  border:none;
  outline:none;
  padding:0px;
}
#chatbox-bottom img{
  padding:0px;
}
#input_search{
  position:relative;
}


#searchResult{
  /*background: url("../img/home-bg5.png");*/
  background:url("../img/searchResult.png");
  background-repeat:no-repeat;
  background-size:cover;
  width:100%;
}



#optionSearchResults{
  width:100%;
  display:flex;
  flex-direction: column;   
  align-items: center; 
  position:absolute;    
  z-index:11;
}

#optionSearchResult{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  width:40%;
  background:url("img/home-bg5.png") center/cover no-repeat;
  border-bottom:1px solid #7F4444;
  background-color:white;
  transform:translateX(20px);
}
#statistics_box{
  display:flex;
  justify-content:center;
  align-items:center;
  
}
#individuals{
  font-size:30px;
  transform:translateY(-50px);
  color:black;
}
#individuals div{
  text-align:center;
}
#families div{
  text-align:center;
}
#families{
  font-size:30px;
  color:black;
  transform:translateY(-50px);

}
#numberOfPeople,#numberOfFamilies{
  padding-top:15px;
  font-weight:bold;
  color:#F3E9D2;
}



#option{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  width: 100%;               /* or whatever length you want the border to be */
  background: url('img/home-bg5.png') center/cover no-repeat;
  border-bottom: 2px solid #7F4444;
}
#option:last-child{
    border-bottom:0px solid #7F4444;
}



#options{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding-top:15px;
}
#options div label{
  color:white;
  font-size:15px;
}





#input_search input{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.message { 
  margin: 5px 0; 
}
.user {
   font-weight: bold; color: black; 
}
.bot { 
  font-weight: bold; color: #7F4444; 
}

/* end of box */




#navbar{
  position:fixed;
  width:100%;
  z-index:5;
  height:60px;
}


/* dot pulse */
.dot-pulse {
  margin-left:200px;
  position: relative;
  left: -9999px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #7F4444;
  color: #7F4444;
  box-shadow: 9999px 0 0 -5px;
  animation: dot-pulse 1.5s infinite linear;
  animation-delay: 0.1s;
}
#brand:hover{
  color:#7F4444;
}


.dot-pulse::before, .dot-pulse::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #7F4444;
  color: #7F4444;
}
.dot-pulse::before {
  box-shadow: 9984px 0 0 -5px;
  animation: dot-pulse-before 1.5s infinite linear;
  animation-delay: 0s;
}
.dot-pulse::after {
  box-shadow: 10014px 0 0 -5px;
  animation: dot-pulse-after 1.5s infinite linear;
  animation-delay: 0.5s;
}

@keyframes dot-pulse-before {
  0% {
    box-shadow: 9984px 0 0 -5px;
  }
  30% {
    box-shadow: 9984px 0 0 2px;
  }
  60%, 100% {
    box-shadow: 9984px 0 0 -5px;
  }
}
@keyframes dot-pulse {
  0% {
    box-shadow: 9999px 0 0 -5px;
  }
  30% {
    box-shadow: 9999px 0 0 2px;
  }
  60%, 100% {
    box-shadow: 9999px 0 0 -5px;
  }
}
@keyframes dot-pulse-after {
  0% {
    box-shadow: 10014px 0 0 -5px;
  }
  30% {
    box-shadow: 10014px 0 0 2px;
  }
  60%, 100% {
    box-shadow: 10014px 0 0 -5px;
  }
}
