/* ===================================
    Crafto - Green energy 
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Space+Grotesk:wght@300..700&display=swap');

/* variable */
:root {
    --alt-font: "Space+Grotesk", system-ui;
    --primary-font: "DM+Sans", sans-serif;
    --base-color: #3a954f;
    --green: #195828;
    --dark-gray: #1f2220;
    --medium-gray: #828282;
    --very-light-gray: #f7f7f7;
}

html {
    scroll-behavior: smooth;
}

body {
    font-size: 16px;
    line-height: 28px;
}

/* header */
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
    width: 300px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
    font-size: 16px;
    color: var(--dark-gray);
    font-weight: 600;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li.active:hover>a {
    background-color: var(--base-color);
    color: var(--white);
}

.navbar .navbar-nav .dropdown .dropdown-menu a i,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a i {
    font-size: 40px;
    margin-right: 10px;
    width: 40px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover i {
    color: var(--white);
}

header .navbar-brand img {
    max-height: 36px;
}

.navbar .navbar-nav .nav-link {
    font-weight: 600;
    font-size: 18px;
}

/* button */

.btn {
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0px;
}

.btn.btn-switch-text.btn-extra-large>span {
    padding: 17px 38px;
    font-size: 17px;
}

.btn.btn-switch-text.btn-large>span {
    padding: 13px 32px;
    font-size: 15px;
}

.btn.btn-switch-text.btn-medium>span {
    padding: 12px 26px;
    font-size: 14px;
}

/* heading */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 25px;
}

/* Text gradient color */
.text-gradient-light-green-white {
    background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, #ebf6ee 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Background color */
.bg-light-green {
    background-color: #c4e7cc;
}

.bg-very-light-green {
    background-color: #ebf3ed;
}

/* Transparent background color */
.bg-gradient-green-transparent {
    background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, #ebf3ed 100%);
}

.right-210px {
    right: 210px;
}

/* page title */
.page-title-large h1 {
    font-size: 4.2rem;
    line-height: 4rem;
}

.page-title-large h2 {
    font-size: 18px;
}

/* Border color */
.border-color-dark-green {
    border-color: var(--green);
}

/* Subcribe style 02 */
.newsletter-style-02 .btn:hover {
    background-color: var(--green);
}

.newsletter-style-02 .btn {
    height: 85%;
    margin: 4px;
    padding: 5px 20px 5px;
}

.newsletter-style-02 input {
    padding-right: 75px !important;
}

/* Will change */
.animation-rotation {
    -webkit-animation: rotation 2.5s infinite linear;
}

/* footer */
footer .footer-logo img {
    max-height: 43px;
    width: auto;
}

footer a:hover {
    color: var(--white);
}

footer ul li {
    margin-bottom: 2px;
}

/* Timeline animations and responsiveness */
.roadmap-timeline {
    overflow: visible;
}

.roadmap-item {
    opacity: 0;
    transform: translateY(40px) scale(0.98);
    transition: opacity 0.7s cubic-bezier(.4, 0, .2, 1), transform 0.7s cubic-bezier(.4, 0, .2, 1);
}

.roadmap-item.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.roadmap-dot {
    transition: box-shadow 0.4s, background 0.4s;
}

.roadmap-item.visible .roadmap-dot {
    box-shadow: 0 0 16px 4px var(--base-color, #2ecc71);
    background: linear-gradient(135deg, #2ecc71 60%, #d7eaf5 100%);
}

.roadmap-content {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.7s 0.1s, transform 0.7s 0.1s;
}

.roadmap-item.visible .roadmap-content {
    opacity: 1;
    transform: translateX(0);
}

.roadmap-item:hover {
    animation: waveEffect 0.6s cubic-bezier(.4, 1.6, .6, 1);
    /* box-shadow: 0 8px 32px 0 rgba(0,0,0,0.10), 0 1.5px 8px 0 rgba(0,0,0,0.08); */
    z-index: 2;
}

/* Blog section */
.whitepaper-hero {
    background: url(../../images/1920x470px-productheader-our-services.avif);
    position: relative;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
}

.whitepaper-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    /* background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%); */
    /* clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%); */
}

.whitepaper-content {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

.whitepaper-content h2 {
    color: #1a1a2e;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: 700;
}

.whitepaper-content p {
    margin-bottom: 20px;
}

.nav-sidebar {
    position: sticky;
    top: 100px;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.nav-sidebar h5 {
    color: #999;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 30px;
    padding-left: 0;
}

.nav-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    border-left: 2px solid #e5e5e5;
    padding-left: 20px;
}

.nav-sidebar li {
    margin-bottom: 20px;
    position: relative;
}

.nav-sidebar a {
    color: #666;
    text-decoration: none;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    transition: all 0.3s ease;
    display: block;
    padding: 0;
    position: relative;
}

.nav-sidebar a:hover {
    color: var(--base-color);
}

.nav-sidebar a.active {
    color: var(--base-color);
    font-weight: 500;
}

.nav-sidebar a.active::before {
    content: '';
    position: absolute;
    left: -22px;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 30px;
    background-color: var(--base-color);
    z-index: 2;
}

.section-divider {
    height: 2px;
    background: linear-gradient(to right, var(--dark-gray), transparent);
    margin: 40px 0;
    border: none;
}

@keyframes waveEffect {
    0% {
        transform: scale(1)
    }

    20% {
        transform: scale(1.04, 0.96)
    }
    
    40% {
        transform: scale(0.98, 1.03)
    }

    60% {
        transform: scale(1.02, 0.98)
    }

    80% {
        transform: scale(0.99, 1.01)
    }
    
    100% {
        transform: scale(1)
    }
}

@media (max-width: 991px) {
    .nav-sidebar {
        margin-top: 40px;
        position: relative;
        top: auto;
        display: none;
    }
}

@media (min-width: 1400px) {
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container {
        max-width: 1320px;
    }
}

@media (max-width: 1600px) {

    /* Font size */
    .fs-80 {
        font-size: 4rem;
        line-height: 4rem;
    }
}

@media (max-width: 1199px) {
    .navbar .navbar-nav .nav-link {
        font-size: 16px;
        padding: 10px 10px;
    }
}

@media (max-width: 991px) {

    /* Background image */
    .md-background-position-top-center {
        background-position: top center !important;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
        padding-bottom: 15px;
    }
}

@media (max-width: 767px) {

    /* Background image */
    .sm-background-position-top-center {
        background-position: top center !important;
    }
}