/*=====================================================
CLIFFS KENYA
Main Stylesheet
Version: 1.0
Author: Cliffs Kenya
======================================================*/

/*==============================
GOOGLE FONT
==============================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==============================
ROOT VARIABLES
==============================*/
:root{

    --primary:#6A8A1B;
    --secondary:#0d6efd;
    --dark:#212529;
    --light:#f8f9fa;
    --white:#ffffff;
    --text:#555555;
    --heading:#222222;

    --radius:12px;

    --transition:0.35s ease;

    --shadow:0 10px 30px rgba(0,0,0,.08);

}

/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    color:var(--text);
    line-height:1.7;
    background:#fff;
    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;
    transition:var(--transition);

}

ul{

    list-style:none;

}

section{

    padding:90px 0;

}

/*==============================
TYPOGRAPHY
==============================*/

h1,h2,h3,h4,h5,h6{

    color:var(--heading);
    font-weight:700;
    line-height:1.3;

}

h1{

    font-size:3.3rem;

}

h2{

    font-size:2.4rem;
    margin-bottom:20px;

}

h3{

    font-size:1.7rem;

}

p{

    color:var(--text);

}

/*==============================
TOP BAR
==============================*/

.bg-primary{

    background:var(--primary)!important;

}

/*==============================
NAVIGATION
==============================*/

.navbar{

    transition:.4s;
    padding:18px 0;

}

.navbar-brand img{

    max-height:55px;

}

.nav-link{

    color:#333!important;
    font-weight:500;
    margin-left:15px;

}

.nav-link:hover{

    color:var(--primary)!important;

}

.navbar .btn{

    border-radius:50px;
    padding:10px 22px;

}

/*==============================
STICKY NAV
==============================*/

.navbar.scrolled{

    background:#fff;
    box-shadow:var(--shadow);

}

/*==============================
BUTTONS
==============================*/

.btn{

    border-radius:50px;
    padding:12px 30px;
    transition:var(--transition);
    font-weight:600;

}

.btn-primary{

    background:var(--primary);
    border-color:var(--primary);

}

.btn-primary:hover{

    background:#004fc7;
    border-color:#004fc7;
    transform:translateY(-2px);

}

.btn-outline-light:hover{

    color:#000;

}

/*==============================
HERO
==============================*/

.hero{

    min-height:92vh;

    background:
        linear-gradient(rgba(136,172,34,.85),rgba(13,110,253,.75)),
        url("../images/hero-bg.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;

    color:#fff;

}

.hero h1{

    color:#fff;
    margin-bottom:25px;

}

.hero p{

    color:#f5f5f5;
    font-size:1.1rem;
    margin-bottom:35px;

}

.hero img{

    animation:float 4s infinite ease-in-out;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

/*==============================
SECTION TITLE
==============================*/

.section-title{

    text-align:center;
    margin-bottom:60px;

}

.section-title span{

    color:var(--primary);
    font-weight:600;

}

.section-title h2{

    margin-top:10px;

}

/*==============================
CARDS
==============================*/

.card{

    border:none;
    border-radius:var(--radius);
    transition:var(--transition);
    overflow:hidden;

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.card-body{

    padding:35px;

}

.card i{

    transition:.4s;

}

.card:hover i{

    transform:scale(1.15);

}

/*==============================
ABOUT
==============================*/

.about-image img{

    border-radius:var(--radius);
    box-shadow:var(--shadow);

}

.about-content ul{

    margin-top:25px;

}

.about-content li{

    margin-bottom:12px;

}

.about-content i{

    color:var(--secondary);
    margin-right:10px;

}

/*==============================
SERVICES
==============================*/

.service-box{

    background:#fff;
    border-radius:var(--radius);
    padding:35px;
    transition:.4s;
    box-shadow:var(--shadow);

}

.service-box:hover{

    background:var(--primary);
    color:#fff;

}

.service-box:hover h4,
.service-box:hover p,
.service-box:hover i{

    color:#fff;

}

/*==============================
COUNTERS
==============================*/

.counter{

    background:#fff;
    border-radius:var(--radius);
    padding:30px;
    box-shadow:var(--shadow);

}

.counter h1{

    color:var(--primary);
    font-size:3rem;

}

/*==============================
PORTFOLIO
==============================*/

.portfolio-item{

    overflow:hidden;
    border-radius:var(--radius);
    position:relative;

}

.portfolio-item img{

    transition:.5s;

}

.portfolio-item:hover img{

    transform:scale(1.1);

}

.portfolio-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.6);

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    transition:.4s;

}

.portfolio-item:hover .portfolio-overlay{

    opacity:1;

}

/*==============================
TEAM
==============================*/

.team{

    text-align:center;

}

.team img{

    border-radius:50%;
    margin:auto;
    width:180px;

}

.team h5{

    margin-top:20px;

}

/*==============================
TESTIMONIALS
==============================*/

.testimonial{

    background:#fff;

    padding:35px;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.testimonial img{

    width:70px;

    border-radius:50%;

}

/*==============================
BLOG
==============================*/

.blog-card img{

    transition:.5s;

}

.blog-card:hover img{

    transform:scale(1.05);

}

.blog-card{

    overflow:hidden;

}

/*==============================
CTA
==============================*/

.cta{

    background:linear-gradient(135deg,var(--primary),var(--secondary));

    color:#fff;

    text-align:center;

}

.cta h2{

    color:#fff;

}

.cta p{

    color:#fff;

}

/*==============================
FOOTER
==============================*/

footer{
    background:#151515;
    color:#eee;
}

footer h4{
    color:#fff;
    margin-bottom:20px;

}

footer p {
    color: #eee;
}

footer a{
    color:#ddd;

}

footer a:hover{
    color:#fff;
    padding-left:5px;

}

footer hr{

    border-color:#444;

}

/*==============================
WHATSAPP
==============================*/

.position-fixed{

    box-shadow:0 8px 25px rgba(0,0,0,.25);

}

/*==============================
SCROLL TO TOP
==============================*/

#backToTop{

    position:fixed;

    right:25px;

    bottom:95px;

    width:50px;

    height:50px;

    border-radius:50%;

    display:none;

    z-index:999;

}

/*==============================
FORMS
==============================*/

.form-control{

    border-radius:10px;

    padding:14px;

}

.form-control:focus{

    box-shadow:none;

    border-color:var(--primary);

}

/*==============================
TABLES
==============================*/

.table{

    border-radius:10px;

    overflow:hidden;

}

/*==============================
BREADCRUMB
==============================*/

.breadcrumb-section{

    background:#f4f7fb;

    padding:80px 0;

}

.breadcrumb{

    justify-content:center;

}

/*==============================
ANIMATIONS
==============================*/

.fade-up{

    animation:fadeUp .8s;

}

@keyframes fadeUp{

from{

opacity:0;
transform:translateY(30px);

}

to{

opacity:1;
transform:translateY(0);

}

}

/*==============================
MEDIA QUERIES
==============================*/

@media(max-width:992px){

.hero{

text-align:center;

padding:100px 0;

}

.hero img{

margin-top:50px;

}

.navbar{

padding:12px 0;

}

}

@media(max-width:768px){

h1{

font-size:2.4rem;

}

h2{

font-size:2rem;

}

section{

padding:70px 0;

}

.card{

margin-bottom:20px;

}

}

@media(max-width:576px){

.hero{

min-height:auto;

padding:120px 0 80px;

}

.btn{

display:block;

width:100%;

margin-bottom:15px;

}

.navbar-brand img{

height:45px;

}

.counter{

margin-bottom:20px;

}

}





/*=======================================
   Blog
========================================*/
/* Pagination */
.blog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
}

.pagination-btn {
    width: 45px;
    height: 45px;
    border: 2px solid #e9ecef;
    background: white;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 600;
    color: #6c757d;
    text-decoration: none;
}

.pagination-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    transform: translateY(-2px);
}

.pagination-btn.active {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.pagination-btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-btn.disabled:hover {
    transform: none;
}


/* Blog Post */
.post-header {
    padding: 60px 0 40px;
    background-color: #f8fbff;
}

.post-title {
    font-size: 2.8rem;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.2;
    margin-bottom: 20px;
}

.post-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    color: var(--text-muted);
    font-size: 0.95rem;
}

.featured-image-container {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    margin-bottom: 40px;
}

.featured-image {
    width: 100%;
    height: 450px;
    object-fit: cover;
}

.article-content {
    font-size: 1rem;
    color: #444;
}

.article-content h2 {
    color: var(--primary);
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
}

.article-content ul, .article-content ol {
  padding-left: 20px;
  margin-bottom: 20px;
}

.article-content ul li {
  list-style: disc;
}

.blockquote-custom {
    border-left: 5px solid var(--secondary);
    padding: 20px 30px;
    background: #fff5f5;
    font-style: italic;
    font-size: 1.3rem;
    margin: 40px 0;
    color: var(--primary);
}

.recent-post-item {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
}

.recent-post-item:hover {
    opacity: 0.8;
    color: var(--secondary);
}

.thumb-img {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.recent-post-title {
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 4px;
}

.social-sticky {
    position: sticky;
    top: 85px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.social-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    font-size: 0.9rem;
}

.bg-fb { background-color: #1877F2; }
.bg-tw { background-color: #000000; }
.bg-ln { background-color: #0077B5; }
.bg-wa { background-color: #25D366; }

@media (max-width: 992px) {
    .social-sticky {
        flex-direction: row;
        position: relative;
        top: 0;
        margin-bottom: 30px;
        justify-content: center;
    }
}



/* ============LOADER============= */
.loader{
  display: none;
}
.spinner {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 40px;
}
.spinner div {
  display: inline-block;
  position: absolute;
  left: 6px;
  width: 7px;
  background: var(--primary);
  color: var(--primary);
  -webkanimation: spinner 1.2s infinite ease-in-out;
  animation: spinner 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}
.spinner div:nth-child(1) {
  left: 6px;
  animation-delay: -0.16s;
}
.spinner div:nth-child(2) {
  left: 26px;
  animation-delay: -0.12s;
}
.spinner div:nth-child(3) {
  left: 45px;
  animation-delay: -0.8s;
}
.spinner div:nth-child(4) {
  left: 65px;
  animation-delay: -0.4s;
}
.spinner div:nth-child(5) {
  left: 85px;
  animation-delay: 0;
}
@keyframes spinner {
  0% {
    top: 6px;
    height: 51px;
}
50%, 100% {
    top: 19px;
    height: 26px;
}
}

@-webkkeyframes sk-stretchdelay {
  0%, 40%, 100% { -webktransform: scaleY(0.4) }
  20% { -webktransform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webktransform: scaleY(0.4);
}20% {
   transform: scaleY(1.0);
   -webktransform: scaleY(1.0);
}
}