/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


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



/* -- ***** Anti alias all the text 
 ---------------------------------------------------------------*/ 


* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


html,
body {
    overflow-x: hidden;
}


/*************************************************************
 
-------------------------- Form ------------------------------
 
**************************************************************/ 

.form-title {
	color: #000;
	font-family: Inter;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px; /* 120% */
}


.form-title_description {
	color: #061C3D;
	font-family: Inter;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px; /* 142.857% */
    margin-top: 10px;
}




/* Chosen js */


.chosen-container-single .chosen-single {
    padding: 6px 14px !important;
    border-radius: 3px !important;
    border-color: #E6E8EC;
    background-image: none;
    height: auto;
    box-shadow: none;	
	
}


.elementor-field-group-city .select-caret-down-wrapper {
	display:none;
}

.chosen-container-single .chosen-single div b {
    background-position: 0 8px;
}

.chosen-container-multi .chosen-choices {
    padding: 6px 14px !important;
    border-radius: 3px !important;
    border-color: #E6E8EC;
    background-image: none;
}


.chosen-container-multi .chosen-choices:after {
    content: '';
    background-image: url(https://cdn.jsdelivr.net/npm/chosen-js@1.8.7/chosen-sprite@2x.png)!important;
    background-repeat: no-repeat!important;
    background-position: 2px 8px;
    background-size: 56px;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 20px;
    display: block;
}


.chosen-container-multi .chosen-choices li.search-field input[type=text] {
    color: #061C3D !important;
}

.chosen-container-multi .chosen-choices li.search-choice {
    box-shadow: none;
    -webkit-box-shadow: none;
    background-image: none;
    background-color: #F5F5F5;
    border-color: #DFE7ED;
    border-radius: 8px;
    color: #000;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    padding: 8px 23px 8px 8px;
}


.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    background: url(/wp-content/themes/hello-theme-child/assets/images/frontend/x.svg) no-repeat !important;
    background-size: 9px !important;
    top: 10px;
    right: 4px;
}


.e-form__buttons .elementor-button.elementor-size-sm {
    cursor: pointer;
}



/* Custom checkbox */
.elementor-form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  transition: 0.3s;
  display: inline-block !important;
}


.elementor-form input[type="checkbox"]:checked {
  background-color: #03D4DB;
  border-color: #03D4DB;
  position: relative;
}


.elementor-form input[type="checkbox"]:checked::before {
    content: "";
    color: white;
    position: absolute;
    top: 3px;
    left: 1px;
    font-size: 14px;
    background: url(/wp-content/themes/hello-theme-child/assets/images/frontend/check.svg) no-repeat;
    width: 15px;
    height: 15px;
    background-size: contain;
}


.elementor-form .elementor-field-type-checkbox .elementor-field-option label {
    position: relative;
    top: -7px;
}



/* Checklist Group */


.elementor-field-type-checkbox.elementor-field-group-field_11dc1bf  > div > * {
    flex: 0 1 300px !important;
}


/* Accept */
input[type="checkbox"].elementor-acceptance-field:checked::before {
    top: 1px;
    left: 1px
    width: 15px;
    height: 15px;
    background-size: contain;
    background-color: #03d4db;
}

.elementor-field-group-field_9e8ce9b {

    flex-direction: row-reverse;
}



body > div > div > div > div > div.elementor-element.elementor-element-bbdcc3a.elementor-button-align-start.elementor-widget.elementor-widget-form > div > form > div > div.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_9e8ce9b.elementor-col-25.elementor-sm-100.elementor-field-required.elementor-mark-required > div {
    flex-basis: auto;
}


body > div > div > div > div > div.elementor-element.elementor-element-bbdcc3a.elementor-button-align-start.elementor-widget.elementor-widget-form > div > form > div > div.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_9e8ce9b.elementor-col-25.elementor-sm-100.elementor-field-required.elementor-mark-required {
	justify-content: space-between;
}


/* Radio */

.elementor-form input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  transition: 0.3s;
  display: inline-block;
  vertical-align: middle;
  display: inline-block !important;
}

.elementor-form input[type="radio"]:checked {
  background-color: #fff;
  border-color: #d1d5db;
  position: relative;
}

.elementor-form  input[type="radio"]:checked::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-color: #03D4DB;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
}

.elementor-form .elementor-field-type-radio .elementor-field-option label {
    position: relative;
    top: 2px;
}
 
 


 
/* File Upload */

.elementor-field-type-upload input[type="file"] {
    border-radius: 3px !important;
    border: 1px solid #E6E8EC;
    min-height: 40px;
}


.elementor-field-type-upload input[type="file"]::file-selector-button {
    border: none;
    border-radius: 5px;
    background-color: #03D4DB !important;
    color: #fff;
    padding: 6px 14px;
    margin-right: 15px;
    margin-left: 4px;
    margin-top: 4px;
    font-family: "Inter", Sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
} 






/* Response */
.elementor-field-required.elementor-error input,
.elementor-select-wrapper.elementor-error .chosen-container-single .chosen-single {
	border-color: #FF6A7E !important;
	border-width:2px;
}


.elementor-field-group .elementor-select-wrapper {
    flex-direction: column;
}

.elementor-field-type-upload.elementor-column {
    position: relative;
    min-height: 1px;
    display: flex;
    align-content: flex-start;
}


.elementor-message.elementor-message-danger:before {
    display: none !important;
}

form.elementor-form.elementor-form-waiting {
    pointer-events: none;
    position: relative;
}



form.elementor-form.elementor-form-waiting:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url(/wp-content/themes/hello-theme-child/assets/images/frontend/spinner.svg) no-repeat center center;
    position: absolute;
    top: 0;
    left: 0;
    background-size: 20%;
    z-index: 99999999; 
    
}


.elementor-field-type-submit .elementor-button-icon {

    display: flex;
}

/* City highlight */

.chosen-container .chosen-results li.highlighted {
    background-color: #03D4DB !important; /* Apply the new background color with !important to override */
    background-image: none !important; /* Remove the gradient */
    color: #fff !important; /* Ensure the text color is white */
}


.chosen-container .chosen-results li {
    font-family: Inter;
}


.chosen-container {
    max-width: 100%;
}



@media (max-width: 767px) {


.chosen-container .chosen-search input {
  font-size: 16px; /* Prevent zooming on iOS */
}


.chosen-container .chosen-search input {
  font-size: 16px;
  line-height: normal; /* To avoid layout issues */
}

  select,
  textarea,
  input {
    font-size: 16px;
  }

    
} /*767*/



@media screen and (-webkit-min-device-pixel-ratio:0) { 
  select,
  textarea,
  input {
    font-size: 16px;
  }
}

/* Target the Chosen single select box */
.chosen-container .chosen-single {
    background: white !important; /* Override the gradient with white */
    background-image: none !important; /* Remove any gradient images */
    border: 1px solid #ccc; /* Optional: Adjust the border if necessary */
    color: #333; /* Optional: Adjust the text color */
}

/* For the dropdown options */
.chosen-container .chosen-drop {
    background: white !important; /* Set the dropdown background to white */
}

/* Optional: Adjust hover or active states */
.chosen-container .chosen-single:hover {
    background: #f9f9f9; /* Optional hover background */
    border-color: #aaa; /* Optional hover border */
}


.chosen-container-active.chosen-with-drop .chosen-single div b {
    background-position: -19px 9px;
}






@media not all and (min-resolution: 0.001dpcm) and (min-color-index: 0) {



    
} /* Safari */




.safari-only .elementor-field-type-upload input[type="file"] {
    all: initial !important; /* Resets all styles to browser defaults */
	   font-family: "Inter", Sans-serif !important;
}

.safari-only .elementor-field-type-upload input[type="file"]::file-selector-button {
    all: initial !important; /* Resets all styles to browser defaults */
    border-radius: 5px !important;
    background-color: #03D4DB !important;
    color: #fff !important;
    padding: 5px !important;
      font-family: "Inter", Sans-serif !important;
    font-size: 16px !important;
	 font-weight: 700;
}

	
.safari-only .elementor-field-type-upload.elementor-column {
    position: relative;
    min-height: 1px;
    display: flex;
    align-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
}

/* Mobile form controls: keep native selects fully touchable. */
@media (max-width: 767px), (pointer: coarse) {
    .elementor-form select.elementor-field {
        width: 100%;
        min-height: 44px;
        font-size: 16px;
        pointer-events: auto !important;
        touch-action: manipulation;
    }
}
