
    #data 
    {
        margin: 0;
        width: 100%;
        display: block;
        transition: opacity 0.5s; /* Optional: Adds a smoother transition */
    }    
    
    .dots-container 
    {
        color: green;
        display: flex; 
        justify-content: space-between; 
        width: 100%; /* Adjust width as needed */
        position: relative; /* For positioning the line */
    }
    
    .dot-container 
    {
                margin: 0;
        width: 100%;
        position: relative;
        color: green;
        display: flex;
        flex-direction: column;
        align-items: left;
    }
    
    .dot 
    {
        color: green;
        width: 10px;
        height: 10px;
        background-color: green;
        border-radius: 50%;
        /* margin-bottom: 10px; */
        /* left: 0px; */ /* 7up */
        position: relative; /* To ensure the line goes behind the dots */
        z-index: 1; /* Ensure dots are on top of the line */
    }
    
    .dot-text {
        margin: 0;
        width: 100%;        
      font-size: 11px;
      float: left;
    }
    
    /* Add a horizontal line */
    .dots-container::before {
      content: '';
      /* position: absolute; */
      top: 5px;  /* Adjust based on dot size */
      /* left: 0; */
      right: 0;
      width: 100%;
      height: 2px; 
      z-index: 0; /* Ensure line is behind the dots */
      background: black;
    }
    
    .dot-wgt
    {
        color: #ffffff;
        width: 0px;
        min-width: 80px;
    }
    
    
    /* Width and position of line */
    .dline
    {
        
      position: relative;
      max-width: 750px;
      width: 100%;
      top: -2px;  
      margin-left: -120px;
      
    }    
    
   .dbox
    {
        /* position: absolute; */
        width: 320px;
        margin: auto;
        margin-left: 20px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }
    
    .dselect
    {
        position: relative;
        /* z-index: 1; */
    }        
    
    /* select your ecohitch... */
    .dtext
    {
        font-size: clamp(.8rem, 2vw, 1rem);
        position: relative;
        /* z-index: 9; */
        margin-bottom: 10px;
        /* font-size: 14px; */
        opacity: 1;
        color: #ffffcc;
    }
    
    .notice-text {
      position: relative; /* Position the text absolutely */
      bottom: 0; /* Align to the bottom */
      right: 0; /* Align to the right */
      padding: 5px; /* Optional padding for spacing */
    }  

    .box 
    {
        width: 550px;
        border: 1px solid #ccc;
    }

  .compartment {
    background-color: #ffffff;
    background-repeat: no-repeat;
    width: 100%; 
    /* width: 611px; */    
    height: 552px;    
    /* max-width: 611px;  */   
    max-height: 552px;      
    align-items: center;
    justify-content: center;
    /* border-bottom: 1px solid #ccc;*/ /* Divider line */
    font-size: 1.2em;
    display: flex; /* For centering content */
    flex-direction: column;
  }

  .compartment.top {
    background-image: url("https://torkliftcentral.com/custom/apps/tw-capacity/v5/img/bike-hitch-v6.jpg");
  }

  .compartment.bottom {
  margin: 0;
  height: 100px;
  border-bottom: none;   /* Remove divider from the last compartment */
  background-image: none;
  width: 100%;
  /* width: 611px; */
  display: flex;
  align-items: flex-start;   /* Align children to the top */
  justify-content: flex-start; /* Align children to the left (optional) */
  padding: 0;
}

.tw-range {
  width: 70%;
  margin-left: 5px;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  font-size: clamp(.8rem, 2vw, 1rem);
}

.tw-cell
{
    display: inline-block;
    width: 18%;
    padding: 0;
    /* background: yellow; */
}
        
.tw-dot
{
    display: inline-block;
    margin-top: -50px;
    width: 8px;
    height: 8px;
    background: green;
    border-radius: 50%;
    padding: 0;
}
        
.tw-measure
{
    font-size: clamp(.8rem, 2vw, 1rem);
    color: green;
}


.gline {
    width: 95%;
  position: relative; /* Establishes positioning context */
}

.gline::before {
  content: "";
  position: absolute;
  margin-top: 12px;
  margin-right: 5px;
  top: 30%; /* Vertically center, adjust as needed */
  left: 0;
  width: 100%;
  height: 1px; /* Thin line */
  background: green;
  z-index: 1; /* Places it behind all child elements */
}


/* Base styles: Mobile First (applies to all devices by default) */
body {
  /* Mobile styles here */
  
}

/* Mobile Portrait (common: up to 480px wide) */
@media only screen and (max-width: 480px) and (orientation: portrait) 
{
  /* Styles for mobile portrait */
  
   .dbox
    {
        width: 288px;
        margin: auto;
        margin-left: 30px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }  
  
  
    .tw-range 
    {
        /* background: #B4EDD2; */ /* green */
        width: 70%;
        font-size: clamp(.8rem, 2vw, 1rem);
    }   
}



/* Mobile Landscape (common: up to 767px wide, but wider than tall) */
@media only screen and (max-width: 767px) and (orientation: landscape) 
{
  /* Styles for mobile landscape */
   .dbox
    {
        width: 400px;
        margin: auto;
        margin-left: 70px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }  
  
    .tw-range 
    {
        /* background: #B4EDD2; */ /* green */
        width: 70%;
        font-size: clamp(.8rem, 2vw, 1rem);
    }     
  
}
  
  

/* Small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) 
{
  /* Styles for mobile phones */
  
    .tw-range 
    {
        /* background: #D0EDB4; */  /* pale green */
        width: 70%;
        font-size: clamp(.8rem, 2vw, 1rem);
    }  
    
    .gline::before 
    {
          margin-top: 10px;  
    }
  
}


/* Medium devices (tablets, 600px and up) */
@media only screen and (min-width: 600px) and (max-width: 767px) 
{
  /* Styles for larger phones and small tablets */
  
   .dbox
    {
        width: 400px;
        margin: auto;
        margin-left: 70px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }    
  
    .tw-range 
    {
        /* background: orange; */
        width: 500px;
        font-size: clamp(.8rem, 2vw, 1rem);
    } 
}




/* Tablets (iPad, 768px and up) */
@media only screen and (min-width: 768px) and (max-width: 991px) 
{
  /* Styles for tablets */
  
   .dbox
    {
        width: 400px;
        margin: auto;
        margin-left: 65px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }    
  
    .tw-range 
    {
        /* background: #EDB4D0; */ /* pink  */  
        width: 600px;
        font-size: clamp(.8rem, 2vw, 1rem);
    }   
  
}

/* Large devices (desktops, 992px and up) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  /* Styles for small desktops and laptops */
  
   .dbox
    {
        width: 400px;
        margin: auto;
        margin-left: 70px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }    
  
    .tw-range 
    {
        /* background: yellow; */
        width: 600px;
        font-size: clamp(.8rem, 2vw, 1rem);
    }     
  
}

/* Extra large devices (large desktops, 1200px and up) */
@media only screen and (min-width: 1200px) 
{
  /* Styles for large desktops */
  
   .dbox
    {
        width: 400px;
        margin: auto;
        margin-left: 80px;
        margin-top: 50%;
        padding: 20px;
        background: green; 
    }    
  
    .tw-range 
    {
        /* background: #FFFFE0; */ /* pale yellow */
        width: 600px;
        font-size: clamp(.8rem, 2vw, 1rem);
    }     
  
}
        
