/* GENERAL CSS  ------------------------------------------------> */


/* Helpers */
.t-justify{ text-align:justify!important;}
.relative{position:relative;}
.fright{float:right;}
.fleft{float:left;}
.aright{text-align:right;}
.aleft{text-align:left;}
.center{text-align:center;}
.clear{width:100%; clear:both;}
.w100{width:100%!important; max-width:100%!important;}
.h100{height:100%;}
.w130{width:130%!important; max-width:130%!important;}
.fullwh{width:100%; height:100%;}
.mar5{margin:5px!important;}
.relative{position:relative!important;}
.no-pad{ padding:0px!important;}
.marri10{
	margin-right:10px;
}
.t-shadow{
	text-shadow: 0px 5px 10px rgba(33,33,3,0.3);
}
.b-shadow{
	box-shadow: 0px 5px 10px rgba(33,33,3,0.3);
}

/* Margins */
.martop5{margin-top:5px;}
.martop10{margin-top:10px;}
.martop15{margin-top:15px;}
.martop30{margin-top:30px!important;}
.martop50{margin-top:50px!important;}
.martop100{margin-top:100px;}
.martopnone{margin-top:0!important;}

.marbot15{margin-bottom:15px;}
.marbot30{margin-bottom:30px;}
.marbot50{margin-bottom:50px!important;}
.marbot100{margin-bottom:100px;}

.marle15{
	margin-left:15px;
}

/* Paddings */
.pad5{padding:5px;}
.pad10{padding:10px!important;}
.pad15{padding:15px;}
.pad30{padding:30px;}
.pad50{padding:50px;}

.padtop30{padding-top:30px;}
.padtop50{padding-top:50px;}
.padtop100{padding-top:100px;}
.padtop250{padding-top:250px!important;}
.padtop0{padding-top:0px!important;}

.padbot30{padding-bottom:30px;}
.padbot50{padding-bottom:50px;}
.padbot100{padding-bottom:100px;}
.padbot250{padding-bottom:250px!important;}

.padri30{padding-right:30px;}
.padri50{padding-right:50px;}

.padle10{padding-left:10px!important}
.padle30{padding-left:30px!important}
.padle50{padding-left:50px;}


/* Functional */
.grayish{font-size:12px; color:gray;}

/* - linkify */
.linkify{color:inherit; cursor:pointer;}
.linkify:hover{text-decoration:underline;}

/* - Hoverfy */
.hoverfy{opacity:0.7; cursor:pointer;}
.hoverfy:hover{opacity:1;}

/* - Grayscalefy */
.grayscalefy{-webkit-filter:grayscale(1); filter:grayscale(1);}
.grayscalefy-h{transition: all .3s ease-in-out;}
.grayscalefy-h:hover{-webkit-filter:grayscale(1); filter:grayscale(1);}

/* - Sepiafy */
.sepiafy{-webkit-filter:sepia(1); filter:sepia(1);}
.sepiafy-h{transition: all .3s ease-in-out;}
.sepiafy-h:hover{-webkit-filter:sepia(1); filter:sepia(1);}

/* - Blurify */
.blurify{-webkit-filter:blur(3px); filter:blur(3px); }
.blurify-h{transition: all .3s ease;}
.blurify-h:hover{-webkit-filter:blur(3px); filter:blur(3px);}

/* - Growify */
.growify {transform:scale(1.1);}
.growify-h{transition: all .2s ease-in-out;}
.growify-h:hover{transform:scale(1.1);}

/* Font sizes */
.f12{font-size:12px!important;}
.f14{font-size:14px!important;}
.f16{font-size:16px!important;}
.f18{font-size:18px!important;}
.f20{font-size:20px!important;}
.f22{font-size:22px!important;}
.f24{font-size:24px!important;}
.f26{font-size:26px!important;}
.f28{font-size:28px!important;}
.f30{font-size:30px!important;}
.f36{font-size:36px!important;}
.f40{font-size:40px!important;}
.f60{font-size:60px!important;}
.f80{font-size:80px!important;}
.f120{font-size:120px!important;}
.f160{font-size:160px!important;}

/* GENERAL ------------------------------------------------> */

.grayish{ font-size:12px; color:gray; margin-top:10px; }
.linkify{ color:inherit; cursor:pointer; }
.linkify:hover{ text-decoration:underline; }
.hoverfy{ opacity:0.7; cursor:pointer; }
.hoverfy:hover{ opacity:1; }
.fright{ float:right; }
.relative{ position:relative; }
.fleft{ float:left; }
.aright{ text-align:right; }
.aleft{ text-align:left; }
.center{ text-align:center; }
.clear{ width:100%; clear:both; }
.pad10{ padding:10px; }
.pad5{ padding:5px!important;}
.w100{ width:100%; }
.nomar{ margin:0!important;}
.f12{ font-size:12px;}
.mt4{margin-top: 4px;}
.nopad{padding:0!important;}
.shortpad{padding-left:5px; padding-right:5px;}
.fullwh{ width:100%; height:100%;}
.h100{height:100%!important;}

.extrapadding{
	padding-top:15px;
}
#logo h1 img{
	height:80px;
}
@media (max-width: 991px) {
	#logo h1 img{
		height:50px!important;
	}
	.verticallogoimg{
		display:none;
	}
}
.main-header .btn-mobile{
	top:25px!important;
}
.ribbon-frozen {
    color: #fff;
    display: inline-block;
    position: absolute;
    top: 25px;
    right: 5px;
    font-weight: 400;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    padding: 5px 10px;
    line-height: 1;
    font-size: 13px;
    z-index: 2;
	width:40px;
}
.ribbon-comingsoon {
    color: #fff;
    display: inline-block;
    position: absolute;
	top: 20px;
	left: -10px;
    font-weight: 400;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    padding: 5px 10px;
    line-height: 1;
    font-size: 13px;
    z-index: 2;
	width:75px;
}
.hours{
	margin-left:33px;
}
.fa-circle .green{
	color:green;
}
.fl-form select.fl-select{
	color:#495057;
}
.hidden{
	display:none;
}
.location-free-title, #location-free-amount{
	font-weight:bold!important;
}
.delivery_fee::before {
  content: none !important;
  display: none !important;
}
.delivery_fee{
	display:inline;
}

/* MODERN FORM SYSTEM ------------------------------------------------>
   Scoped to .modern-form so search, account and newsletter forms retain
   their existing design. The palette follows the site's established blue. */
.insert-form.modern-form{
	--form-accent:#1f6a9b;
	--form-accent-dark:#174f75;
	--form-ink:#25313a;
	--form-muted:#66737d;
	--form-border:#cbd6dd;
	--form-surface:#ffffff;
	--form-soft:#f5f8fa;
	box-sizing:border-box;
	width:100%;
	padding:clamp(24px,4vw,48px)!important;
	background:var(--form-surface)!important;
	border:1px solid rgba(31,106,155,.14)!important;
	border-radius:20px!important;
	box-shadow:0 18px 50px rgba(24,54,73,.10)!important;
	display:flex!important;
	flex-direction:column!important;
	gap:20px!important;
	text-align:left!important;
}
.modern-form *,
.modern-form *::before,
.modern-form *::after{box-sizing:border-box}
.modern-form .half-column,
.modern-form .full-column,
.modern-form .third-column{
	dis:grid!important;
	width:100%!important;
	gap:16px!important;
	margin:0!important;
}
.modern-form .half-column,
.modern-form .full-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.modern-form .third-column{grid-template-columns:repeat(3,minmax(0,1fr))}
.modern-form .half-column>span,
.modern-form .full-column>span,
.modern-form .third-column>span,
.modern-form .form-field,
.modern-form .row>[class*="col-"]{
	dis:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
	gap:8px!important;
	min-width:0;
	width:auto!important;
	margin:0!important;
	position:relative;
}
.modern-form .row{
	dis:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px!important;
	margin:0!important;
}
.modern-form .row>.col-sm-12{grid-column:1/-1}
.modern-form .field-label{
	dis:block!important;
	position:static!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	opacity:1!important;
	color:var(--form-ink)!important;
	font:600 13px/1.45 RocGrotesk,Lato,Arial,sans-serif!important;
	letter-spacing:.01em;
	pointer-events:auto!important;
	text-align:left!important;
	direction:ltr!important;
}
.modern-form .field-label.required::after{
	content:" *";
	color:#b24545;
}
.modern-form .select-element{
	dis:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
	gap:8px!important;
	width:100%!important;
}
.modern-form input:not([type="hidden"]):not([type="checkbox"]),
.modern-form select,
.modern-form textarea{
	dis:block!important;
	width:100%!important;
	max-width:100%!important;
	margin:0!important;
	border:1px solid var(--form-border)!important;
	border-radius:10px!important;
	background:var(--form-surface)!important;
	color:var(--form-ink)!important;
	box-shadow:0 1px 2px rgba(24,54,73,.03)!important;
	font:400 15px/1.45 RocGrotesk,Lato,Arial,sans-serif!important;
	transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
	outline:none!important;
	appearance:none!important;
	-webkit-appearance:none!important;
}
.modern-form input:not([type="hidden"]):not([type="checkbox"]),
.modern-form select{
	height:52px!important;
	min-height:52px!important;
	padding:0 15px!important;
}
.modern-form select{padding-right:42px!important;text-align:left!important;direction:ltr!important}
.modern-form textarea{
	min-height:140px!important;
	height:auto!important;
	max-height:none!important;
	padding:14px 15px!important;
	resize:vertical!important;
}
.modern-form input::placeholder,
.modern-form textarea::placeholder{color:#7d8992!important;opacity:1!important}
.modern-form input:hover,
.modern-form select:hover,
.modern-form textarea:hover{border-color:#9eb1bd!important}
.modern-form input:focus,
.modern-form select:focus,
.modern-form textarea:focus{
	border-color:var(--form-accent)!important;
	box-shadow:0 0 0 4px rgba(31,106,155,.13)!important;
	background:#fff!important;
}
.modern-form input:user-invalid,
.modern-form select:user-invalid,
.modern-form textarea:user-invalid,
.modern-form [aria-invalid="true"]{
	border-color:#b24545!important;
	box-shadow:0 0 0 3px rgba(178,69,69,.10)!important;
}
.modern-form .select-element::before{display:none!important}
.modern-form .select-element::after{
	content:""!important;
	position:absolute!important;
	right:17px!important;
	top:auto!important;
	bottom:22px!important;
	width:8px!important;
	height:8px!important;
	border:0!important;
	border-right:2px solid var(--form-accent)!important;
	border-bottom:2px solid var(--form-accent)!important;
	background:none!important;
	transform:rotate(45deg)!important;
	pointer-events:none!important;
	font-family:inherit!important;
}
.insert-form.modern-form .phone-combo{
	dis:grid!important;
	grid-template-columns:minmax(135px,180px) minmax(0,1fr)!important;
	align-items:end!important;
	gap:12px!important;
	width:100%!important;
	margin:0!important;
}
.modern-form .phone-combo .phone-code,
.modern-form .phone-combo .phone-number{
	dis:flex!important;
	flex-direction:column!important;
	gap:8px!important;
	width:auto!important;
	min-width:0!important;
	margin:0!important;
	flex:none!important;
}
.modern-form .checkbox{
	dis:flex!important;
	align-items:flex-start!important;
	gap:10px!important;
	margin:0!important;
	padding:2px 0!important;
	color:var(--form-muted)!important;
	font:400 13px/1.55 RocGrotesk,Lato,Arial,sans-serif!important;
	cursor:pointer!important;
}
.modern-form .checkbox input{
	dis:block!important;
	position:absolute!important;
	opacity:0!important;
	width:1px!important;
	height:1px!important;
	margin:0!important;
}
.modern-form .checkbox input+span{
	dis:block!important;
	position:relative!important;
	flex:0 0 20px!important;
	width:20px!important;
	height:20px!important;
	min-width:20px!important;
	margin:0!important;
	border:1.5px solid var(--form-border)!important;
	border-radius:5px!important;
	background:#fff!important;
	box-shadow:none!important;
	transform:none!important;
}
.modern-form .checkbox input+span::after{
	content:""!important;
	dis:block!important;
	position:absolute!important;
	left:6px!important;
	top:2px!important;
	width:6px!important;
	height:11px!important;
	border:solid #fff!important;
	border-width:0 2px 2px 0!important;
	transform:rotate(45deg) scale(0)!important;
	transition:transform .15s ease!important;
}
.modern-form .checkbox input:checked+span{
	border-color:var(--form-accent)!important;
	background:var(--form-accent)!important;
}
.modern-form .checkbox input:checked+span::after{transform:rotate(45deg) scale(1)!important}
.modern-form .checkbox input:focus-visible+span{box-shadow:0 0 0 4px rgba(31,106,155,.16)!important}
.modern-form button[type="submit"]{
	min-height:54px!important;
	width:100%!important;
	margin:4px 0 0!important;
	padding:14px 24px!important;
	border:1px solid var(--form-accent)!important;
	border-radius:10px!important;
	background:var(--form-accent)!important;
	color:#fff!important;
	box-shadow:0 8px 18px rgba(31,106,155,.20)!important;
	font:600 15px/1.3 RocGrotesk,Lato,Arial,sans-serif!important;
	letter-spacing:.01em!important;
	cursor:pointer!important;
	transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease!important;
}
.modern-form button[type="submit"]:hover{
	background:var(--form-accent-dark)!important;
	border-color:var(--form-accent-dark)!important;
	box-shadow:0 11px 24px rgba(31,106,155,.28)!important;
	transform:translateY(-1px);
}
.modern-form button[type="submit"]:focus-visible{outline:3px solid rgba(31,106,155,.28)!important;outline-offset:3px!important}
.modern-form button[type="submit"]:disabled{opacity:.62!important;cursor:not-allowed!important;transform:none!important}
.modern-form .sent_msg_black{margin:0!important;line-height:1.5}
#call-popup .modern-form>section{display:flex!important;flex-direction:column!important;gap:20px!important;width:100%!important}
#call-popup .modern-form>section>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
.property-form.modern-form{padding:22px!important;border-radius:14px!important;gap:16px!important;box-shadow:0 12px 32px rgba(24,54,73,.09)!important}
.property-form.modern-form .half-column,
.property-form.modern-form .phone-combo{grid-template-columns:1fr!important}
.property-form.modern-form textarea{min-height:120px!important}
@media (max-width:720px){
	.insert-form.modern-form{padding:24px 20px!important;border-radius:14px!important;gap:18px!important}
	.modern-form .half-column,
	.modern-form .full-column,
	.modern-form .third-column,
	.modern-form .row,
	.insert-form.modern-form .phone-combo,
	#call-popup .modern-form>section>div{grid-template-columns:1fr!important}
	.modern-form .row>.col-sm-12{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
	.modern-form *,
	.modern-form *::before,
	.modern-form *::after{scroll-behavior:auto!important;transition:none!important}
}
.add-options-item-to-cart{
	cursor:pointer;
}
.offerprice{
	margin-left:20px;
	display:inline-block;
}
.strikethrough{
	display:inline-block;
	text-decoration: line-through;
	color:red;
}
.fa.fa-spinner.fa-spin{
	margin-right:10px;
	display:none;
}
.pagination li a.btn{
	margin-right:5px;
	display:inline-block;
}
@media (min-width: 991px) {
	.table-responsive{
		overflow-x:scroll;
		-webkit-overflow-scrolling: touch;
		width: 100%;
		min-height:400px;
	}
	.custom-table > table {
	  min-width: max-content;        /* table can be wider than container */
	}
}
.listaction{
	cursor:pointer;
}
.fixed-loader{
	z-index:99999; background:white; position:fixed; top:0; left:0; right:0; bottom:0; opacity:0.7;
}
.fixed-loader-in{
	position:fixed; left:50%; margin-left:-50px; width:100px; height:100px; top:50%; margin-top:-50px;
}
.fixed-loader-in img{
	width:100%;
}
::placeholder {
  color: #dbdbdb!important;
}
.errormessage{
	color:red;
}
.errorborder{
	border:2px solid red!important;
	border-radius:6px!important;
}
.table-action a[disabled], .table-action span[disabled] {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none; /* prevents clicks */
  text-decoration: none;
}
.table-action a {
	color:var(--crms-dropdown-link-color);
}
/* Small, neat icon-only button */
.btn-icon-ai {
  width: 26px;
  height: 26px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.modal-dialog.modal-dialog-scrollable .modal-content { display:flex; max-height:calc(100vh - 2rem); }
.modal-dialog.modal-dialog-scrollable .modal-body { overflow-y:auto; flex:1 1 auto; }
.modal-dialog.modal-dialog-scrollable .modal-header, .modal-dialog.modal-dialog-scrollable .modal-footer { flex-shrink:0; }
/* Tiers table */
.tiers-table th, .tiers-table td { vertical-align: middle; }
.tiers-table input[type="number"]::-webkit-outer-spin-button,
.tiers-table input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tiers-help { font-size:.85rem; color:#6c757d; }
/* Impersonation floating button */
.impersonation-float {
   position: fixed;
   left: 18px;
   bottom: 18px;
   z-index: 1060; /* above most UI */
   display: flex;
   gap: 10px;
   align-items: center;
}
.impersonation-pill {
   padding: 10px 12px;
   border-radius: 999px;
   box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.badge-outline-default{
    border:1px solid grey;
    color:grey;
}
.progress-bar-success,.progress-bar-danger,.progress{
	display:none;
}
.alert.alert-success, .alert.alert-danger{
	right:auto!important;
}
.offcanvas-body .alert.alert-success, .offcanvas-body .alert.alert-danger{
	left:0;
	right:auto!important;
}

/* Default width */
  #offcanvas_add.offcanvas-resizable {
    --resizable-offcanvas-width: 1100px;
    width: var(--resizable-offcanvas-width);
    max-width: 95vw;
  }

  /* If Bootstrap/offcanvas-large sets width elsewhere, this helps override it */
  #offcanvas_add.offcanvas-end {
    width: var(--resizable-offcanvas-width);
  }

  /* Resize handle */
  #offcanvas_add .offcanvas-resize-handle {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    cursor: ew-resize;
    z-index: 1056;
    background: transparent;
  }

  /* Optional visible edge on hover */
  #offcanvas_add .offcanvas-resize-handle:hover::after,
  #offcanvas_add.resizing .offcanvas-resize-handle::after {
    content: "";
    position: absolute;
    top: 0;
    right: 2px;
    width: 3px;
    height: 100%;
    background: rgba(0,0,0,.12);
    border-radius: 2px;
  }

  /* Prevent ugly text selection while dragging */
  body.offcanvas-is-resizing {
    user-select: none;
    cursor: ew-resize;
  }

  /* Mobile: disable manual resize */
  @media (max-width: 991.98px) {
    #offcanvas_add.offcanvas-resizable {
      width: 100vw !important;
      max-width: 100vw !important;
    }

    #offcanvas_add .offcanvas-resize-handle {
      display: none;
    }
  }


  /* Lightbox overlay */
  #propimg-lightbox{
    position: fixed;
    inset: 0;
    z-index: 2000; /* above bootstrap modal (1055) */
  }
  .propimg-lightbox-backdrop{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.85);
  }
  .propimg-lightbox-inner{
    position: relative;
    height: 100%;
    width: 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 1rem;
    pointer-events: none; /* allow backdrop click except on controls */
  }
  .propimg-lightbox-inner > *{
    pointer-events: auto;
  }
  #propimg-lightbox-img{
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    border-radius: .5rem;
  }
  .propimg-lightbox-close{
    position: absolute;
    top: 12px;
    right: 12px;
  }
  .propimg-lightbox-prev,
  .propimg-lightbox-next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-decoration: none;
    font-size: 3rem;
    line-height: 1;
    opacity: .9;
  }
  .propimg-lightbox-prev{ left: 12px; }
  .propimg-lightbox-next{ right: 12px; }
  .propimg-lightbox-caption{
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    text-align: center;
    color: rgba(255,255,255,.85);
    font-size: .9rem;
    text-shadow: 0 1px 2px rgba(0,0,0,.6);
  }

  /* Make thumbs feel clickable */
  #property-images-grid .property-image-thumb img{
    cursor: zoom-in;
  }
.modalaction:hover{
	cursor:pointer;
}
.yellow{
	color:#d6d602;
}



/* Card polish + click-to-open */
.lead-card { cursor: pointer; user-select: none; transition: transform .12s ease, box-shadow .12s ease; }
.lead-card:hover { transform: translateY(-1px); }
.lead-card:focus { outline: 2px solid rgba(13,110,253,.25); outline-offset: 2px; }
.lead-subline { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.min-w-0 { min-width: 0; }

/* Drag handle */
.js-drag-handle { cursor: grab; }
.ui-sortable-helper .js-drag-handle { cursor: grabbing; }

/* Sortable placeholder */
.kanban-placeholder { height: 72px; border: 1px dashed rgba(0,0,0,.15); border-radius: .5rem; margin-top: .75rem; background: rgba(0,0,0,.02); }

/* Mini edit icon button */
.lead-edit-btn {
	border: 0;
	background: transparent;
	padding: 0;
	line-height: 1;
	color: rgba(33,37,41,.55);
}
.lead-edit-btn:hover { color: rgba(33,37,41,.9); }
.kanban-list-items{
	min-width:400px!important;
}
/* Grab-to-scroll for the horizontal kanban board */
.kanban-board-grab { cursor: grab; }
.kanban-board-grab.is-grabbing {
  cursor: grabbing;
  user-select: none;
}




.dropdown-submenu .submenu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    display: none;
}

.dropdown-submenu.show > .submenu {
    display: block;
}
.sidebar .sidebar-menu > ul > li ul li a i.ti-clock-hour-4{
	background:none;
	color:red;
}
.offcanvas-body{
	padding-bottom:100px!important;
}
.table-responsive{
	min-height:400px!important;
}


.sent_msg_black.error {
	color: #d00000 !important;
}

.sent_msg_black.success {
	color: #198754 !important;
}
