/* 
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
*/

/* Add your custom styles here */
body{
    margin:5px;
}
ul#menu-solutions-modernize,
ul#menu-solutions-build,
ul#menu-solutions-innovate{
    padding: 0;
    margin-top: 20px;
}
ul#menu-solutions-modernize li,
ul#menu-solutions-build li,
ul#menu-solutions-innovate li{
    list-style: none;
    margin-bottom: 10px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    margin-top: 25px;
}
/* Normal state */
.custom-header {
    background-color: transparent;
    transition: background-color 0.3s ease;
}

.custom-header .custom-logo img {
    filter: invert(0);
    transition: filter 0.3s ease;
}

/* Hover state */
.custom-header:hover {
    background-color: white;
}

.custom-header:hover .custom-logo h2,
.custom-header:hover .hover-text-black span{
    color: #000 !important;
}
.custom-header:hover .header-icons .elementor-icon {
    background-color:#9118DB !important;
    color:#fff !important;
}

.custom-header:hover .custom-header-nav ul li a{
    color: #000 !important;
}
.custom-header .custom-header-nav ul li a:hover{
    color: #9118DB !important;
}
ul#menu-solutions-modernize li a:hover,
ul#menu-solutions-build li a:hover,
ul#menu-solutions-innovate li a:hover{
    color: #9118DB !important;
}
li#mega-menu-item-987943 > .mega-sub-menu{
    padding: 35px 29px 80px 84px !important;
}
.underline-text ul li a span {
    text-decoration: underline;
}
/*#hero-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 6px;
    width: 220px;
}
#hero-btn .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
}

#hero-btn .elementor-button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
}
#hero-btn i.fas.fa-arrow-right {
    padding: 6px 7px;
    background: #000;
    color: #fff;
    border-radius: 50%;
}
#hero-btn  .fa-arrow-right:before {
    content: "\f061";
    font-size: 14px;
}
#hero-btn:hover i.fas.fa-arrow-right{
    background: #9118DB;
}*/
.hero-item
{
    /*display: flex;
    flex: 0 0 22.1428571429rem;
    height: auto;*/
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: rgba(0, 0, 0, .2);
    padding: 1.0714285714rem 2.1428571429rem;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border-radius: 0.7142857143rem;
}
.section-name-black span::before {
    content: "";
    position: absolute;
    display: block;
    background-color: #232326;
    top: 50%;
    left: -11px;
    height: 4px;
    width: 4px;
    border-radius: 4px;
}
.section-name-white span::before {
    content: "";
    position: absolute;
    display: block;
    background-color: #ffffff;
    top: 50%;
    left: -11px;
    height: 4px;
    width: 4px;
    border-radius: 4px;
}
.who-we-are-section__portfolio::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .2;
    background: linear-gradient(225deg, #E51263 0%, #A83DEA 50%, #32CEFF 100%);
    filter: blur(100px);
}
.trusted-by .swiper-wrapper .swiper-slide figure img{
    width: 150px;
    height: 100px;
    object-fit: contain;
}

/*#ex-sol-btn .fa-arrow-circle-right:before,
#common-btn .fa-arrow-circle-right:before{
    font-size: 22px;
}*/
span.elementor-counter-number-suffix {
    font-size: 1.389vw;
    top: 14px;
    position: relative;
}
.main-container-slide [class*="slide"]:hover {
    background-color: rgba(35,35,38,.7) !important;
}
.main-container-slide:has(.slide1:hover) {
    background-image: url(http://staging.codefully.ae/wp-content/uploads/2025/09/jj-ying-8bghKxNU1j0-unsplash.webp) !important;
}


.main-container-slide:has(.slide2:hover) {
    background-image: url(http://staging.codefully.ae/wp-content/uploads/2025/09/creative-minds-factory-YLzJtu-Vmmo-unsplash.webp) !important;
}


.main-container-slide:has(.slide3:hover) {
    background-image: url(http://staging.codefully.ae/wp-content/uploads/2025/09/pramod-tiwari-GWduPQ01mFQ-unsplash.webp) !important;
}


.main-container-slide:has(.slide4:hover) {
    background-image: url(http://staging.codefully.ae/wp-content/uploads/2025/09/pawel-czerwinski-0erga2weEwI-unsplash.webp) !important;
}
.slide1 .benefits-box-content,
.slide2 .benefits-box-content,
.slide3 .benefits-box-content,
.slide4 .benefits-box-content {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
}

.slide1:hover .benefits-box-content,
.slide2:hover .benefits-box-content,
.slide3:hover .benefits-box-content,
.slide4:hover .benefits-box-content {
    opacity: 1;
    pointer-events: auto;
}
.contact__form-block .e-con-inner::before {
    content: "";
    width: 32rem;
    height: 32rem;
    transform: rotate(90deg);
    aspect-ratio: 1/1;
    position: absolute;
    right: 0;
    bottom: -17rem;
    border-radius: 32rem;
    opacity: .2;
    background: linear-gradient(225deg, #E51263 0%, #A83DEA 50%, #32CEFF 100%);
    filter: blur(100px);
}
.contact__book-call::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .2;
    background: linear-gradient(225deg, #E51263 0%, #A83DEA 50%, #32CEFF 100%);
    filter: blur(100px);
}
.contact-form input[type=date], 
.contact-form input[type=email], 
.contact-form input[type=number], 
.contact-form input[type=password], 
.contact-form input[type=search], 
.contact-form input[type=tel], 
.contact-form input[type=text], 
.contact-form input[type=url], 
.contact-form select, 
.contact-form textarea {
    border: 1px solid #666;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s;
    width: 100%;
    padding-left: 0px !important;
    transition: border-color 0.5s ease; /* Smooth transition */
}
/*#custom-navbar {
  background-color: #fff;
  position: fixed;
  top: 0;
  width: 100%;
  display: block;
  transition: top 0.3s;
  display: flex;
  gap:1rem;
  padding: 1rem;
}*/

/* Hide the default checkbox */
#form-field-checkbox_nda-0,
#form-field-checkbox_insights-0 {
  display: none;
}

/* Style the label (you may need to adjust to target the correct label) */
#form-field-checkbox_nda-0 + label,
#form-field-checkbox_insights-0 + label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  user-select: none;
}

/* Custom checkbox box */
#form-field-checkbox_nda-0 + label::before,
#form-field-checkbox_insights-0 + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 0px; /* Rounded corners */
  background-color: transparent;
  transition: all 0.2s;
}

/* Checkmark when checked */
#form-field-checkbox_nda-0:checked + label::after,
#form-field-checkbox_insights-0:checked + label::after {
  content: "✔";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 14px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-radius: 4px;
}

.contact-form input[type=date]::placeholder,
.contact-form input[type=email]::placeholder,
.contact-form input[type=number]::placeholder,
.contact-form input[type=password]::placeholder,
.contact-form input[type=search]::placeholder,
.contact-form input[type=tel]::placeholder,
.contact-form input[type=text]::placeholder,
.contact-form input[type=url]::placeholder,
.contact-form select::placeholder,
.contact-form textarea::placeholder {
    color: #ffffff; /* White placeholder text */
    opacity: 1; /* Ensures visibility in some browsers */
}
.contact-form input[type=date]:hover,
.contact-form input[type=email]:hover,
.contact-form input[type=number]:hover,
.contact-form input[type=password]:hover,
.contact-form input[type=search]:hover,
.contact-form input[type=tel]:hover,
.contact-form input[type=text]:hover,
.contact-form input[type=url]:hover,
.contact-form select:hover,
.contact-form textarea:hover,
.contact-form input[type=date]:focus,
.contact-form input[type=email]:focus,
.contact-form input[type=number]:focus,
.contact-form input[type=password]:focus,
.contact-form input[type=search]:focus,
.contact-form input[type=tel]:focus,
.contact-form input[type=text]:focus,
.contact-form input[type=url]:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: #ffffff !important;
    outline: none;
}


/* =================================================
   Elementor file input — dashed box + drag & drop UX
   =================================================
   Targets the upload wrapper that Elementor outputs:
   .elementor-field-type-upload  (your posted HTML)
*/
.elementor-field-type-upload {
    position: relative;
    border: 1px dashed #666;
    border-radius: 8px;
    padding: 1.1rem;
    background: transparent;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
    cursor: pointer;
    color: #ccc;
    overflow: hidden;
    user-select: none;
    margin-top: 20px;
    margin-bottom: 40px !important;
}

/* visible placeholder text inside the dashed box */
.elementor-field-type-upload::before{
  content: "📂  a file or drag and drop it here";
  display: block;
  width: 100%;
  color: #ccc;
  font-weight: 600;
  pointer-events: none; /* allow clicks to pass through to the input */
}

/* small instruction under the box (optional, created by JS below) */
.elementor-field-type-upload .file-name {
  margin-top: 0.5rem;
  font-size: 0.95rem;
  color: #fff;
  opacity: 0.95;
  word-break: break-word;
}

/* hide native file selector button (modern + webkit fallback) */
.elementor-field-type-upload input[type="file"]::file-selector-button { 
  visibility: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  border: none;
}
.elementor-field-type-upload input[type="file"]::-webkit-file-upload-button {
  visibility: hidden;
}

/* make the real input cover the whole box but invisible — keeps native behavior */
.elementor-field-type-upload input[type="file"] {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 3; /* sits above pseudo content so clicks open dialog */
}

/* hover and focus effect on the wrapper */
.elementor-field-type-upload:hover,
.elementor-field-type-upload:focus-within {
  border-color: #ffffff;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 0 12px rgba(255,255,255,0.18);
}

/* a special class added when dragging files over the box (JS toggles this) */
.elementor-field-type-upload.dragover {
  border-color: #fff;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 0 18px rgba(255,255,255,0.28);
}

/* make sure required asterisk (if any) still shows nicely */
.elementor-field-type-upload .elementor-field-label {
  display: none;
}
.e-loop__load-more.elementor-button-wrapper a {
    padding: 50px 20px;
    display: inline-block;
    transition: transform 1s ease;
}

.e-loop__load-more.elementor-button-wrapper a:hover {
    transform: scale(1.08);
}

.single-case-studies .custom-logo h2{
	color: #000 !important;
}
.single-case-studies #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link{
	color: #000 !important;
}
.single-case-studies .hover-text-black span{
	color: #000 !important;
}
.single-case-studies .custom-header {
    border-color: #bbbdbe !important;
}
.single-case-studies .custom-header .header-icons .elementor-icon {
    background-color: #9118DB !important;
    color: #fff !important;
}
.single-cate-lists{
	display: flex;
	column-gap: 20px;
}
.single-cate-lists a {
    background: #222224;
    color: #fff;
    padding: 13px 20px;
    border-radius: 2rem;
    /* margin-right: 20px; */
    transition: background-color 0.4s ease, color 0.4s ease;
    text-align: center;
}
.single-cate-lists a:hover{
	background: #d9dada;
    color: #222224;
}
.case-content-block__title--purple {
    color: #9118db;
}