/* Overflow Hotfix */
html {
	overflow-x:hidden; 
}

.grecaptcha-badge { 
	visibility: hidden;
}

.annotationLayer .linkAnnotation > a, .annotationLayer .buttonWidgetAnnotation.pushButton > a {
	background: none !important;
}

.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap {
	margin-top: 3px;
}

.post-password-form {
	padding: 80px;
}

.testimonial-p {
	text-align: left !important;
}

b, strong {
  font-weight: 600;
}

hr {
	margin-top: 15px !important;
	margin-bottom: 15px !important;
}

.height-140 {
	min-height: 140px !important;
}

input[type="radio"] {
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: #222;
	width: 22px;
	height: 22px;
	border: 1px solid #aaa;
	border-radius: 50%;
	transform: translateY(-0.075em);
}

input[type="radio"]::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: none;
}

input[type="radio"]:checked::before {
	transform: scale(1);
}

input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0 5px 0 0 !important;
	font: inherit;
	color: #222 !important;
	width: 22px;
	height: 22px;
	border: 1px Solid #aaa !important;
	border-radius: 3px !important;
	transform: translateY(-0.075em);
	display: inline-grid !important;
	place-content: center;
}

input[type="checkbox"]::before {
	content: "";
	width: 0.75em;
	height: 0.75em;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	transform: scale(0);
	transform-origin: center center;
	transition: 120ms transform ease-in-out;
	box-shadow: none;
	background-color: #222;
}

input[type="checkbox"]:checked::before {
		transform: scale(1);
}

.select {
	border:1px solid #aaa;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-ms-appearance: none; /* get rid of default appearance for IE8, 9 and 10*/
}

select {
	display: inline-block;
	box-sizing: border-box;
	padding: 10px;
	border: 1px solid #eee;
	font: inherit;
	line-height: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background-repeat: no-repeat;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: right 15px top 1.4em, right 10px top 1.4em;
	background-size: 5px 5px, 5px 5px;
}

ul {
	margin-bottom: 20px;
}

h4, h5, h6 {
	margin-bottom: .3rem;
}

h2, h3 {
	margin-bottom: .7rem;
}

h1 {
	margin-bottom: 1.4rem;
}

ol {
	box-sizing: border-box;
	margin-bottom: 20px !important;
}

.wp-caption-text {
	padding: 10px;
	background-color: #eee;
}

ov-text {
	text-overflow: ellipsis;
}

.ov-text1 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--title_max-num-lines,2);
}

.ov-text2 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--title_max-num-lines,3);
}

.num-text {
	font-variant-numeric: tabular-nums;
}

input:focus {
	outline: none;
}

.hidden-text { 
	visibility: hidden; 
	opacity: 0; 
	transition: visibility 0s, opacity 0.5s; 
}

.csl ul, ol {
    padding-left: 15px;
    margin-left: 0;
    list-style-position: outside; /* Keeps the bullet or number outside the text */
}

.csl ol {
    counter-reset: list-counter;
    position: relative;
    padding-left: 0em;
		margin-top: 15px;
}

.csl ol li {
    counter-increment: list-counter;
    position: relative;
    list-style: none;
    padding-left: 1.5em; /* Ensure space for number */
}

.csl ol li::before {
    content: counter(list-counter) ".";
    position: absolute;
    left: 0;
    font-weight: bold; /* Make number bold */
		color: #333;
}

.csl ul li, ol li {
    padding-left: 0.1em; /* Adjust this value for desired indentation */
    text-indent: -1.em; /* Aligns text lines with the bullet or number */
}

.csl li {
    margin-bottom: 0px; /* Add 5px margin at the bottom of each list item */
}

.csl ul {
    list-style-type: none;
		margin-top: 15px;
}

.csl ul li::before {
    content: "-"; /* Replace bullet points with dashes */
    position: absolute;
    left: 0; /* Position the dash at the start of the line */
	  font-weight: normal; /* Make the dash bold */
}

.csl b, .csl strong {
  color: #222;
}

.csl h3, h4 {
    margin-top: 20px;
}

ol ::marker {
  font-variant-numeric: tabular-nums;
}

/* WooCommerce */

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
    border-radius: 10px;
    background-color: #fff;
	  border: none;
}

.elementor-18 .elementor-element.elementor-element-15b4f05 #payment #place_order:hover {
    background-color: #111;
}

.elementor-18 .elementor-element.elementor-element-15b4f05 .woocommerce #payment #place_order {
    color: #fff;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: #fff;
    border-radius: 10px;
}

.woocommerce-checkout #payment div.payment_box {
    background-color: #eee;
    color: #555;
}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: block;
    border: 1em solid #eee;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: -.75em;
    left: 0;
    margin: -1em 0 0 2em;
}

#select2-billing_state-container, #select2-billing_country-container {
    line-height: 1.9;
}

.woocommerce-Price-amount.amount {
    font-weight: 700;
}

.iti__selected-country {
    border-color: #aaa;
}

.iti__selected-country:hover {
    background-color: #aaa;
}

/* GLOBAL GRID FOR ALL CHECKBOX FIELDS IN ELEMENTOR FORMS */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 5px 5px;   /* row gap / column gap */
  align-items: center;
}

/* Ensure each checkbox option aligns properly */
.elementor-form .elementor-field-type-checkbox .elementor-field-option {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

/* Allow label wrapping */
.elementor-form .elementor-field-type-checkbox .elementor-field-option label {
  white-space: normal;
  line-height: 1.3;
}

/* MOBILE: FORCE EACH OPTION TO ITS OWN LINE */
@media (max-width: 480px) {
  .elementor-form .elementor-field-type-checkbox .elementor-field-subgroup {
    grid-template-columns: 1fr !important;
  }
}

/* Style each checkbox option as a block */
.elementor-form .elementor-field-type-checkbox .elementor-field-option {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #eee;
  padding: 5px 8px;
  border-radius: 5px;
  margin: 0;
}

.elementor-field-type-upload.elementor-field-group.elementor-column.elementor-field-group-tf_images.elementor-col-100 {
    padding: 15px 20px 20px 20px;
    background-color: #eee;
    margin-top: 10px;
    margin-bottom: 15px;
    border-radius: 5px;
}

/* Make the actual clickable icon element the canvas */
.menu-trigger .elementor-icon{
  width:30px;
  height:18px;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:inherit;
}

/* Hide Elementor’s SVG/i but keep the click target */
.menu-trigger .elementor-icon svg,
.menu-trigger .elementor-icon i{
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
}

/* Draw 3 lines using one pseudo element + box-shadow */
.menu-trigger .elementor-icon::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:0.05em;
  background:currentColor;

  box-shadow:
    0 8px 0 currentColor,
    0 16px 0 currentColor;

  transition: transform .18s ease, width .18s ease, box-shadow .18s ease;
}

/* Hover tighten */
.menu-trigger .elementor-icon:hover::before{
  transform:translateY(2px);
  width:92%;
  box-shadow:
    0 6px 0 currentColor,
    0 12px 0 currentColor;
}

/* Hide Elementor's default icon */
.elementor-popup-modal .dialog-close-button i,
.elementor-popup-modal .dialog-close-button svg{
  display:none !important;
}

/* Keep Elementor's positioning intact */
.elementor-popup-modal .dialog-close-button{
  position:absolute;
  top:20px;
  right:20px;
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

/* Draw the X */
.elementor-popup-modal .dialog-close-button::before,
.elementor-popup-modal .dialog-close-button::after{
  content:"";
  position:absolute;
  width:24px;
  height:0.08em;
  background:#111;
  border-radius:999px;
  transition:transform .2s ease, width .2s ease;
}

/* Rotate lines */
.elementor-popup-modal .dialog-close-button::before{
  transform:rotate(45deg);
}

.elementor-popup-modal .dialog-close-button::after{
  transform:rotate(-45deg);
}

/* Hover */
.elementor-popup-modal .dialog-close-button:hover::before,
.elementor-popup-modal .dialog-close-button:hover::after{
  width:20px;
	background:#111;
}