.jumbotron {
    background-color:  #e5eef6; 
    border-radius: 0.3rem;      
    padding: 30px;             
    box-shadow: 0 4px 8px rgba(0,0,0,0.3); 
}

body {
    padding-top: 0px;
}

.navbar-brand {
    font-size: 30px;
}

.nav-item {
    font-size: 18px;
}

.alert-container {
    margin-top: 3px
}

.box {
    border: 2px solid #ddd;
    padding: 20px;
    margin: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

select, button, input{
    padding-left: 3px;
    padding-bottom: 3px;
}

h1, h2, h3 {
    color: #333;
}

/* Ensure table stays inside the card and add scrolls if overflow occurs */
.table-container {
    width: 100%;
    overflow-x: auto; 
    margin-top: 20px; 
    overflow-y: auto;
}

/* Style the table to fit inside the container */
.table {
    width: 100%;
    table-layout: auto;    /* Allow columns to size based on content */
    word-wrap: break-word; /* Prevent long text from overflowing */
    overflow-y: auto;
}

.table th, .table td {
    text-align: left; /* Align table text to the left */
    padding: 8px;     /* Add padding to the table cells */
    overflow-y: auto;
    border: solid 0.6px #777;
}

/* Table header row bottom border to be darker instead of grey */
thead tr th 
{
    border-bottom: 0.6px solid #777 !important;
}

.card {
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.card-body {
    overflow: hidden; /* Ensures the card body handles its content well */
}

.scrollable-dropdown {
    width: 150px;      
    height: 90px;     
    overflow-y: auto;  
    overflow-x: auto;  
    white-space: nowrap; 
  }

.scrollable-dropdown option {
    width: 150px;         
    overflow-x: auto; 
    white-space: nowrap;
}

.tab-box.concentration { background-color: #DECBE4; } 
.tab-box.solubility_stability { background-color: #FFE699; }  
.tab-box.transport { background-color: #CCEBCE; }              
.tab-box.interaction { background-color: #FCC8C4; } 

.tab-content { padding: 3px; }

.tab-box {
    padding: 9px;
    padding-bottom: 20px;
    border-radius: 8px;
    margin-right: 9px;
    margin-left: 9px;
    color: #000;
    cursor: pointer;
    text-align: center;
    width: 300px;
    height: 210px;  
    font-size: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.51); 
}  

.tab-box:hover 
{
    box-shadow: 0 7px 8px rgba(0, 0, 0, 0.51)
}

.tab-box.active 
{
    box-shadow: 0 7px 8px rgba(0, 0, 0, 0.51);
}

.logo-container 
{
    text-align: center;
}

.logo 
{
    width: 50vw;      /* 50% of the viewport width */
    max-width: 200px; /* max size so it doesn't get too big on large screens */
    height: auto;     /* maintain aspect ratio */
}

/* Desktops and larger */
@media (min-width: 1800px) 
    {
    .container, container-fluid 
    {
        max-width: 90%; 
    }
    .tab-box 
    {
        padding: 9px;
        padding-bottom: 20px;
        border-radius: 3px;
        margin-right: 9px;
        margin-left: 9px;
        color: #000;
        cursor: pointer;
        text-align: center;
        width: 300px;
        height: 189px;  
        font-size: 15px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.51); 
    }
    .logo 
    {
        width: 60vw;      /* 60% of the viewport width */
        max-width: 270px; /* max size so it doesn't get too big on large screens */
        height: auto;     /* maintain aspect ratio */
    }   
}

/* * {
    outline: 1px solid red;
  } */