/*
Theme Name:        Femora
Theme URI:         https://quiknexa.com
Author:            QuikNexa
Author URI:        https://quiknexa.com
Description:       
Version:           1.0.0
Requires at least: 6.2
Requires PHP:      7.4
Tested up to:      6.9
Template:          Divi
License:           GPL-2.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       femora
Tags:              divi, child-theme, demo-content

Generated by:      QuikNexa Divi Packager on 2026-08-29T02:10:33+00:00
*/

.et-l--header { position: relative; z-index: 99; }

/* ===== Custom CSS (from Design step) ===== */
h1, h2, h3, h4, h5, h6{
  padding-bottom:0px!important;
}
.trust-badge .et-pb-icon {
    height: 60px;
    width: 60px;
    display: flex;
    align-items: center;
  justify-content: center;
  border-radius:999px;
}
   
h1 span, h2 span, h3 span, h4 span{
  color:var(--gcid-primary-color);
}


/* Eyebrow Badge */
.eyebrow .et_pb_text_inner p{
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Status Dot */
body #page-container .eyebrow .et_pb_text_inner p::before{
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #5B7F55;
    box-shadow: 0 0 0 4px #EEF7F0;
}


/* ==========================================================================
   10. Image Hover Effect
   ========================================================================== */

.fe-img-hover .et_pb_image_wrap,
.et_pb_post .et_pb_image_container{
    position:relative;
    overflow:hidden;
}

/* Image */
.fe-img-hover .et_pb_image_wrap img,
.et_pb_post .et_pb_image_container img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.05);
    transition:transform .6s ease;
}

/* Zoom */
.fe-img-hover:hover .et_pb_image_wrap img,
.et_pb_post:hover .et_pb_image_container img{
    transform:scale(1.15);
}

/* Shine */
.fe-img-hover .et_pb_image_wrap::after,
.et_pb_post .et_pb_image_container::after{
    content:'';
    position:absolute;
    width:200%;
    height:0%;
    left:50%;
    top:50%;
    background:rgba(255,255,255,.3);
    transform:translate(-50%,-50%) rotate(-45deg);
    pointer-events:none;
}

/* Shine Animation */
.fe-img-hover .et_pb_image_wrap:hover::after,
.et_pb_post:hover .et_pb_image_container::after{
    height:250%;
    transition:all 600ms linear!important;
    background-color:transparent;
}
/* ==========================================================================
   07. Video Button
   ========================================================================== */

.fe-vid-btn {
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ripple 1s linear infinite;
}

:root {
    --ripple-color: 255, 255, 255;
}

@keyframes ripple {
    0% {
        box-shadow:
            0 0 0 0 rgba(var(--ripple-color), .1),
            0 0 0 5px rgba(var(--ripple-color), .2),
            0 0 0 20px rgba(var(--ripple-color), .2),
            0 0 0 35px rgba(var(--ripple-color), .2);
    }

    100% {
        box-shadow:
            0 0 0 5px rgba(var(--ripple-color), .1),
            0 0 0 20px rgba(var(--ripple-color), .2),
            0 0 0 35px rgba(var(--ripple-color), .2),
            0 0 0 45px rgba(var(--ripple-color), 0);
    }
}



.fe-left-animate{
    animation: left-animate 5s infinite linear alternate;
}

@keyframes left-animate{
	50%{
		left: 40px;
	}
}

.fe-right-animate{
    animation: right-animate 6s infinite linear alternate;
}

@keyframes right-animate{
	50%{
		right: 40px;
	}
}







.fe_badge {
  position: relative;
  width: 170px;
  height: 170px;
  flex: 0 0 auto;
  border-radius: 50%;
  background:  var(--gcid-primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.fe_badge__ringwrap {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.fe_badge__ring {
  width: 100%;
  height: 100%;
  display: block;
  animation: hb_spin 16s linear infinite;
}

.fe_badge__ring text {
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 3.2px;
  fill: #fff;
}

.fe_badge__arrow .et-pb-icon  {
  position: relative;
  z-index: 2;
  margin: 0;
  animation: hb_spin 16s linear infinite;
}

@keyframes hb_spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .fe_badge__ring { animation: none; }
}







/* ==========================================================================
   05. Service Card
   ========================================================================== */


.fe-ser-card .et-pb-icon {
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fe-ser-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--gcid-primary-color);
    transform: translateY(100%);
    transition: all 0.4s ease-in-out;
    z-index: 0;
    border-radius: 999px 999px 0 0;
}

.fe-ser-card:hover *,
.fe-ser-card.active * {
    color: white;
}

.fe-ser-card:hover .et-pb-icon,
.fe-ser-card.active .et-pb-icon {
    background: white !important;
    color: var(--gcid-primary-color)!important;
}

.fe-ser-card:hover::before,
.fe-ser-card.active::before {
    transform: translateY(0);
    border-radius: 0px;
}


.fe-ser-card:hover .et_pb_button,
.fe-ser-card.active .et_pb_button {
    background: transparent;
    color: white !important;
    
}


.fe-choose-us .fe-img-hover .et_pb_image_wrap {
    height: stretch;
}


.process .et-pb-icon{
  background:var(--gcid-primary-color);
  height:80px;
  width:80px;
  display:flex;
  align-items:center;
  justify-content:center;
}



.fe-review .et_pb_group_carousel_dot {
    background: #333;
    width: 30px;
    height: 8px;
    border-radius: 20px;
}





/* ==========================================================================
   16. Blog
   ========================================================================== */

.fe-blog .et_pb_post,
.fe-blog .et_pb_blog_grid .et_pb_post {
    background: transparent;
    border: 0px;
    padding: 0px;
}

.fe-blog .et_pb_image_container {
    margin: 0px;
}

.fe-blog .entry-title {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Read more — base reset */
.fe-blog .et_pb_post a.more-link {
    font-size: 0px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    transition: all 0.3s ease;
    color: var(--gcid-primary-color);
}

.fe-blog .et_pb_post a.more-link::before {
    content: "Read More";
    font-size: 16px;
    text-transform: capitalize;
    letter-spacing: 0.3px;
    transition: color 0.3s ease;
    color: var(--gcid-primary-color);
}

/* Default icon */
.fe-blog .et_pb_post a.more-link::after {
    content: "&";
    font-family: "ETmodules";
    font-size: 16px;
    transition: all 0.3s ease;
    color: var(--gcid-primary-color);
}

/* Hover effect */
.fe-blog .et_pb_post:hover a.more-link::before {
    color: var(--gcid-secondary-color);
}

/* Icon change on hover */
.fe-blog .et_pb_post:hover a.more-link::after {
    content: "\24";
    transform: translateX(4px);
    color: var(--gcid-secondary-color);
}



/* ==========================================================================
   06. List Style
   ========================================================================== */

.fe-list ul {
    list-style: none;
    padding-left: 0;
}

.fe-list ul li {
    position: relative;
    padding-left: 26px;
}

.fe-list ul li::before {
    content: "\52";
    font-family: ETmodules;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 14px;
    transition: color 0.25s ease;
}
