*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
html,body{
    width: 100%;
    background-color: #f3f4f7 !important;
}
.nav-wrapper{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 0;
    background-color: white;
    box-shadow: 0px 5px 18px -5px #CDD1E1;
    display: flex;
    align-items: center;
    z-index: 100;
}
.nav-wrapper .nav-inner-wrapper{
    width: 50%;
}
.nav-wrapper .nav-inner-wrapper-2{
    display: flex;
    flex-flow: wrap row;
    justify-content: flex-end;
}
.nav-inner-wrapper-2 .power-inner-display{
    width: 240px !important;
    margin-right: 16px;
	display: flex;
	flex-flow: wrap row;
	align-content: center;
    background-color: white !important;
    color: white;
    border-radius: 6px;
    border: 1px solid #d1d9e6;
    box-shadow: 0px 5px 18px -5px #CDD1E1;
}
.power-inner-display label{
    font-size: 1vw !important;
	margin: 0;
    letter-spacing: 0.3px;
    background-color: #36A2EB;
    width: 100%;
    text-align: center;
    padding: 4px 0;
    color: white;
    border-radius: 4px 4px 0px 0px;
    font-weight: 500;
}
.power-inner-display h4{
    width: 100%;
    color: #121331;
    background-color: #f0f5ff;
    text-align: center;
    font-size: 1.3vw;
    font-weight: 500;
    display: flex;
    flex-flow: wrap row;
    border-radius: 4px;
    justify-content: center;
    align-content: center;
    padding: 6px 0;
    margin: 0;
}
.nav-inner-wrapper-2 .power-inner-display-1{
    background-color: #36A2EB;
}
.nav-inner-wrapper-2 .power-inner-display-2{
    background-color: #4747A1;
}
.nav-wrapper img{
    width: 24%;
    margin: 0 30px;
}

.main-wrapper{
    width: 99%;
    margin: auto;
    display: grid;
    grid-template-columns: 20% 56% 24%;
    margin-top: 115px;
    background-color: #f3f4f7 !important;
    align-items: flex-start;
}
.main-wrapper .main-inner-wrapper{
    color: #121331;
}

.main-wrapper .main-inner-wrapper-1{
    display: flex;
    flex-flow: wrap row;
    justify-content: space-between;
    background-color: #f3f4f7;
    align-content: flex-start;
}
.main-inner-wrapper-1 .setting-btn{
    width: 48.5%;
    height: 172.6px;
    display: flex;
    flex-flow: wrap row;
    align-content: center;
    margin-bottom: 10px;
    box-shadow: 0px 5px 18px -5px #CDD1E1;
    border: 1px solid #d1d9e6;
    background-color: white;
    border-radius:6px;
    text-decoration: none;
    padding: 15px 20px;
}
.main-inner-wrapper-1 .setting-btn:hover,.setting-btn img:hover,.setting-btn label:hover{
    cursor: pointer;
}
.setting-btn img{
    width: 2.6vw;
}
.setting-btn label{
    width: 100%;
    display: block;
    margin-top: 25px;
    color: #353b41;
    font-size: 1.2vw;
    line-height: 25px;
    letter-spacing: 0px;
    font-weight: 600;
}

.weather-info {
    position: absolute;
    top: 10px;
    left: 24px;
  }

  .weather-info sup {
    font-size: 18px;
  }
  
  .weather-info .location {
    font-size: 20px;
    margin-bottom: 0;
  }
  
  .weather-info {
    position: absolute;
    top: 10px;
    right: 24px;
  }
  .weather-info h2{
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    margin-right: 10px;
  }
  
  .weather-info sup {
    font-size: 18px;
  }
  
  .weather-info .location {
    font-size: 20px;
    margin-bottom: 0;
  }
  .card{
    top: 8px;
    position: relative;
  }
  .card #moon{
    position: absolute;
    top: 12px;
    font-size: 1.5vw;
    right: 12px;
  }


.main-inner-wrapper-2 .cover_page-container{
    border: 1px solid #d1d9e6;
    border-radius: 6px;
    width: 142%;
    position: relative;
    margin-left: 10px;
    height: 200px;
    background-color: #DAE7FF;
    position: relative  !important;
    display: flex;
    flex-flow: wrap row;
    align-content: flex-start;
    /* background-image: url("./banner-5195494_1920.jpg");
    background-repeat: repeat;
    background-size: 100% auto;
    background-position: 120% 100%; */
    color: white;
    text-align: right;
    background-color: #DAE7FF;
    /* background-image: linear-gradient(#181C25,#3F4C5F); */
}
.cover_page-container h2{
    width: 100%;
    margin: 15px 20px 0px 20px;
    padding: 0;
    font-size: 1.5vw;
}
.cover_page-container .abs{
    position: absolute;
    z-index: 11;
    right: 40px;
    top: 0;
}
.cover_page-container p{
    width: 100%;
    font-size: 1.2vw;
    /* text-align: right; */
    margin: 0px 20px 0px 20px;
}
.cover_page-container img{
    width: 100%;
    height: 100%;
    border-radius: 8px;
    filter: brightness(100%);
    object-fit: cover;
    object-position: bottom left;
}
.cover_page-container .cover-title{
    width: 100%;
    display: flex;
    flex-flow: wrap row;
    justify-content: flex-end;
}
.cover-title label{
    width: 100%;
    display: block;
    text-align: right;
    margin: 6px 20px;
    font-weight: 500;
}

.main-inner-wrapper-3{
    display: flex;
    flex-flow: wrap row;
    justify-content: space-between;
    box-shadow: 0px 5px 18px -5px #CDD1E1;
    align-items: flex-start;
    border-radius: 6px;
    border: 1px solid #d1d9e6;
    margin-top: 212px;
    width: 100%;
}
.main-inner-wrapper-3 .site-wrapper{
    width: 100%;
    border-radius: 6px;
    background-color: white;
    /* border-top: 3px solid #31363F; */
    
}


/* .site-wrapper .site-inner-wrapper{
    display: flex;
    flex-flow: wrap row;
    justify-content: flex-start;
    align-content: flex-start;
} */
/* .site-inner-wrapper .site-data{
    width: 33.33%;
    height: 100px;
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-content: center;
    position: relative;
    border: 3px solid white !important;
    border-bottom: 0px !important;
    border-right: 0px !important;
} */
.site-data:hover,.site-data h3:hover,.site-data label:hover,.site-data h4:hover{
    cursor: pointer !important;
    z-index: 11;
    transition: 0.4s;
}
.site-inner-wrapper .bg-danger{
    background-color: #DC3545 !important;
}
.site-inner-wrapper .bg-warning label{
    color: bla;
}
.site-inner-wrapper .bg-success{
    background-color: rgb(0, 216, 0) !important;
}
.site-data h2{
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-content: center;
    position: absolute;
    top:0px;
    right: 0px;
    border-radius: 0px 0px 0px 4px;
    text-align: center;
    font-size: 1vw;
    width: 26px;
    font-weight: 700;
    height: 26px;
}
.site-data label{
    color: white;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1vw !important;
    letter-spacing: 0.4px;
    font-weight: 400 !important;
    line-height: 19px;
    margin-top: 5px;
}



.main-inner-wrapper-2 .nav{
    width: 98%;
    border-radius: 6px 6px 0px 0px;    
    border: 1px solid #d1d9e6;
    border-bottom: 0px solid white !important;
    margin: 12px auto 0px;
    font-weight: 400 !important;
    background-color: white !important;
}
.nav .nav-item{
    width: 25%;
}
.nav-item .nav-link{
    width: 100%;
    font-weight: 500 !important;
    color: #181C25 !important;
    font-size: 1vw;
    background-color: #f3f4f7;    
}
.nav-link i{
    margin-right: 4px;
}
.nav-item .active{
    border: 0px !important;
    border-bottom: 0px solid white !important;
    color: #181C25 !important;
}


/* .main-inner-wrapper-2 .graphic-wrapper{
    width: 96%;
    margin: 8px auto;
    background-color: white;
    padding: 0px 8px 8px 8px;
    display: flex;
    flex-flow: wrap row;
    justify-content: space-between;
    /* border: 0px solid #d1d9e6 !important; */
    /* border-top: 3px solid #31363F; */
 
.graphic-wrapper .graphic-inner-wrapper{
    width: 50%;
    background-color: white;
}
.graphic-inner-wrapper .graphic-title{
    /* padding: 1rem 1rem !important; */
    border-bottom: 1px solid #d1d9e6;
    display: flex;
    border-radius: 6px 6px 0px 0px;
    width: 100%;
    flex-flow: wrap row;
    align-items: center;
}
.graphic-title label{
    margin-left: 6px;
    font-size: 1.1vw !important;
    font-weight: 500;
    padding: 0 !important;
}
.graphic-title i{
    font-size: 1.1vw !important;
    align-self: center;
}
.graphic-inner-wrapper-2{
    display: flex;
    flex-flow:wrap row;
    justify-content: center;
    align-content: center;
}

.card-progress-box{
    width: 90%;
    margin: 20px auto;
}

.progress-item:not(:last-child) { margin-bottom: 25px; }



.progress-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.progress-title {
  color: #353b41;
  font-size: 1.1vw !important;
  font-weight: 500;
}

.progress-data {
  color: #121331 !important;
  font-weight: 500;
  font-size: 1.1vw !important;
}

.progress-bar {
  margin-top: 10px !important;
  width: 100%;
  height: 12px !important;
  background: hsl(225, 20%, 96%) !important;
  border-radius: 6px;
  overflow: hidden;
}

.progress {
  width: 80%; /* Default to 0% if the custom property isn't set */
  height: 100%;
  background: hsl(144, 62%, 53%); /* Main color */
  border-radius: 6px;
}

.env-wrapper{
    width: 96%;
    margin: auto;
    display: flex;
    flex-flow: wrap row;
    position: relative;
    justify-content: space-between;
}
.env-wrapper .env-inner-wrapper{
    width: 49%;
    box-shadow: 0px 5px 18px -5px #CDD1E1;
    border: 1px solid #d1d9e6;
    border-radius: 6px;
    /* border-top: 3px solid #31363F; */
    background-color: white;
}
.env-inner-wrapper .env-title{
    padding: 8px 15px;
    border-bottom: 1px solid #d1d9e6;
    display: flex;
    flex-flow: wrap row;
    align-items: center;
}
.env-title label{
    margin-left: 8px;
    font-weight: 500;   
    font-size: 1vw !important;
}
.env-title i{
    font-size: 0.9vw !important;
}
.carbon-wrapper{
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    position: relative;
    align-content: center;
}
.carbon-wrapper .carbon-inner-wrapper{
    margin: 2px 30px !important;
    width: 100%;
} 
.carbon-title{
    display: flex;
    flex-flow: wrap row;
    align-items: flex-end;
    position: absolute;
    left: 3px;
    bottom: 0px;
    width: 100%;
}.carbon-title h4{
 font-size: 1.3vw;
}
.carbon-title-2{
    display: flex;
    flex-flow: wrap row;
    align-items: flex-end;
    position: absolute;
    left: 100%;
    transform: translate(-100%,-50%);
    top: 50%;
    width: 50%;
}.carbon-title-2 h4{
 font-size: 2.2vw;
}
.carbon-title-2 .label{
width: 100%;
}
.carbon-inner-wrapper img{
    width: 90%;
    margin: 20px 0;
}

.carbon-title label{
    font-size: 15px;
    font-weight: 500;
    color: #31363F;
}
.carbon-title-2 label{
    font-size: 1vw;
    font-weight: 500;
    color: #31363F;
}
.carbon-inner-wrapper .label{
    font-size: 22px;
    color: #484f56;
    font-weight: 500;
}
.carbon-wrapper img{
    width: 100px;
}

.site-wrapper .site-title{
    padding: 8px 15px;
    border-bottom: 1px solid #d1d9e6;
    display: flex;
    flex-flow: wrap row;
    background-color:white;
    border-radius: 6px 6px 0px 0px;
    color:#181C25;
    /* border-top: 3px solid #31363F; */
    align-items: center;
}
.site-title label{
    margin-left: 8px;
    font-weight: 500;
    font-size: 1vw !important;
}

.site-wrapper .site-inner-wrapper{
    display: flex;
    flex-flow: wrap row;
    justify-content: space-between;
    background-color:white;
    padding: 5px 5px 3px;
    border-radius: 5px;
}
.site-inner-wrapper .site-data{
    width: 32.8%;
    height: 136px !important;
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-content: center;
    position: relative !important;
    border-bottom: 3px solid  white !important;
    filter: brightness(108%);
    border-radius: 4px;
}
.site-data label{
    position: absolute;
    top: 4px;
    left: 2px;
    padding: 1px 8px;
    width: 100%;
}
.site-data #solar-value{
    font-size: 1.7vw;
    margin-bottom: 0;
}
.carbon-title span{
    font-size: 0.9vw;
    font-weight: 600;
    position: relative;
    left: -5px;
}
.site-inner-wrapper .bg-danger{
    background-color: #DC3545 !important;
}
.site-inner-wrapper .bg-success{
    background-color:#4CBB17 !important;
}
.site-data {
    height: 124px !important;
}
.site-data h2{
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-content: center;
    position: absolute;
    top:calc(100% - 26px);
    right: 0px;
    border-radius: 4px;
    text-align: center;
    font-size: 0.9vw;
    background-color: #121331;
    width: 26px;
    color: white;
    font-weight: 700;
    height: 26px;
}
.site-data label{
    top: 0;
    color:#121331;
    font-weight: 500 !important;
    max-width: 100px;  
}


.main-inner-wrapper-2 .graphic-wrapper{
    width: 98%;
    margin: 0px auto 16px;
    display: flex;
    flex-flow: wrap row;
    justify-content: space-evenly;
    background-color: white;
    border-radius: 0px 0px 6px 6px;
    border-bottom: 1px solid #d1d9e6 !important;
    border-left: 1px solid #d1d9e6 !important;
    border-right: 1px solid #d1d9e6 !important;
    /* box-shadow: 0px 5px 18px -5px #CDD1E1; */
}
.graphic-wrapper .graphic-inner-wrapper{
    width: 47%;
    background-color: white;
}
.graphic-wrapper .graphic-inner-wrapper-1{
    border: 1px solid #d1d9e6;
    margin: 18px 0;
}
.graphic-inner-wrapper .graphic-title{
    padding: 31.2px 15px;
    background-color: #f3f4f7;
    display: flex;
    width: 100%;
    flex-flow: wrap row;
    align-items: center;
}

.graphic-inner-wrapper-2{
    border-radius: 0px 6px 6px 0px;
    display: flex;
    flex-flow:wrap row;
    justify-content: center;
    align-content: center;
}

.card-progress-box{
    width: 90%;
    margin: 26px auto;
}

.progress-item:not(:last-child) { margin-bottom: 25px; }



.progress-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.progress-title {
  color: #353b41;
  font-size: 0.844rem;
  font-weight: 500;
}

.progress-data {
  color: #484f56;
  font-size: 0.938rem;
}

.progress-bar {
  margin-top: 15px;
  width: 100%;
  height: 6px;
  background: hsl(225, 20%, 96%) !important;
  border-radius: 6px;
  overflow: hidden;
}

.progress {
  width: 80%; /* Default to 0% if the custom property isn't set */
  height: 100%;
  background: hsl(144, 62%, 53%); /* Main color */
  border-radius: 6px;
}

.env-wrapper{
    width: 98%;
    display: flex;
    flex-flow: wrap row;
    justify-content: space-between;
}
.env-wrapper .env-inner-wrapper{
    width: 49.5%;
    box-shadow: 0px 5px 18px -5px #CDD1E1;
    border: 1px solid #d1d9e6;
    border-radius: 6px;
    /* border-top: 3px solid #31363F; */
    background-color: white;
}
.env-inner-wrapper .env-title{
    padding: 8px 15px;
    border-bottom: 1px solid #d1d9e6;
    display: flex;
    flex-flow: wrap row;
    align-items: center;
}
.env-title label{
    margin-left: 8px;
    font-weight: 500;   
}
.carbon-wrapper{
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-content: center;
}
.carbon-wrapper .carbon-inner-wrapper{
    margin: 28px 0px 28px 30px;
}
.carbon-inner-wrapper .carbon-title{
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-content: center;
}
.carbon-title label{
    font-size: 15px;
    font-weight: 500;
    color: #31363F;
}
.carbon-inner-wrapper .label{
    font-size: 1.4vw;
    color: #484f56;
    font-weight: 500;
}
.carbon-wrapper img{
    width: 6vw;
    position: relative;
    left: 12%;
    top: 2%;
}





.card {
    width:100%;
    background: rgb(17, 4, 134);
    border-radius: 15px;
    /* box-shadow: rgb(0,0,0,0.7) 5px 10px 50px ,rgb(0,0,0,0.7) -5px 0px 250px; */
    display: flex;
    color: white !important;
    justify-content: center;
    position: relative;
    flex-direction: column;
    background: linear-gradient(to right, rgb(20, 30, 48), rgb(36, 59, 85));
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
    /* background: url('canva-7m_2XKW8bsI.jpg');
    background-repeat: no-repeat;
    background-size: cover;
     */
  }
  
  .time-text {
    font-size: 2.8vw;
    margin-top: 0px;
    margin-left: 25px;
    font-weight: 600;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
  }
  
  .time-sub-text {
    font-size: 15px;
    margin-left: 5px;
  }
  
  .day-text {
    font-size: 1.2vw;
    margin-top: 0px;
    margin-left: 25px;
    font-weight: 500;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
  }
  
  .moon {
    font-size: 1.2vw;
    position: absolute;
    right: 15px;
    top: 15px;
    transition: all 0.3s ease-in-out;
  }
  
  .card:hover > .moon {
    font-size: 23px;
  }
  

 /* Full-Screen Modal Styling */
.single-ins-dashboard {
    position: fixed; /* Use fixed instead of absolute for full-screen coverage */
    display: none;
    top: 0;
    left: 0;
    z-index: 1000; /* Ensure it's on top of everything */
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.698); /* Darker overlay for better focus */
    backdrop-filter: blur(5px); /* Add blur effect to the background */
    justify-content: center;
    align-items: center;
}

.single-ins-dashboard .close-btn {
    position: absolute;
    right: 10px;
    top: 15px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f3f4f7;
    display: flex;
    justify-content: center;
    align-items: center;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.single-ins-dashboard .close-btn:hover {
    background-color: #e0e0e0; /* Hover effect for close button */
}

.single-ins-dashboard .single-details {
    width: 90%;
    max-width: 800px; /* Limit maximum width for larger screens */
    height: auto;
    max-height: 90vh;
    background-color: #ffffff;
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); /* Add shadow for depth */
    overflow-y: auto; /* Enable scrolling if content exceeds height */
}

/* Title Section */
.single-details .single-title {
    position: relative;
    background: linear-gradient(135deg, #007bff, #0056b3); /* Gradient background */
    color: white;
    padding: 15px 20px;
    border-radius: 0px 0px 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.single-title label {
    font-size: 1.5rem;
    font-weight: 600;
}

.single-title a {
    color: white;
    font-weight: 600;
    text-decoration: none;
    margin-right: 10px;
    padding: 8px 12px;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.2); /* Semi-transparent background */
    transition: background-color 0.3s ease;
}

.single-title a:hover {
    background-color: rgba(255, 255, 255, 0.3); /* Hover effect */
}

/* Parameter Grid Layout */
.single-details .single {
    display: grid;
    grid-template-columns: auto auto auto; /* Responsive grid */
    gap: 10px;
    padding: 10px;
}

.single .single-electric {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.single-electric:hover {
    transform: translateY(-5px); /* Lift effect on hover */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* Add shadow on hover */
}

.single-electric label {
    font-size: 1.2vw;
    font-weight: 600;
    color: #333;
    margin-bottom: 0px;
}

.single-electric span {
    font-size: 1.5vw;
    font-weight: 600;
    color: #181C25; /* Highlight color for values */
    padding: 5px 20px;
    border-radius: 8px;
    display: inline-block;
}

/* Responsive Design */
@media (max-width: 768px) { /* Tablet and Mobile */
    .single-details .single {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Adjust grid for smaller screens */
    }

    .single-electric label {
        font-size: 1rem;
    }

    .single-electric span {
        font-size: 1.2rem;
        padding: 8px 16px;
    }
}

@media (max-width: 480px) { /* Mobile */
    .single-details .single {
        grid-template-columns: 1fr; /* Single column for small screens */
    }

    .single-title label {
        font-size: 1.2rem;
    }

    .single-title a {
        font-size: 0.9rem;
        padding: 6px 10px;
    }
}




.tabular-data{
    width: 100%;
    height: 100%;
}
.tabular-data .unique{
    border-top: 1px solid #d1d9e6;
    border-left: 1px solid #d1d9e6;
    border-bottom: 1px solid #d1d9e6;
}
.tabular-data table{
    width: 100%;
}

.tabular-data .energy-wrapper{
    border-right: 1px solid #d1d9e6;
}
.tabular-data table tr td{
    border: 1px solid #d1d9e6;
    width: 20%;
    text-align: center;
    font-size: 1.1vw;
    font-weight: 400;
    padding: 23.15px 5px !important;
}   

.tabular-data table tr sub::before{
    content: " ";
}

.tabular-data table tr .td{
    font-size: 1.1vw;
    font-weight: 600;
}
.tabular-data .load-wrapper .load-inner-wrapper{
    display: flex;
    width: 50%;
    float: left;
    text-align: center;
    padding: 6px 10px !important;
    font-weight: 500;
    border-right: 1px solid #d1d9e6;
    color: black;
}
.tabular-data .load-wrapper .load-inner-wrapper span
{
    width: 50%;
    text-align: left;
    line-height: 25px;
}
.load-inner-wrapper span:nth-child(1){
    font-weight: 500;
}
.load-inner-wrapper span{
    display: block;
    width: 100%;
}
.energy-wrapper span{
    background-color: #f3f4f7;
    display: flex;
    flex-flow: wrap row;
    align-items: center;
    /* border-right: 1px solid #d1d9e6; */
    border-top: 1px solid #d1d9e6;
    width: 100%;
    padding: 10px 14px;
    text-align: center;
    font-size: 1.1vw;
    float: left;
    font-weight: 600;
}
.energy-wrapper span i{
    position: relative;
    top: 2px;
}
.energy-wrapper span p{
    margin: 0 4px;

}


