/* custome css Start  */

/* new root  */

:root {
  --Black: #000000;
  --White: #ffffff;
  --BlackOlive: #3b3c3c;
  --AliceBlue: #f1f4ff;
  --NewGreen: #50ac81;
  --NewRed: #fb6f7d;
  --EvaGreen: #39f6a3;
  --Red: #eb041a;
  --Green: #119f5c;
  --LinkColor: #08a3e9;
  --ThemeColor: #090446;
  --ThemeColorTwo: #0a0737;
	--ThemeFont:  "Poppins", sans-serif;
	--ThemeFontTwo:  "Poppins", sans-serif;
  --CardShadow: 0px 4px 11px rgba(217, 216, 216, 0.6);
	--Radius: 8px;
}


/* z-index classes start */
.z_n1 {
  z-index: -1;
}
.z_0 {
  z-index: 0;
}
.z_1 {
  z-index: 1;
}
.z_2 {
  z-index: 2;
}
.z_3 {
  z-index: 3;
}
.z_4 {
  z-index: 4;
}
.z_max {
  z-index: 1040;
}
/* z-index classes End */

/* font weight class start */
.fw-bold {
  font-weight: bold;
}
.fw-semibold {
  font-weight: 700;
}
.fw-medium {
  font-weight: 500;
}
.fw-normal {
  font-weight: 400;
}
/* font weight class End */

/* cursor pointer  */
.cursor_pointer {
  cursor: pointer;
}
/* cursor pointer  */

/* color css start  */
.bg_AliceBlue {
  background: var(--AliceBlue) !important;
}
.text_AliceBlue {
  color: var(--AliceBlue) !important;
}
.text_danger {
  color: var(--Red) !important;
}
.text_success {
  color: var(--Green) !important;
}
.text_primary {
  color: var(--ThemeColor) !important;
}
/* no shadow  */
.shadow_0 {
  box-shadow: none !important;
}
/* line clamp css start  */



.lc_1 {
  display: -webkit-box !important;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lc_2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lc_3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* line clamp css End */

/* nav slider css start */
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav-link, 
.sidebar-wrapper .sidebar-menu > .nav-item:hover > .nav-link, 
.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link:focus,
.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link.active:not(:hover),
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav.nav-treeview > .nav-item:hover, 
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav.nav-treeview > .nav-item:hover > .nav-link, 
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav.nav-treeview > .nav-item:hover > .nav-link:focus {
    color: var(--ThemeColor); background: #dfe6ff;border-radius: 10px;
}
.sidebar-wrapper a, .sidebar-wrapper .nav-treeview > .nav-item > a.nav-link {color: var(--BlackOlive);}

.sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active, .sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active:hover, .sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active:focus {
    color: var(--ThemeColor); background: #dfe6ff;
}

/* nav slider css end */

/* css for logo (backend) */
.sidebar-brand .brand-link .brand-image {
    width: 100px;
    height: 55px;
}
/* css for logo (backend) */

/* css for table start */
.maxH_500 {
  max-height: 75vh;
  /* overflow-x: auto; */
}
/* table css start  */
table tr td {vertical-align: middle; font-size: 14px !important;}
table tr th { font-size: 12px !important; font-weight: 600 !important; color: #9b9b9b !important; min-width: 80px; }
table tr td h6 { font-size: 14px !important;}
thead.table-dark th {color: #fff !important;}
#comparePricesTable table tr th:first-child{min-width: 90px;}
/* table css start  */
 
 
.cust_dt tbody tr td span.td_description {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cust_dt tbody tr td {
  max-width: 250px;
}
 
@media (max-width: 1450px) {
  table tr th{min-width: 125px;}
  .maxH_500{overflow-x: scroll;}
}
@media (max-width: 576px) {
  .cust_dt tbody tr td span.td_description {
    min-width: 150px;
  }
}

/* custom primary button start */
.btn_primary {
  background: var(--ThemeColor);
  border: 1px var(--ThemeColor);
}

.btn_primary:hover {
  background: var(--ThemeColor) !important;
  border: 1px var(--ThemeColor) !important;
}

.btn_primary:disabled {
  background: var(--ThemeColor);
  border: 1px var(--ThemeColor);
}

.text_bg_primary {
  background: var(--ThemeColor);
  border: 1px var(--ThemeColor);
  color: #ffff;
}
.custom_border{
    border:1px solid var(--ThemeColor);
}

.custom_border:hover{
    border:1px solid var(--ThemeColor);
}
/* .custom_link{
    color: var(--EvaGreen);
} */

.card.card_outline {
  border-top: 3px solid var(--ThemeColor);
}

.badge_success {
  color: var(--Green);
  background-color: #d1e7dd;
  border: 1px solid #badbcc;
}

.badge_warning {
  color: #664d03;
  background-color: #fff3cd;
  border: 1px solid #ffeeba;
}

.badge_danger {
  color: var(--Red) !important;
  background-color: #f8d7da;
  border: 1px solid #f5c2c7;
}

.badge_secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border: 1px solid #d6d8db;
}

.custom_link {
  color: var(--ThemeColor);
}

.disabled-link {
    pointer-events: none;
    opacity: 0.5;
}


/* custom primary button end */

.mb-12px {
  margin-bottom: 12px;
}

input.parsley-success, select.parsley-success, textarea.parsley-success {
  color: var(--bs-body-color) !important;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
}

/**
 * Corner Ribbon Component
 */
.corner-ribbon {
    position: absolute;
    top: -3px;
    left: -3px;
    height: 5.5em;
    width: 5.5em;
    padding: 8px;

    .cr-inner {
        position: absolute;
        inset: 0;
        background: var(--Green);
        color: white;
        border-radius: 16px 8px 0 8px;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }
      
    .cr-text {
        display: block;
        font-weight: bold;
        font-size: .8em;
        line-height: 1.3;
        transform: rotate(-45deg) translateY(.1em) translateX(-1.8em);

        strong {
            display: block;
            font-weight: normal;
            text-transform: uppercase;
        }
    }
}

.ck-editor__editable_inline{
    min-height:480px;
    max-height:480px;
    overflow:auto;
}

.dropzone {
  border: 2px dashed rgba(0, 0, 0, 0.3) !important;
  border-radius: 8px;
}

.dz-progress {
  display: none !important;
}

/* for remove icon */
.dz-remove {
  position: absolute;
  top: -5px;
  right: -5px;
  color: var(--bs-white);
  background: var(--Red);
  border-radius: 50%;
  font-size: 22px !important;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease-in-out;
}

/* .dz-remove:hover {
    background: var(--bs-danger);
    color: #fff;
    transform: scale(1.1);
} */
.dz-preview .dz-image img {
  width: 100% !important;
  height: 100% !important;
}
.dz-preview {
  position: relative;
}

.dz-message{
    width: 100%;
    text-align: center;
}

.dropzone .dz-preview .dz-remove {
  z-index: 999;
  /*cursor: pointer !important;*/
}

.dropzone-cursor-default .dropzone.dz-clickable {
  cursor: default !important;
}

.dz-image a.glightbox img {
  cursor: pointer;
}

.dropzone.dz-clickable .dz-preview .dz-remove, .dropzone.dz-clickable .dz-preview .dz-remove i  {
  cursor: pointer !important;
}

.dz-preview:hover img {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.dz-details {
  display: none;
}

/* For all browsers (Chrome, Safari, Edge, Firefox) */
.input-number-appearance-none {
  -webkit-appearance: none; /* Chrome, Safari, Edge */
  appearance: none; /* Standard */
  -moz-appearance: textfield; /* Firefox */
}
.input-number-appearance-none::-webkit-inner-spin-button, .input-number-appearance-none::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Spinner css customisation */
#spinner-loader-container { background-color: rgba(0,0,0,0.5); display:inline-block; position: fixed; width: 100%; left: 0; right: 0; bottom: 0; top: 0; z-index: 1075; display: none; }
.spinner-border{ width: 3rem; height: 3rem; color: var(--ThemeColor) !important; }
.spinner-loader { font-size: 20px; width: 10rem; height: 10rem; position: absolute; top: calc(50% - 80px); left: calc(50% - 80px); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Spinner css customisation */

.truncate-one-line {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.truncate-two-lines {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 200px;
}

.navbar_active{
  font-weight: bolder;
}

.brand-image {
  max-height: 50px !important;
  height: auto !important;
  width: auto !important;
  object-fit: cover !important;
}

.ui-w-80 {
    width: 80px !important;
    height: auto;
}

.custom_size{
  font-size: 14px;
}

.gslide-media.gslide-image {
    transform: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.gslide-media.gslide-image img {
    transform-origin: center center !important;
}

.preview-image {
    cursor: zoom-in;
}

.card-img-top.preview-image.custom-preview
{
    max-width: 100%;      /* don’t let it overflow card width */
    max-height: 35vh;    /* limit height */
    height: auto;         /* keep aspect ratio */
    width: auto;          /* let browser scale naturally */
    object-fit: contain;  /* ensures no distortion, fits inside box */
    /*border: 1px solid #ccc;
    border-radius: 8px;*/
    display: block;
    margin: 0 auto;      
}

.mw-20 {
  min-width: 20% !important;
}

.w-90 {
  width: 90% !important;
}

.bottom-2px {
    bottom: 2px !important;
}

.bottom-3px {
    bottom: 3px !important;
}

.left-10px {
    left: 10px !important;
}

.img_div_fixed{
  position: sticky;
  width: 100%;
  top: -16px;
  z-index: 99; background: #fff; padding: 5px; border-radius:10px; border-top-left-radius:0px ; border-top-right-radius: 0px 
}

/*.img_div_fixed img{ max-width:45vw !important }*/

/*.cust_owl_slider{max-height: 36vh; overflow: hidden;}*/
/*.cust_owl_slider img {height: 300px !important}*/

.owl-carousel {
    position: relative; 
}

.cust_owl_slider .owl-prev, .cust_owl_slider .owl-next 
{
    position: absolute;
    top: calc(50% - 20px); 
    transform: translateY(-50%);
    font-size: 50px !important;
    line-height: 1 !important;
    height: 40px;
    width: 40px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    z-index: 10;
    background-color: #fff !important;
}
.cust_owl_slider .owl-dots{ display:none !important }
.cust_owl_slider .owl-prev:hover, .cust_owl_slider .owl-next:hover{
    /*background-color: transparent !important;*/ color: var(--ThemeColor) !important;
} 
.cust_owl_slider .owl-prev { left: 10px !important; }
.cust_owl_slider .owl-next { right: 10px !important; }
.overflow_200{ max-height: 215px; overflow: auto; }

/* Default cursor for carousel zoomable images */
.plan-container .owl-carousel .preview-image, .plan-container .preview-image {
  cursor: grab !important;
}

/* While actively dragging */
.plan-container .owl-carousel .preview-image:active {
  cursor: grabbing !important;
}

.readonly-input { cursor: not-allowed; pointer-events: none; opacity: 0.94; background-color: #f8f9fa !important; }
.readonly-input:hover{ cursor: not-allowed; }
.readonly-radio { cursor: not-allowed; pointer-events: none; opacity: 0.94; }

.page-link.active, .active > .page-link {
    background-color: var(--ThemeColor);
    border-color: var(--ThemeColor);
    color: var(--bs-pagination-hover-bg);
}

.page-item.active .page-link:hover {
    color: var(--bs-pagination-hover-bg);
}

.page-link, .page-link:hover {
    color: var(--ThemeColor);
}

.page-link:focus {
    /*box-shadow: var(--bs-pagination-focus-box-shadow);*/
    box-shadow: 0 0 0 0.25rem rgb(7 2 71 / 29%);
}

.estimation-form .estimate-table th{
  min-width: 150px;
  width: 150px;
}

.estimation-form .estimate-table th:first-child{
  min-width: 220px;
  width: 220px;
}

.estimation-form .estimate-table .mw-20 {
    min-width: 20% !important;
    width: 23% !important;
}

.estimation-form .estimate-table .mw-48 {
    min-width: 45% !important;
    width: 48% !important;
}

.list-group-item.active {
    background-color: var(--ThemeColor);
    border-color: var(--ThemeColor);
}

.external-link-btn 
{
    content: "";
    width: 14px;
    height: 14px;
    background-image: url("/assets/theme/img/open-external-link.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}

.external-link-btn:hover {
    color: var(--bs-btn-close-color);
    text-decoration: none;
    opacity: var(--bs-btn-close-hover-opacity);
}

/* select2 css Start  */
.max_select_div .select2-container .select2-selection--single{max-width: 150px;}
/* select2 css Start  */

/* table proceesing color start */
div.dataTables_processing>div:last-child>div {
  background: var(--ThemeColor) !important;
}
/* table proceesing color start */
 
#spinner-loader-container .spinner-border{color: var(--ThemeColor) !important;}

.form-check-input:checked {
    background-color: var(--ThemeColor) !important;
    border-color: var(--ThemeColor) !important;
}

.link-info {color:var(--ThemeColor) !important;}

table.dataTable {
    width: 100% !important;
}

.badge .parsley-errors-list {
    font-size: 11.8px;
    line-height: 11.34px;
    font-weight: var(--bs-body-font-weight);
}

.estimation-form .estimate-table .parsley-errors-list {
    margin-top: 0.5rem !important;
}

.estimation-form .estimate-table input.parsley-error, select.parsley-error, textarea.parsley-error {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
}

/*.estimation-form .estimate-table {
  Highlight Select2 when Parsley adds validation error 
  select.parsley-error + .select2 .select2-selection {
      color: #B94A48;
      background-color: #F2DEDE;
      border: 1px solid #EED3D7;
  }

  Optional: on hover/focus keep the error color 
  select.parsley-error + .select2 .select2-selection:focus,
  select.parsley-error + .select2 .select2-selection:hover {
      border: 1px solid #EED3D7;
      background-color: #F2DEDE;
  }
}*/

.register_btn,
#submit_login_info,
.send_reset_link {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.register_btn:hover,
.send_reset_link:hover,
#submit_login_info:hover {
    color: white;
    transform: scale(1.01);
}
/* Remove arrows (spinners) in Chrome, Edge, Safari */
input.input-type-phone-appearance::-webkit-inner-spin-button,
input.input-type-phone-appearance::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove arrows in Firefox */
input.input-type-phone-appearance {
    -moz-appearance: textfield;
}

table.dataTable td.dt-numeric {
  text-align: right !important;
}

.navbar-nav > .user-menu .user-image {
    margin-top: 2%;
}

/* scroll container */
.estimate-scroll {
    max-height: 455px;  /*455px adjust as needed */
    overflow-y: auto;
    position: relative;
    z-index: 99;
}

/* FIX the main header */
.estimate-scroll thead.estimation-header th {
    position: sticky;
    top: 0;
    z-index: 50;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: var(--ThemeColor);
}

.nav-pills .nav-link, .nav-tabs .nav-link {
    color: var(--ThemeColor);
    transition: color 0.25s ease, transform 0.2s ease;
}

.nav-pills .nav-link:hover, .nav-pills .nav-link:focus {
    color: #050130;
    transition: background-color 0.25s ease, color 0.25s ease;
    background-color: rgba(5, 1, 48, 0.08);
    transform: translateY(-1px);
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--ThemeColor);
}

.dt-srno {
    white-space: nowrap;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
}

.dt-color-column {
    white-space: nowrap;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
}
.dt-glass-type-column {
    white-space: nowrap;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
}
.dt-ellipsis {
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
table.dataTable {
    table-layout: fixed !important;
}

/* project status filter  */
.status-filter-container #projectTable_filter {
    display: flex !important;
    align-items: center !important;
    gap: 10px; /* space between search & dropdown */
}


.status-filter-container #statusFilter {
    min-width: 140px;
}

.form-color-input-full-width {
  width: 100%;
}

.price-color-container {
  width:100%; height:20px; border-radius:4px;
  border:1px solid #ccc;
}

.price-color-options-template {
  border-radius:50%;
  border:1px solid #ccc;
  display: inline-block;
  margin-right: 5px;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

.minwidth-50 {
    min-width: 50px !important;
}

/*
.image-card {
    display: flex;
    flex-direction: column;
}
*/

.scale-container {
    margin-top: auto !important;
}

.lensMagnify {
  position: absolute;
  width: 200px;
  height: 200px;
  border: 5px solid #fff;
  border-radius: 5%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 9999;
  background-color: #fff;
}

/* 
  **** Plans Images Schedule PopUp Modal CSS ****
*/

/* Modal body height fixed */
#imageModal .modal-body {
    height: 75vh;
    background: #ffffff;
    padding: 0;
    overflow: hidden;
}

/* Carousel full height */
#imageModal #carouselExampleControls,
#imageModal #carouselExampleControls .carousel-inner,
#imageModal #carouselExampleControls .carousel-item {
    height: 100%;
}

/* Image frame (NO vertical padding) */
#imageModal .image-frame {
    width: 100%;
    height: 100%;
    padding-left: 90px;   /* space for prev button */
    padding-right: 90px;  /* space for next button */
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Image always fully visible */
#imageModal .image-frame img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Navigation buttons */
#imageModal .custom-nav {
    width: 70px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: rgba(0,0,0,0.12);
}

#imageModal .carousel-control-prev.custom-nav { left: 0; }
#imageModal .carousel-control-next.custom-nav { right: 0; }

/* =========================== RESPONSIVE (MOBILE) =========================== */
@media (max-width: 768px) {

    #imageModal .modal-body {
        height: 65vh;
    }

    .image-frame {
        padding-left: 60px;
        padding-right: 60px;
    }

    .carousel-control-prev.custom-nav,
    .carousel-control-next.custom-nav {
        width: 50px;
    }
}

/*.quotation-data-container .planTabPanes.tab-pane, .estimationTabPane .tab-pane 
{
    min-height: 640px;
}*/

.quotationTabContent .estimate-scroll
{
    max-height: 250px;
}

.mw_100{min-width: 100px !important;}
.compare-row .maxw_150 .slect2-mod.selectBtn{max-width: 150px !important;}
.btn_success_light{background-color: #e6f7ee;color: #119f5c;border: 1px solid #119f5c;padding: 2px 6px;padding-bottom: 0;}
.btn_success_light:hover{background-color: #119f5c;color: #ffffff;border: 1px solid #119f5c;}
.btn_danger_light{background-color: #ffe6e9;color: #eb041a;border: 1px solid #eb041a;padding: 2px 6px;padding-bottom: 0;}
.btn_danger_light:hover{background-color: #eb041a;color: #ffffff;border: 1px solid #eb041a;}

.estimationTabPane .owl-stage-outer.owl-height
{
    min-height: 347.188px !important;
}