/*
Theme Name: Astra Child
Template: astra
*/

/* ================================================================================ */
/* GLOBAL CSS */
/* ================================================================================ */
html, body {height: 100%; }
#smooth-wrapper {overflow: hidden;}
#smooth-content {will-change: transform;}
p:not(.horizontal-column-list p):not(.text-left p):not(.text-right p) {
  text-align: justify;
  text-align-last: center;
}



/* ================================================================================ */
/* SECTION : GOOGLE RECAPTCHA BADGE */
/* ================================================================================ */
/*.grecaptcha-badge {*/
/*    display: none;*/
/*    visibility: hidden;*/
/*}*/



/* ================================================================================ */
/* UTILITIES */
/* ================================================================================ */
.hide { display: none !important; }
.darken-sides { position: relative; }
.darken-sides::before,
.darken-sides::after {
    content: "";
    position: absolute;
    top: 0;
    width: 20%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}
.darken-sides::before {
    left: 0;
    background: linear-gradient(to right, black, transparent);
}
.darken-sides::after {
    right: 0;
    background: linear-gradient(to left, black, transparent);
}



/* ================================================================================ */
/* TEXTS */
/* ================================================================================ */
.text-white{ color: #fff; }
.text-black{ color: #000; }
.text-red{ color: red !important; }
.text-orange{ color: var(--ast-global-color-0) }
.text-small{ font-size: 15px !important; }
.text-medium{ font-size: 17px !important; }
.text-large{ font-size: 19px !important; } 
.text-underline { 
	text-decoration: underline dashed #007BFF; 
	text-decoration-thickness: 2px;
	text-underline-offset: 12px;
}
.text-left, .text-left p { text-align: left !important; }



/* ================================================================================ */
/* SCROLL PROGRESS BAR */
/* ================================================================================ */
.scroll-progress {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px; 
    background: rgba(255,255,255,0.1);
    z-index: 9999;
    pointer-events: none
}
.scroll-progress-bar {
    width: 0%;
    height: 100%;
    background: #ff6a00;
    transform-origin: left center;
}



/* ================================================================================ */
/* SCROLL TO TOP BUTTON */
/* ================================================================================ */
#scroll-top-button {
    position: fixed;
    bottom: 50px;
    right: 50px;
    z-index: 9999;
    display: none;
}



/* ================================================================================ */
/* SITE HEADER BAR */
/* ================================================================================ */
.site-header {
 	position: fixed !important;
	top: 0;
    left: 0;
	width: 100%;
	z-index: 9999;
    background-color: transparent;
	transition: all 0.3s ease;
	padding: 10px 0;
}
.ast-logo-title-inline .ast-site-identity {padding: 0 !important;}
.site-header.scrolled {
    background-color: #000;
    padding: 5px 0;
    box-shadow: 0 4px 10px rgba(255,255,255,0.1);
}
footer {background: #000; position: relative;}
.site-header nav .menu-item .menu-link,
footer nav .menu-item .menu-link {
	text-transform: uppercase;
  	font-size: 16px;
  	font-weight: 500;
	opacity: 1;
	line-height: 40px;
  	will-change: transform;
}
nav .menu-item, .ast-header-social-wrap .ast-builder-social-element {opacity: 1;}
.site-header.scrolled
.menu-item:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor):not(.current_page_ancestor)
.menu-link:hover,
.site-header .sub-menu .menu-item  > .menu-link:hover{color: var(--ast-global-color-0);}
.site-header.scrolled .ast-header-social-1-wrap .ast-social-color-type-custom svg:hover {fill: var(--ast-global-color-0);}
.site-header .sub-menu {
	background: #000;
	border: 1px solid #303030;
  	border-radius: 25px;
  	margin-top: 10px !important;
  	width: 300px;
}
.site-header .sub-menu .menu-item  > .menu-link { color: #fff; padding: 0.1em 1em; }
p.site-description { display: none !important; } /* the tagline text in the headerbar */



/* ================================================================================ */
/* SITE HEADER PHONE NUMBER BUTTON */
/* ================================================================================ */
.header-icon{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--ast-global-color-0);
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 17px;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.3s ease;
    min-width: 200px;
}
.header-icon i {
    color: inherit;
    font-size: 16px;
}
.header-icon:hover {
    background-color: var(--ast-global-color-0);
    color: #ffffff;
}



/* ================================================================================ */
/* SECTION : HERO */
/* ================================================================================ */
#section-hero .elementor-widget-container{ overflow:visible }



/* ================================================================================ */
/* READ MORE LINKS */
/* ================================================================================ */
.read-more-link{
	font-size: 20px;
	text-align: center;
	display: block;
}
.read-more-link.bg-orange:hover{ color: #000; }
.read-more-link.bg-black:hover{ color: var(--ast-global-color-0); } 



/* ================================================================================ */
/* FOOTER */
/* ================================================================================ */
.footer-widget-area-inner .widget{
	margin-bottom: 0px;
}



/* ================================================================================ */
/* WPFORM CONTACT FORM */
/* ================================================================================ */
body .wpforms-container label, 
body .wpforms-container .wpforms-confirmation-container p{
   	color: var(--ast-global-color-3);
}
body .wpforms-container input, body .wpforms-container textarea {
	border-radius: 10px;
	padding: 0.25em 0.75em;
	font-size: 15px;
}
body .wpforms-container .wpforms-field{ padding-top: 0; }
body .wpforms-container .wpforms-field-label{ 
	font-size: 16px; 
	font-weight: 400; 
	line-height: 25px;
}
button.wpforms-submit{	width: 100%;}



/* ================================================================================ */
/* SOLUTION CARDS */
/* ================================================================================ */
.solution-cards .solution-card .solution-card-image-container{
	overflow: hidden;
	border-radius: 20px 20px 0 0;
}
.solution-cards .elementor-container{ gap: 15px; }
.solution-cards .solution-card { display: flex !important; }
.solution-cards .solution-card .solution-card-image img { min-height: 180px;  } 
.solution-cards .solution-card .solution-card-image-carousel img { height: calc(180px - 30px); }
.solution-cards .solution-card .solution-card-content-container .elementor-widget-wrap {flex-direction: column;}
.solution-cards .solution-card .solution-card-content-container .elementor-widget-wrap .elementor-widget-html{margin-top: auto;}



/* ================================================================================ */
/* LOWER FOOTER BAR */
/* ================================================================================ */
.site-below-footer-wrap{ position: relative; }
.site-below-footer-wrap::before{
	content: "";
   	position: absolute;
  	top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 1px; /* border thickness */
    background: #1e1e1e; /* border color */
}



/* ================================================================================ */
/* SECTION : CASE STUDIES */
/* ================================================================================ */
#case-study-slider > .elementor-widget-wrap {
    display: flex;
    flex-wrap: nowrap;
	overflow: hidden;
}
#case-study-slider .case-study {
    flex-shrink: 0;
}
#case-studies .case-study .case-study-image { z-index: 2;}
#case-studies .case-study .case-study-info { z-index: 1 }
#case-studies .case-study .case-study-info .case-study-location { 
	color: #fff; 
	background: var(--ast-global-color-1);
	padding: 5px 10px;
  	border-radius: 1rem;	 
}



/* ================================================================================ */
/* SECTION : PARTNERS */
/* ================================================================================ */
#partners-carousel .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
	transition-timing-function: linear !important;
}
#partners-carousel img { max-height: 150px; }



/* ================================================================================ */
/* SECTION : SOLUTIONS */
/* ================================================================================ */
#solutions-page-intro  .solutions-page-intro-images-container > div { }
#solutions-page-intro  .solutions-page-intro-images-container img { }



/* ================================================================================ */
/* SECTION : KAYA TECHNOLOGY HUB */
/* ================================================================================ */
#kaya-technology-hub-video {position: relative;}
#kaya-technology-hub-video video {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}



/* ================================================================================ */
/* SECTION : CONTACT US  FORM (CONTACT FORM 7) */
/* ================================================================================ */
form.wpcf7-form > p:not(:last-of-type) {
    text-align: left !important;
    text-align-last: left !important;
    margin-bottom: 10px;
    line-height: 28px;
}
form.wpcf7-form label {
    color: #fff;
    font-size: 17px;
}
form.wpcf7-form input:not([type=submit]), 
form.wpcf7-form select, 
form.wpcf7-form textarea {
    width: 100%; 
    border-radius: 10px;
    padding: 0.25em 0.75em;
    font-size: 15px;
}
form.wpcf7-form textarea {
    resize: vertical;
    height: 120px;
}
form.wpcf7-form input.wpcf7-submit{
    width: 100%;
}
/*form.wpcf7-form .wpcf7-response-output{*/
/*    display: none;*/
/*}*/
/* exception for the brochure form */
:not([data-wpcf7-id="6605"]) form.wpcf7-form .wpcf7-response-output {
    display: none;
}
form.wpcf7-form .wpcf7-spinner {
    display: block;
    margin-bottom: 0px;
    margin-top: -30px;
    margin-left: auto;
    margin-right: 10px;
}