/**
*
* ---------------------------------------------------------------------------
*
* Template : Blue - A One-Page HTML Portfolio/Business Template
* Author : Muhammad Morshd
* Author URI : http://morsheds.com
*
* --------------------------------------------------------------------------- 
*
*/

/* Remove fade and background from all sections, only apply to section:not(#home-slider) */
section {
    margin: initial;
    padding-top: initial;
    padding-bottom: initial;
    border: initial;
    box-shadow: initial;
    background: none;
}

section:not(#home-slider) {
    background: #000;
    background-attachment: fixed;
    background-size: cover;
    height: auto;
    overflow: hidden;
    position: relative;
}

section::after, section:last-child::after {
    display: none !important;
}

#home-slider {
    background: none !important;
}

/* =================================== */
/*	Basic Style 
/* =================================== */

html, body {
    margin: 0;
    padding: 0;
    height: 100%; /* Ensure full height for body */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    


}

body {
    margin: auto;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    overflow: auto;
}



/* Unique background for the first section */
#unique-background {
    background: #000; 
    height: 100vh;
    overflow: hidden;
    position: relative;
}


/* Global background for all other sections */
section:not(#home-slider) {
    background: #000 ; 
    background-attachment: fixed;
    background-size: cover;
    height: auto;
    overflow: hidden;
    position: relative;
}

/* Stars effect */
.stars {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    transform: rotate(-45deg);
    z-index: -1; /* Ensures the stars are behind the content */
}

    body::before {
        content: "";
        position: fixed; /* Use fixed positioning for the effect */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(45deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.2));
        background-size: 200% 200%;
        animation: moveBackground 20s ease infinite;
        z-index: -1; /* Places the effect behind the content */
    }

@keyframes moveBackground {
    0% {
        background-position: 0% 0%;
    }

    50% {
        background-position: 100% 100%;
    }

    100% {
        background-position: 0% 0%;
    }
}


figure, p, address {
    margin: 0;
}

p {
    line-height: 25px;
}

iframe {
    border: 0;
}

a {
    -webkit-transition: all 0.3s ease-out 0s;
       -moz-transition: all 0.3s ease-out 0s;
        -ms-transition: all 0.3s ease-out 0s;
         -o-transition: all 0.3s ease-out 0s;
            transition: all 0.3s ease-out 0s;
}

a, a:hover, a:focus, .btn:focus {
    text-decoration: none;
    outline: none;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Roboto", sans-serif;
    color: #252525;
}
.bg-black{
	background-color: black;
}
main > section {
    padding: 70px 0;
}



.btn {
    border-radius: 0;
    border: 0;
    position: relative;
    text-transform: uppercase;
}

.btn-blue {
    background-color: #18d777;
    box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.15) inset;
    padding: 15px 55px;
    color: #fff;
}

.btn-border {
    border: 2px solid #fff;
    color: #fff;
    padding: 12px 35px;
}

.bg-blue {
    background-color: #18d777;
}

/* Sweep To Right */
.btn-effect {
	vertical-align: middle;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	position: relative;
	display: inline-block;

	-webkit-transform: translateZ(0);
	   -moz-transform: translateZ(0);
		-ms-transform: translateZ(0);
		 -o-transform: translateZ(0);
			transform: translateZ(0);
		  
	-webkit-backface-visibility: hidden;
	   -moz-backface-visibility: hidden;
			backface-visibility: hidden;
		  
	-webkit-transition-property: color;
	   -moz-transition-property: color;
		-ms-transition-property: color;
			transition-property: color;
		  
	-webkit-transition-duration: 0.3s;
	   -moz-transition-duration: 0.3s;
		-ms-transition-duration: 0.3s;
			transition-duration: 0.3s;
		  
	-moz-osx-font-smoothing: grayscale;
}

.btn-effect:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	
	-webkit-transform: scaleX(0);
	   -moz-transform: scaleX(0);
		-ms-transform: scaleX(0);
			transform: scaleX(0);
			
	-webkit-transform-origin: 0 50%;
	   -moz-transform-origin: 0 50%;
		-ms-transform-origin: 0 50%;
			transform-origin: 0 50%;
			
	-webkit-transition-property: transform;
	   -moz-transition-property: transform;
		-ms-transition-property: transform;
			transition-property: transform;
			
	-webkit-transition-duration: 0.3s;
	   -moz-transition-duration: 0.3s;
		-ms-transition-duration: 0.3s;
			transition-duration: 0.3s;
			
	-webkit-transition-timing-function: ease-out;
	   -moz-transition-timing-function: ease-out;
		-ms-transition-timing-function: ease-out;
			transition-timing-function: ease-out;
}

.btn-effect:hover, .btn-effect:focus, .btn-effect:active {
	color: #18d777;
}

.btn-effect:hover:before, .btn-effect:focus:before, .btn-effect:active:before {
	-webkit-transform: scaleX(1);
	   -moz-transform: scaleX(1);
	    -ms-transform: scaleX(1);
			transform: scaleX(1);
}

.sec-title {
    margin-bottom: 50px;
}

.sec-title.white {
    color: #fff;
}

.sec-title h2 {
    font-size: 36px;
    margin: 0 0 30px;
    padding-bottom: 30px;
    position: relative;
    text-transform: uppercase;
}

.sec-title.white h2 {
    color: #fff;
}

.sec-title h2:after {
    border-bottom: 1px solid #18d777;
    content: "";
    display: block;
    position: absolute;
    width: 115px;
    left: 50%; /* Start from the middle */
    transform: translateX(-50%); /* Move left by 50% of its own width */
    bottom: 0;
}

.sec-title.white h2:after {
    border-bottom: 1px solid #fff;
}

.parallax {
    background-attachment: fixed;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 10px; /* Use padding instead of margin for spacing */
    padding-bottom: 5px
}


/**
/*	Preloader
/* ==========================================*/

#preloader {
    background-color: #fff;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.preloader-logo {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    z-index: 10000;
    animation: preloader-rotate-y 2.5s linear infinite;
    pointer-events: none;
}
@keyframes preloader-rotate-y {
    0% { transform: translate(-50%, -50%) rotateY(0deg); }
    100% { transform: translate(-50%, -50%) rotateY(360deg); }
}

/*Battery*/
.loder-box {
  background-color: rgba(0, 0, 0, 0.02);
  border-radius: 1px;
  height: 100px;
  left: 50%;
  margin-left: -64px;
  margin-top: -50px;
  position: absolute;
  top: 50%;
  width: 128px;
}

.battery{
    width: 60px;
    height: 25px;
    top: 35%;
    border: 1px #2E2E2E solid;
    border-radius: 2px;
    position: relative;
    -webkit-animation: charge 5s linear infinite;
       -moz-animation: charge 5s linear infinite;
            animation: charge 5s linear infinite;
    margin: 0 auto;
}

.battery:after {
  background-color: #2E2E2E;
  border-radius: 0 1px 1px 0;
  content: "";
  height: 10px;
  position: absolute;
  right: -5px;
  top: 7px;
  width: 3px;
}

@-webkit-keyframes charge{
    0%{box-shadow: inset 0px 0px 0px #2E2E2E;}
    100%{box-shadow: inset 60px 0px 0px #2E2E2E;}
}

@-moz-keyframes charge{
    0%{box-shadow: inset 0px 0px 0px #2E2E2E;}
    100%{box-shadow: inset 60px 0px 0px #2E2E2E;}
}

@keyframes charge{
    0%{box-shadow: inset 0px 0px 0px #2E2E2E;}
    100%{box-shadow: inset 60px 0px 0px #2E2E2E;}
}





/**
/*	Header
/* ==========================================*/
/* Existing styles */
/* Modern, video-friendly navigation bar */
#navigation {
    background: none !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background 0.4s, box-shadow 0.4s;
}

#navigation.scrolled {
    background: rgba(10, 10, 10, 0.92) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.18) !important;
    border-bottom: 1.5px solid rgba(79, 221, 75, 0.18) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 8px 0 !important;
    border-radius: 0 0 18px 18px !important;
}

#navigation.animated-header {
    padding: 24px 0;
}

#navigation .container {
    padding: 0 !important;
}

.navbar-inverse .navbar-nav > li > a,
.language-btn {
    text-transform: none !important;
    font-family: 'Poppins', 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.2px;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.18);
    padding: 12px 20px !important;
    border-radius: 0;
    margin: 0 2px !important;
    transition: color 0.3s;
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin: 0 1px !important;
    background: none !important;
    border: none !important;
    cursor: pointer;
    text-decoration: none !important;
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    box-shadow: none !important;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus,
.language-btn:hover,
.language-btn:focus {
    color: #4fdd4b !important;
    background: none !important;
    border: none !important;
    text-decoration: none !important;
}

/* Ensure language buttons are always clickable */
.language-btn {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    position: relative !important;
    display: inline-block !important;
}

.navbar-inverse .navbar-nav > li > a.current {
    color: #4fdd4b;
    background: none !important;
    border: none !important;
    font-weight: 700;
}

#navigation .navbar-header .navbar-brand {
    filter: none !important;
}

#navigation .navbar-header span {
    text-transform: none !important;
    font-family: 'Montserrat', 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 28px;
    letter-spacing: 1.2px;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.18);
}

@media (max-width: 991px) {
    #navigation {
        border-radius: 0 0 10px 10px;
        padding: 8px 0;
    }
    .navbar-inverse .navbar-nav > li > a,
    .language-btn {
        font-size: 15px !important;
        padding: 10px 10px !important;
    }
    #navigation .navbar-header span {
        font-size: 20px;
    }
    
    /* Ensure menu button is visible on tablets */
    .navbar-toggle {
        display: block !important;
        visibility: visible !important;
    }
    
    .navbar-inverse .navbar-toggle {
        border: 2px solid #fff !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border-radius: 8px !important;
        padding: 8px 12px !important;
        margin: 0 !important;
    }
    
    .navbar-inverse .navbar-toggle .icon-bar {
        background-color: #fff !important;
        height: 3px !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
    }
}

/* Enhanced Mobile Navigation */
@media (max-width: 768px) {
    #navigation {
        padding: 15px 0 !important;
        border-radius: 0 0 15px 15px !important;
        min-height: 70px !important;
        background: rgba(0, 0, 0, 0.95) !important;
        box-shadow: 0 4px 24px rgba(0,0,0,0.3) !important;
        border-bottom: 1.5px solid rgba(79, 221, 75, 0.3) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 10000 !important;
    }
    
    /* Fix mobile menu on rotation */
    .navbar-collapse {
        max-height: calc(100vh - 70px) !important;
        overflow-y: auto !important;
    }
    
    /* Ensure menu closes properly on orientation change */
    @media (orientation: landscape) and (max-height: 500px) {
        .navbar-collapse.collapse.in {
            display: none !important;
        }
        .navbar-toggle {
            display: block !important;
        }
    }
    
    /* Override scroll behavior for mobile - always dark */
    #navigation.scrolled {
        background: rgba(0, 0, 0, 0.95) !important;
        box-shadow: 0 4px 24px rgba(0,0,0,0.3) !important;
        border-bottom: 1.5px solid rgba(79, 221, 75, 0.3) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
    }
    
    #navigation .navbar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        flex-direction: row !important;
        position: relative !important;
        min-height: 50px !important;
    }
    
    .navbar-brand-container {
        display: flex !important;
        align-items: center !important;
        flex: 1 !important;
        max-width: calc(100% - 80px) !important;
        margin-right: 20px !important;
    }
    
    #navigation .navbar-header span {
        font-size: 18px !important;
        font-weight: 700;
    }
    
    .navbar-toggle {
        position: absolute !important;
        right: 15px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 1000 !important;
        flex-shrink: 0 !important;
    }
    
    .navbar-brand-container .navbar-brand {
        margin-right: 10px !important;
    }
    
    .navbar-brand-container .eutropy-brand {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    
    .navbar-inverse .navbar-toggle {
        border: 2px solid #fff !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border-radius: 8px !important;
        padding: 8px 12px !important;
        margin: 0 !important;
    }
    
    .navbar-inverse .navbar-toggle:hover,
    .navbar-inverse .navbar-toggle:focus {
        background: rgba(255, 255, 255, 0.2) !important;
        border-color: #fff !important;
    }
    
    .navbar-inverse .navbar-toggle .icon-bar {
        background-color: #fff !important;
        height: 3px !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
    }
    
    .navbar-inverse .navbar-collapse {
        background: rgba(0, 0, 0, 0.95) !important;
        border-radius: 0 0 15px 15px !important;
        margin-top: 10px !important;
        padding: 25px 0 !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border-top: 1px solid rgba(79, 221, 75, 0.3) !important;
        position: relative !important;
        z-index: 999 !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
    }
    
    /* Ensure mobile menu can be closed */
    .navbar-inverse .navbar-collapse.collapse {
        display: none !important;
    }
    
    .navbar-inverse .navbar-collapse.collapse.in,
    .navbar-inverse .navbar-collapse.collapsing {
        display: block !important;
    }
    
    /* Fix for Bootstrap collapse functionality */
    .navbar-inverse .navbar-collapse.collapse.in {
        overflow-y: visible !important;
    }
    
    .navbar-inverse .navbar-nav {
        margin: 0 !important;
        padding: 0 20px !important;
    }
    
    .navbar-inverse .navbar-nav > li {
        margin: 8px 0 !important;
        text-align: center !important;
    }
    
    .navbar-inverse .navbar-nav > li > a {
        font-size: 16px !important;
        padding: 15px 20px !important;
        border-radius: 8px !important;
        transition: all 0.3s ease !important;
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        color: #fff !important;
        font-weight: 500 !important;
        background: rgba(255, 255, 255, 0.05) !important;
        margin: 5px 0 !important;
    }
    
    .navbar-inverse .navbar-nav > li > a:hover,
    .navbar-inverse .navbar-nav > li > a:focus {
        background: rgba(79, 221, 75, 0.2) !important;
        color: #4fdd4b !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 12px rgba(79, 221, 75, 0.2) !important;
    }
    
    .language-btn {
        font-size: 16px !important;
        padding: 15px 20px !important;
        border-radius: 8px !important;
        transition: all 0.3s ease !important;
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        background: rgba(0, 0, 0, 0.8) !important;
        border: 1px solid rgba(79, 221, 75, 0.6) !important;
        margin: 10px 0 5px 0 !important;
        color: #4fdd4b !important;
        text-decoration: none !important;
        font-weight: 500 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        z-index: 1000 !important;
        position: relative !important;
    }
    
    .language-btn:hover,
    .language-btn:focus {
        background: rgba(0, 0, 0, 0.9) !important;
        color: #4fdd4b !important;
        transform: translateY(-2px) !important;
        text-decoration: none !important;
        box-shadow: 0 4px 12px rgba(79, 221, 75, 0.4) !important;
        border-color: #4fdd4b !important;
    }
}


/*=================================================================
    Home Slider
==================================================================*/
#home-slider {
    position: relative;
    padding: 0;
    height: 100vh !important; /* Set height to 100% of the viewport height */
    overflow: hidden; /* Keep overflow hidden to avoid scrollbars */
    display: flex;
    align-items: center;
    justify-content: center;
}

#home-slider .caption-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    z-index: 10;
    text-align: center;
    margin: 0;
    padding: 0;
    pointer-events: none;
    box-sizing: border-box;
    min-height: 100vh;
}
#home-slider .caption-content * {
    pointer-events: auto;
}

.video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -3; /* Place the video behind the other elements */
    object-fit: cover; /* Ensures the video covers the entire area without overflow */
}

.sl-slider-wrapper {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.sl-slider {
    position: absolute;
    top: 0;
    left: 0;
}

/* Styling the first span (larger text) */
.caption-content span:first-child {
    font-size: 36px; /* Larger font size for the first span */
    line-height: 1.4;
    font-weight: bold; /* Optional for emphasis */
    margin-top: 100px ; /* Moves the text down */
    margin-left: 20px; /* Moves the text to the right */
}

/* Styling the second span (smaller text) */
.caption-content span:nth-child(2) {
    font-size: 20px; /* Smaller font size for the second span */
    line-height: 1.6;
    color: #F5FFFA;
}

/* Optional styling for the button */
.btn-blue {
    font-size: 18px; /* Adjust font size for the button */
}

/* Slide wrapper and slides */

.sl-slide,
.sl-slides-wrapper,
.sl-slide-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.sl-slide {
    z-index: 1;
}

.slide-caption {
    color: #fff;
    display: table;
    height: 100%;
    left: 0;
    min-height: 100%;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 11;
}

    .slide-caption .caption-content {
        vertical-align: middle;
        display: table-cell;
        text-align: left;
        padding: 0%;
        margin-top: 20px; /* Example to move the text down */
        margin-left: 30px; /* Example to move the text right */
        margin-bottom:100px ; 
    }
    .btn-contactez-nous {
    display: inline-block;
    padding: 12px 30px;
    background-color: #28a745; /* Green background */
    color: white;
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.btn-contactez-nous:hover {
    background-color: #218838; /* Darker green on hover */
}

.caption-content h2 {
    color: #fff;
    font-size: 52px;
    font-weight: 400;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.caption-content {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    height: 100% !important; /* Match the height of home-slider */
}

/* Add the dark overlay to #home-slider */
#home-slider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Dark overlay */
    z-index: 1; /* Ensures the overlay is above the image */
}

/* Ensure that text inside .caption-content is above the overlay */
.caption-content * {
    position: relative;
    z-index: 2;
}

.caption-content > span {
    display: block;
    font-size: 30px;
    margin-bottom: 45px;
}

.caption-content p {
    font-size: 29px;
    margin-bottom: 65px;
}


/* The duplicate parts/slices */

.sl-content-slice {
    overflow: hidden;
    position: absolute;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    background: #fff;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity : 1;
}

/* Horizontal slice */

.sl-slide-horizontal .sl-content-slice {
    width: 100%;
    height: 50%;
    left: -200px;
    -webkit-transform: translateY(0%) scale(1);
    -moz-transform: translateY(0%) scale(1);
    -o-transform: translateY(0%) scale(1);
    -ms-transform: translateY(0%) scale(1);
    transform: translateY(0%) scale(1);
}

.sl-slide-horizontal .sl-content-slice:first-child {
    top: -200px;
    padding: 200px 200px 0px 200px;
}

.sl-slide-horizontal .sl-content-slice:nth-child(2) {
    top: 50%;
    padding: 0px 200px 200px 200px;
}

/* Vertical slice */

.sl-slide-vertical .sl-content-slice {
    width: 50%;
    height: 100%;
    top: -200px;
    -webkit-transform: translateX(0%) scale(1);
    -moz-transform: translateX(0%) scale(1);
    -o-transform: translateX(0%) scale(1);
    -ms-transform: translateX(0%) scale(1);
    transform: translateX(0%) scale(1);
}

.sl-slide-vertical .sl-content-slice:first-child {
    left: -200px;
    padding: 200px 0px 200px 200px;
}

.sl-slide-vertical .sl-content-slice:nth-child(2) {
    left: 50%;
    padding: 200px 200px 200px 0px;
}

/* Content wrapper */
/* Width and height is set dynamically */
.sl-content-wrapper {
    position: absolute;
}

.sl-content {
    width: 100%;
    height: 100%;
}

/* Default styles for background colors

.btn-effect:after {
    width: 0%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff;
    content: "";
    position: absolute;
    z-index: -1;

    -webkit-transition: all 0.3s ease-out 0s;
       -moz-transition: all 0.3s ease-out 0s;
        -ms-transition: all 0.3s ease-out 0s;
         -o-transition: all 0.3s ease-out 0s;
            transition: all 0.3s ease-out 0s;
}

.btn-effect:hover,
.btn-effect:active {
    color: #0e83cd;
}

.btn-effect:hover:after,
.btn-effect:active:after {
    width: 100%;
} */


/* Project laughtbox setup */

.fancybox-item.fancybox-close {
    background: url("../img/icons/close.png") no-repeat scroll 0 0 transparent;
    height: 50px;
    right: 0;
    top: 0;
    width: 50px;
}

.fancybox-next span {
    background: url("../img/right.png") no-repeat scroll center center #18d777;
    height: 50px;
    width: 50px;
    right: 0;
}

.fancybox-prev span {
    background: url("../img/left.png") no-repeat scroll center center #18d777;
    height: 50px;
    width: 50px;
    left: 0;
}

/*=================================================================
	About
==================================================================*/

#about {
    background: linear-gradient(135deg, #101820 60%, #18d777 100%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 20px 0; /* Reduced padding before the title */
    height: 570px !important;
}

.section-title {
    font-size: 38px; /* Increase font size for better visibility */
    margin-top: 10px;
    margin-bottom: 15px;
    color: #ffffff;
    text-align: center;
    position: relative; /* Enable positioning for the underline effect */
}

    /* Add a decorative line under the title */
    .section-title:after {
        content: ""; /* Create a pseudo-element */
        display: block; /* Make it a block element */
        width: 60px; /* Width of the line */
        height: 4px; /* Height of the line */
        background-color: #18d777; /* Line color */
        margin: 10px auto 0; /* Center the line and add top margin */
        border-radius: 2px; /* Slightly rounded edges */
    }

/* Optional: Add a subtle shadow to the title */
.section-title {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Adds depth */
}

.about-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.left-section {
    background-color: transparent; /* Replace with a valid color or hex */
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    color: white;
    max-width: 500px;
    border: none; /* Ensure no border is applied */
    border-radius: 0; /* Supprime les angles arrondis si c'est un probl�me */
    box-shadow: none; /* Aucune ombre port�e pour �viter des effets de contour */
    outline: none; /* Supprime tout effet de contour qui pourrait �tre caus� par des interactions */
}

.intro-text {
    font-size: 18px;
    line-height: 1.6em;
    margin-bottom: 20px;
}

.action-list {
    list-style: disc !important;
    list-style-position: inside;
    padding-left: 24px !important;
    margin-bottom: 18px;
}
    .action-list li {
    color: #fff;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 10px;
        position: relative;
    display: list-item !important;
}
.action-list li::marker {
    color: #4fdd4b;
    font-size: 1.6em;
    animation: about-bullet-pulse 1.5s infinite;
}
@keyframes about-bullet-pulse {
    0% { text-shadow: 0 0 0 #4fdd4b; }
    50% { text-shadow: 0 0 8px #4fdd4b, 0 0 16px #4fdd4b66; }
    100% { text-shadow: 0 0 0 #4fdd4b; }
}
/* Remove any hiding of bullets */
.about-check, .action-list li::before { display: initial !important; content: initial !important; }

.conclusion-text {
    font-size: 18px;
    line-height: 1.6em;
}

.right-section {
    margin-top: 70px;
    margin-bottom: 400px;
}

.about-image {
    border: none;
    border-radius: 8px;
    width: 100%;
    max-width: 400px;
    height: auto;
    margin-left: 20px;
}
.demo {
    background-color: black;
    padding: 0px 0;
}

.our-team {
    text-align: center;
    margin-bottom: 30px;
}

    .our-team .team_img {
        position: relative;
        overflow: hidden;
        width: 80%; /* Ensure the container fills the available width */
        max-width: 100%; /* Adjusted for consistent sizing */
        margin: 0 auto; /* Center the image containers */
        height: auto; /* Allow height to adjust naturally */
    }

        .our-team .team_img:after {
            content: "";
            width: 100%; /* Ensure it matches the width of the container */
            height: 100%; /* Match the height of the container */
            background-color: rgba(255, 255, 255, 0.2);
            position: absolute;
            bottom: -100%;
            left: 0;
            transition: all 0.3s ease 0s;
            display: block; /* Make sure it doesn't get stretched */
            box-sizing: border-box; /* Ensure padding/margins are included in width/height */
        }

    .our-team:hover .team_img:after {
        bottom: 0; /* Animate upwards to cover the image */
    }

    .our-team img {
        width: 100%; /* Ensure the image takes up the full container width */
        height: auto; /* Maintain the aspect ratio */
        object-fit: contain; /* Ensure the entire image is visible without cropping */
    }

/* Mobile Adjustments */
@media (max-width: 767px) {
    .our-team .team_img {
        max-width: 100%; /* Ensure full width on smaller screens */
        height: auto; /* Let the height adjust naturally */
    }

    .our-team img {
        width: 100%; /* Make the image fill the container's width */
        height: auto; /* Keep the aspect ratio */
        object-fit: contain; /* Ensure the entire image is visible */
    }

    .our-team .team-content {
        max-width: 100%; /* Adjust the content width */
    }
}

.our-team .team-content {
    padding: 20px 0;
    background: #fff;
    width: 80%; /* Ensure it matches the full width of the .team_img */
    margin: 0 auto; /* Center the content */
    box-sizing: border-box; /* Include padding in the width calculation */
}

.our-team .social {
    padding: 0 0 18px 0;
    margin: 0;
    list-style: none;
    position: absolute;
    top: -100%;
    right: 10px;
    background: #f76c5e;
    border-radius: 0 0 20px 20px;
    z-index: 1;
    transition: all 0.3s ease 0s;
}

.our-team:hover .social {
    top: 0;
}

.our-team .social li a {
    display: block;
    padding: 15px;
    font-size: 15px;
    color: #fff;
}

.our-team:hover .social li a:hover {
    color: #2a4284;
}

.our-team .title {
    font-size: 20px; /* Slightly larger for better readability */
    font-weight: bold;
    color: #2a4284; /* Text color */
    text-transform: capitalize;
    margin: 0 0 20px; /* Spacing below the title */
    position: relative; /* Position relative to allow for the underline */
}

    .our-team .title:after {
        content: ""; /* Creates the underline */
        display: block; /* Ensures it behaves like a block element */
        width: 50%; /* Full width under the title */
        height: 3px; /* Height of the underline */
        background: #27ae61; /* Green color */
        position: absolute; /* Position it absolutely relative to the title */
        bottom: -5px; /* Adjusts position below the title */
        left: 25%; /* Center it */
    }




/* Larger Mobile Screens and Tablets */
@media only screen and (max-width: 990px) {
    .our-team .team-content {
        width: 90%; /* Adjust for consistency on smaller screens */
        max-width: 100%; /* Ensure it matches the image size */
        margin: 0 auto; /* Center the content */
    }
}


/*=================================================================
	Services
==================================================================*/



.service-icon {
    border: 3px solid transparent;
    display: inline-block;
    height: 85px;
    width: 85px;
    line-height: 101px;

    -webkit-transform: rotate(47deg);
       -moz-transform: rotate(47deg);
        -ms-transform: rotate(47deg);
         -o-transform: rotate(47deg);
            transform: rotate(47deg);

    -webkit-transition: all 0.3s ease 0s;
       -moz-transition: all 0.3s ease 0s;
        -ms-transition: all 0.3s ease 0s;
         -o-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
}

.service-item:hover .service-icon,
.service-item:active .service-icon {
    border: 3px solid #4fdd4b !important;
    color: #4fdd4b !important;
}

.service-icon i {
    -webkit-transform: rotate(-48deg);
       -moz-transform: rotate(-48deg);
        -ms-transform: rotate(-48deg);
         -o-transform: rotate(-48deg);
            transform: rotate(-48deg);
    color: inherit !important;
    transition: color 0.2s;
}
.service-item:hover .service-icon i {
    color: inherit !important;
}
.service-item:active .service-icon i {
    color: #4fdd4b !important;
}

.service-item h3 {
    font-size: 20px;
    text-transform: uppercase;
    color: #4fdd4b !important;
}

/* Only apply green color to icon when .service-item is active (clicked), not on hover */
.service-item:hover .service-icon i {
    color: inherit !important;
}
.service-item:active .service-icon i {
    color: #4fdd4b !important;
}

/*=================================================================
	Portfolio
==================================================================*/

.project-wrapper {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.project-wrapper li {
    display: inline-block;
}

.portfolio-item {
    cursor: pointer;
    margin: 0 1% 1% 0;
    overflow: hidden;
    position: relative;
    width: 32%;
}

figcaption.mask {
    background-color: rgba(54, 55, 50, 0.79);
    bottom: -126px;
    color: #fff;
    padding: 25px;
    position: absolute;
    width: 100%;
    text-align: left;
    
    -webkit-transition: all 0.4s ease 0s;
       -moz-transition: all 0.4s ease 0s;
        -ms-transition: all 0.4s ease 0s;
         -o-transition: all 0.4s ease 0s;
            transition: all 0.4s ease 0s;
}

.portfolio-item:hover figcaption.mask {
    bottom: 0;
}

figcaption.mask h3 {
    margin: 0;
    color: #fff;
}

ul.external {
    list-style: outside none none;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: -47px;
    
    -webkit-transition: all 0.4s ease 0s;
       -moz-transition: all 0.4s ease 0s;
        -ms-transition: all 0.4s ease 0s;
         -o-transition: all 0.4s ease 0s;
            transition: all 0.4s ease 0s;
}

ul.external li {
    display: inline-block;
}

ul.external li a {
    background-color: rgba(255, 255, 255, 0.9);
    color: #818181;
    display: block;
    padding: 10px 18px 13px;
    
    -webkit-transition: all 0.5s ease 0s;
       -moz-transition: all 0.5s ease 0s;
        -ms-transition: all 0.5s ease 0s;
         -o-transition: all 0.5s ease 0s;
            transition: all 0.5s ease 0s;
}

ul.external li a:hover {
    background-color: #18d777;
    color: #fff;
}

.portfolio-item:hover ul.external {
    top: 0;
}

.fancybox-skin {
    border-radius: 0;
}

.fancybox-title.fancybox-title-inside-wrap {
    padding: 15px;
}

.fancybox-title h3 {
    margin: 0 0 15px;
}

.fancybox-title p {
    color: #818181;
    font-size: 16px;
    line-height: 22px;
}

.fancybox-title-inside-wrap {
    padding-top: 0;
}

/*=================================================================
	Testimonials
==================================================================*/


#testimonials {
    background-image: url(../img/parallax/testimonial.jpg);
    padding: 0;
    color: #fff;
}

#testimonials .sec-title h2:after {
    border-bottom: 1px solid #fff;
}

#testimonials .overlay {
    background-color: rgba(15,155,224, 0.78);
    padding: 70px 0 40px;
}

.testimonial-item {
    margin: 0 auto;
    padding-bottom: 50px;
    width: 64%;
}

.testimonial-item img {
    border: 3px solid #fff;
    border-radius: 50%;
    display: inline-block;
    height: auto;
    max-width: 100px;
}

.testimonial-item > div {
    line-height: 30px;
    position: relative;
}

.testimonial-item > div:before {
    background-image: url("../img/icons/quotes.png");
    background-repeat: no-repeat;
    bottom: 127px;
    height: 33px;
    left: -35px;
    position: absolute;
    width: 45px;
}

.testimonial-item > div:after {
    background-image: url("../img/icons/quotes.png");
    background-position: -58px 0;
    background-repeat: no-repeat;
    bottom: -50px;
    height: 33px;
    position: absolute;
    right: 0;
    width: 45px;
}

.testimonial-item > div > span {
    display: inline-block;
    font-weight: 700;
    margin: 40px 0 30px;
    text-transform: uppercase;
}

#testimonials .owl-controls.clickable {
    margin-top: 20px;
    text-align: center;
}

#testimonials .owl-buttons {
    border: 2px solid #fff;
    float: inherit;
}

#testimonials .owl-prev:hover,
#testimonials .owl-next:hover {
    color: #fff;
}

.price-table {
    border: 1px solid #e3e3e3;
}

.price-table.featured {
    -webkit-box-shadow: 0 4px 5px rgba(0,0,0,0.19);
       -moz-box-shadow: 0 4px 5px rgba(0,0,0,0.19);
            box-shadow: 0 4px 5px rgba(0,0,0,0.19);
}

.price-table > span {
    color: #252525;
    display: block;
    font-size: 24px;
    padding: 30px 0;
    text-transform: uppercase;
}

.price-table .value {
    background-color: #f8f8f8;
    color: #727272;
    padding: 20px 0;

    -webkit-transition: all 0.7s ease 0s;
       -moz-transition: all 0.7s ease 0s;
        -ms-transition: all 0.7s ease 0s;
         -o-transition: all 0.7s ease 0s;
            transition: all 0.7s ease 0s;
}

.price-table.featured .value {
    background-color: #18d777;
    color: #fff;
}

.price-table .value span {
    display: inline-block;
}

.price-table .value span:first-child {
    font-size: 32px;
    line-height: 32px;
}

.price-table .value span:nth-child(2) {
    font-size: 65px;
    line-height: 65px;
    margin-bottom: 25px;
}

.price-table .value span:last-child {
    font-size: 16px;
}

.price-table ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.price-table ul li {
    border-top: 1px solid #e3e3e3;
    display: block;
    padding: 25px 0;

    -webkit-transition: all 0.7s ease 0s;
       -moz-transition: all 0.7s ease 0s;
        -ms-transition: all 0.7s ease 0s;
         -o-transition: all 0.7s ease 0s;
            transition: all 0.7s ease 0s;
}

.price-table ul li a {
    display: block;
    text-transform: uppercase;
}

.price-table.featured ul li:last-child,
.price-table ul li:last-child:hover {
    background-color: #18d777;
}

.price-table.featured ul li:last-child a,
.price-table ul li:last-child:hover a {
    color: #fff;
}


/*=================================================================
	Price
==================================================================*/

#social {
    background-image: url(../img/back.jpeg);
    padding: 0;
}

#social .overlay {
    background: url("../img/slide_bg.png") repeat scroll 0 0 transparent;
    padding: 100px 0 120px;
}

.social-button {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.social-button li {
    display: inline-block;
}

.social-button li:nth-child(2) {
    margin: 0 75px;
}

.social-button li a {
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    display: block;
    height: 90px;
    line-height: 96px;
    width: 90px;
    
    -webkit-transition: all 0.2s ease 0s;
       -moz-transition: all 0.2s ease 0s;
        -ms-transition: all 0.2s ease 0s;
         -o-transition: all 0.2s ease 0s;
            transition: all 0.2s ease 0s;
}

.social-button li a:hover {
    color: #18d777;
    border: 2px solid #18d777;
}


/*=================================================================
	Contact
==================================================================*/
/* General Styles for Contact Section */
#contact {
    padding: 60px 0; /* Add padding for spacing */
    background-color: black; /* Black background */
}

/* Title Styles */
.sec-title h2 {
    color: #18d777; /* Set both titles to the same green color */
    font-size: 28px; /* Larger font size */
    font-weight: 700; /* Bold weight */
    margin-bottom: 10px; /* Space below the title */
    text-transform: uppercase; /* Uppercase text */
}

/* Address Styles */
.contact-details {
    text-align: left; /* Align text to the left */
    margin-top: 20px; /* Add margin for spacing */
}

    .contact-details p {
        line-height: 1.6; /* Improve line height for readability */
        margin: 10px 0; /* Space between paragraphs */
    }

        .contact-details p i {
            margin-right: 10px; /* Space between icon and text */
        }

/* Social Media Button Styles */
.social-button {
    list-style: none; /* Remove list styling */
    padding: 0; /* Remove padding */
    display: flex; /* Flexbox for horizontal layout */
    justify-content: center; /* Center the buttons */
}

    .social-button li {
        margin: 0 10px; /* Space between social buttons */
    }

    .social-button a {
        color: #18d777; /* Icon color to match titles */
        transition: color 0.3s; /* Smooth transition for hover effect */
    }

        .social-button a:hover {
            color: #fff; /* Change color on hover */
        }

/* Responsive Adjustments */
@media only screen and (max-width: 768px) {
    .row {
        flex-direction: column; /* Stack columns on smaller screens */
    }

    .col-md-6 {
        margin-bottom: 20px; /* Space between stacked columns */
    }
}

/*============================================================
	Google Maps
==============================================================*/

#google-map {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
#google-map > div {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/*============================================================
	Footer
==============================================================*/

#footer {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    padding: 24px 0;
    color: #fff;
    border-top: 1px solid #4fdd4b22;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.footer-content {
    text-align: center;
    color: #fff;
    max-width: 500px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.footer-license {
    padding: 0;
    margin: 0;
}

.footer-license p {
    margin: 8px 0;
    color: #b2b2b2;
    font-size: 14px;
    font-family: 'Poppins', 'Roboto', sans-serif;
    line-height: 1.4;
    font-weight: 400;
    transition: color 0.3s ease;
}

.footer-license p:first-child {
    color: #e6ffe6;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 12px;
    letter-spacing: 0.5px;
}

.footer-license p:last-child {
    color: #4fdd4b;
    font-size: 13px;
    font-weight: 500;
    opacity: 0.8;
    font-style: italic;
}

/* Responsive Footer */
@media (max-width: 480px) {
    .footer-content {
        padding: 0 16px;
    }
    
    .footer-license p {
        font-size: 13px;
    }
    
    .footer-license p:first-child {
        font-size: 15px;
    }
    
    .footer-license p:last-child {
        font-size: 12px;
    }
}

.subscribe-form {
    position: relative;
}

.subscribe.form-control {
    background-color: transparent;
    border: 1px solid #7f7f7f;
}

.subscribe.form-control:focus {
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
}

.submit-icon {
    background-color: #7f7f7f;
    border: 0 none;
    border-radius: 0;
    color: #c1c1c1;
    padding: 13px 20px;
    position: absolute;
    overflow: hidden;
    right: 0;
    top: 0;
}

.submit-icon .fa-paper-plane {
    position: relative;
    top: 0;
    
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);

    -webkit-transition: all 0.3s ease 0.2s;
       -moz-transition: all 0.3s ease 0.2s;
        -ms-transition: all 0.3s ease 0.2s;
         -o-transition: all 0.3s ease 0.2s;
            transition: all 0.3s ease 0.2s;
}

.submit-icon:hover .fa-paper-plane {
    position: relative;
    top: -37px;
    
    -webkit-transform: translateX(30px);
       -moz-transform: translateX(30px);
        -ms-transform: translateX(30px);
         -o-transform: translateX(30px);
            transform: translateX(30px);
}

.footer-content .footer-social {
    margin: 40px 0 35px;
}

.footer-social ul {
    list-style: outside none none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.footer-social ul li {
    display: inline-block;
    margin: 0 10px;
}

.footer-social ul li a {
    color: #7f7f7f;
    display: block;
    
    -webkit-transition: all 0.2s ease 0s;
       -moz-transition: all 0.2s ease 0s;
        -ms-transition: all 0.2s ease 0s;
         -o-transition: all 0.2s ease 0s;
            transition: all 0.2s ease 0s;
}

.footer-social ul li a:hover {
    color: #18d777;
}

.footer-content > p {
    color: #ababab;
    font-size: 12px;
}



/*============================================================ 
	Responsive Styles
 ============================================================*/

/*============================================================
	For Small Desktop
==============================================================*/

@media (min-width: 980px) and (max-width: 1150px) {

/*about*/
    #about .welcome-block img {
        margin-bottom: 30px;
    }

/* portfolio */
    figcaption.mask {
        bottom: -151px;
    }

    .testimonial-item > div:after {
        bottom: -40px;
    }
}


/*============================================================
	Tablet (Portrait) Design for a width of 768px
==============================================================*/

@media (min-width: 768px) and (max-width: 979px) {

/* home slider  */
    .caption-content h2 {
        font-size: 40px;
    }

    .caption-content p {
        font-size: 25px;
    }

    .caption-content strong {
        font-size: 45px;
    }

/* about */
    .recent-works {
        margin-bottom: 50px;

    }

    .service-item {
        margin-bottom: 50px;
    }

/* portfolio */
    .portfolio-item {
        width: 48%;
    }

/* testimonial */
    .testimonial-item {
        width: 100%;
    }

    .testimonial-item {
        width: 80%;
    }

    .testimonial-item > div:after {
        bottom: -35px;
    }

/* price */
    .price-table {
        margin-bottom: 50px;
    }

/* contact form */
    .contact-form {
        margin-bottom: 50px;
    }
}


/*============================================================
	Mobile (Portrait) Design for a width of 320px
==============================================================*/

@media only screen and (max-width: 767px) {

    body {
        font-size: 14px;
    }

    .parallax {
        background-position: centet tip !important;
    }

    .sec-title h2 {
        font-size: 25px;
    }

    .sec-title h2:after {
        left: 30%;
    }

/*navigation*/
    .navbar-inverse .navbar-toggle {
        border-color: #fff;
    }

    .navbar-inverse .navbar-toggle:hover,
    .navbar-inverse .navbar-toggle:focus {
        background-color: transparent;
    }

/* Enhanced Mobile Video Section */
    #home-slider {
        height: 100vh !important;
        min-height: 600px !important;
    }
    
    .video-background {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
    
    .caption-content {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        text-align: center !important;
        width: 90% !important;
        max-width: 500px !important;
        padding: 20px !important;
        background: none !important;
        border-radius: 0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        max-height: 90vh !important;
        overflow: visible !important;
    }
    
    .caption-content h2 {
        font-size: 24px !important;
        font-weight: 700 !important;
        margin-bottom: 15px !important;
        line-height: 1.3 !important;
    }

    .caption-content > span {
        font-size: 18px !important;
        margin-bottom: 20px !important;
        display: block !important;
    }

    .caption-content p {
        font-size: 16px !important;
        margin-bottom: 25px !important;
        line-height: 1.5 !important;
    }

    .caption-content strong {
        font-size: 20px !important;
    }
    
    .btn-demo {
        font-size: 16px !important;
        padding: 12px 24px !important;
        border-radius: 25px !important;
        display: inline-block !important;
        margin-top: 10px !important;
    }

/* about */
    .recent-works {
        margin-bottom: 85px;
    }

    #about h3 {
        font-size: 18px;
        margin: 0 0 35px !important;
    }

    #about .owl-buttons {
        margin-top: 20px;
    }

    #about .message-body {
        margin-bottom: 45px;
    }

    #about .welcome-block img {
        margin: 0 25px 15px 0;
    }

/* service */
    .service-item {
        width: 100%;
    }

/*portfolio*/
    .portfolio-item {
        margin: 0 auto 10px;
        font-size: 14px;
        width: 280px;
    }

    figcaption.mask {
        bottom: -107px;
        color: #fff;
        padding: 15px;
    }

/* lightbox */
    .fancybox-title h3 {
        font-size: 20px;
    }

    .fancybox-title p {
        font-size: 14px;
    }

/* testimonial */
    .testimonial-item {
        width: 95%;
    }

    .testimonial-item > div:before,
    .testimonial-item > div:after {
        background-image: none;
    }

    .testimonial-item > div > span {
        margin: 30px 0 20px;
    }

/* price */
    .price-table {
        margin-bottom: 50px;
    }

/* follow us */
    .social-button li:nth-child(2) {
        margin: 0 25px;
    }

    .social-button li a {
        height: 65px;
        line-height: 71px;
        width: 65px;
    }

/* contact form */
    .contact-form {
        margin-bottom: 50px;
    }

/* footer */
    .footer-content {
        width: 100%;
    }

    .footer-license p {
        font-size: 13px;
    }
    
    .footer-license p:first-child {
        font-size: 15px;
    }
    
    .footer-license p:last-child {
        font-size: 12px;
    }

    .footer-social ul li {
        margin: 0 7px;
    }
}

/* Style for the timeline section with background image */
/* Timeline Container */
.timeline-section {
    background: linear-gradient(135deg, #181f24 60%, #232b2f 100%);
    padding: 64px 0 64px 0;
 
    margin: 0;
    overflow-x: hidden !important;

}
.timeline-title-centered {
    text-align: center;
    margin-bottom: 32px !important;
}
.timeline-title-centered h2 {
    color: #4fdd4b !important;
    font-size: 2.2rem;
    margin-bottom: 0;
    text-shadow: 0 2px 12px #0005;
}
.timeline-centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    max-width: 700px;
    width: 100%;
    background: transparent !important;
    border-radius: 0;
    box-shadow: none !important;
    padding: 36px 18px 36px 18px;
}
.timeline {
    position: relative;
    width: 100%;
    padding: 0;
    list-style: none;
}
.timeline-item {
    padding: 32px 24px 32px 60px;
    position: relative;
    border-left: 4px solid #4fdd4b;
    margin-bottom: 36px;
    background: rgba(255,255,255,0.04);
    border-radius: 12px;
    box-shadow: 0 2px 12px #4fdd4b11;
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.timeline-item:last-child {
    margin-bottom: 0;
}
    .timeline-item::before {
        content: '';
        position: absolute;
    top: 32px;
    left: -14px;
    width: 22px;
    height: 22px;
        border-radius: 50%;
    background: #4fdd4b;
        border: 4px solid #fff;
    box-shadow: 0 0 0 4px #4fdd4b44;
    z-index: 2;
    }
.timeline-date {
    font-size: 1rem;
    font-weight: 700;
    color: #4fdd4b;
    position: absolute;
    left: -160px;
    top: 32px;
    background: #232b2f;
    padding: 6px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 8px #0002;
    text-align: center;
}
.timeline-content {
    background: none;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    position: relative;
    z-index: 1;
    color: #fff;
    text-align: left;
}
    .timeline-content h3 {
        margin-top: 0;
    color: #4fdd4b;
    font-size: 1.25rem;
    margin-bottom: 8px;
    }
    .timeline-content p {
    color: #e6ffe6;
        margin-bottom: 0;
    font-size: 18px;
    line-height: 1.6;
    }
@media screen and (max-width: 900px) {
    .timeline-date {
        left: 0;
        top: -24px;
        position: relative;
        margin-bottom: 10px;
        padding: 4px 8px;
    }
    .timeline-item {
        padding-left: 24px;
    }
    .timeline-centered {
        padding: 18px 2vw 18px 2vw;
    }
}
@media screen and (max-width: 600px) {
    .timeline-title-centered h2 {
        font-size: 1.2rem;
    }
    .timeline-item {
        padding: 18px 4px 18px 18px;
        max-width: 98vw;
    }
    .timeline-date {
        font-size: 0.9rem;
        left: 0;
        top: -18px;
        padding: 3px 6px;
    }
}



.fa.fa-twitter::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    content: "";
    background-color: currentColor; /* Use current color */
    -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 -8 26 30" xmlns="http://www.w3.org/2000/svg"><g><path fill="white" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg>') no-repeat center;
    mask: url('data:image/svg+xml;utf8,<svg viewBox="0 -8 26 30" xmlns="http://www.w3.org/2000/svg"><g><path fill="white" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg>') no-repeat center;
    background-position: center ; /* Adjust to move the icon up slightly */
    background-size: contain; /* Ensures the entire icon fits within */
    margin: 0 auto; /* Centers the icon */
    vertical-align: middle; /* Aligns it with other inline elements */
}

.fab.fa-twitter::before {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    content: "";
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 -8 26 30" xmlns="http://www.w3.org/2000/svg"><g><path fill="white" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg>') no-repeat center;
    mask: url('data:image/svg+xml;utf8,<svg viewBox="0 -8 26 30" xmlns="http://www.w3.org/2000/svg"><g><path fill="white" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg>') no-repeat center;
    background-position: center 3px;
}

/* --- Redesigned About Section Styles --- */
#about {
    background: linear-gradient(135deg, #101820 60%, #18d777 100%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 60px 0 40px 0;
    min-height: 400px;
    position: relative;
    overflow: visible;
}

/* About section: match typography and width to other sections */
.about-content-centered {
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.about-card {
    background: rgba(24,31,36,0.98);
    border-radius: 18px;
    box-shadow: 0 4px 32px #0003;
    border: 1.5px solid #4fdd4b33;
    padding: 32px 24px 24px 24px;
    color: #fff;
    margin: 0 auto;
    max-width: 700px;
    width: 100%;
    display: block;
}
/* Enhanced Mobile Layout for All Sections */
@media (max-width: 700px) {
    /* Fix About Section Mobile Display */
    #about {
        padding: 60px 0 0 0 !important;
        min-height: auto !important;
        margin-bottom: 0 !important;
        overflow: visible !important;
    }
    
    .about-card {
        padding: 30px 3vw 30px 3vw !important;
        max-width: 92vw !important;
        margin: 0 auto !important;
        border-radius: 15px !important;
        min-height: auto !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    
    .about-content-centered {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .about-card .intro-text {
        font-size: 16px !important;
        line-height: 1.6 !important;
        margin-bottom: 20px !important;
    }
    
    .action-list {
        padding-left: 20px !important;
        margin-bottom: 20px !important;
    }
    
    .action-list li {
        font-size: 15px !important;
        margin-bottom: 8px !important;
        line-height: 1.5 !important;
    }
    
    .conclusion-text {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }
    
    /* Ensure About Section is fully visible */
    .about-wide {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .about-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Service Section Mobile */
    #service {
        padding: 0 0 40px 0 !important;
    }
    
    #service .service-item {
        margin-bottom: 30px !important;
        padding: 20px 15px !important;
        border-radius: 15px !important;
        background: rgba(255, 255, 255, 0.05) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        border: 1px solid rgba(79, 221, 75, 0.2) !important;
    }
    
    #service .service-icon {
        margin-bottom: 15px !important;
    }
    
    #service .service-icon i {
        font-size: 2.5rem !important;
        color: #4fdd4b !important;
    }
    
    #service .service-item h3 {
        font-size: 18px !important;
        margin-bottom: 10px !important;
    }
    
    #service .service-item p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    /* Contact Section Mobile */
    #contact-form-centered {
        padding: 40px 0 !important;
    }
    
    .contact-grid-form {
        padding: 20px 4vw !important;
        max-width: 95vw !important;
        margin: 0 auto !important;
    }
    
    .contact-grid-form .form-group {
        margin-bottom: 20px !important;
    }
    
    .contact-grid-form .form-group label {
        font-size: 14px !important;
        margin-bottom: 8px !important;
        color: #4fdd4b !important;
    }
    
    .contact-grid-form .form-control {
        font-size: 16px !important;
        padding: 12px 15px !important;
        border-radius: 8px !important;
        border: 2px solid rgba(79, 221, 75, 0.3) !important;
        background: rgba(255, 255, 255, 0.1) !important;
        color: #fff !important;
    }
    
    .contact-grid-form .form-control:focus {
        border-color: #4fdd4b !important;
        box-shadow: 0 0 0 3px rgba(79, 221, 75, 0.2) !important;
        background: rgba(255, 255, 255, 0.15) !important;
    }
    
    .contact-grid-form textarea.form-control {
        min-height: 120px !important;
        resize: vertical !important;
    }
    
    .btn-demo {
        width: 100% !important;
        font-size: 16px !important;
        padding: 15px 20px !important;
        border-radius: 25px !important;
        margin-top: 10px !important;
    }
    
    /* Enhanced Timeline Section Mobile */
    .timeline-section {
        padding: 50px 0 !important;
        background: black !important;
    }
    
    .timeline-title-centered h2 {
        font-size: 24px !important;
        margin-bottom: 30px !important;
        color: #4fdd4b !important;
        text-align: center !important;
    }
    
    .timeline-centered {
        padding: 0 4vw !important;
        max-width: 100% !important;
    }
    
    .timeline-item {
        padding: 25px 4vw 25px 4vw !important;
        margin-bottom: 30px !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border: 1px solid rgba(79, 221, 75, 0.3) !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
        position: relative !important;
        border-left: 4px solid #4fdd4b !important;
    }
    
    .timeline-item::before {
        content: '' !important;
        position: absolute !important;
        top: 25px !important;
        left: -8px !important;
        width: 16px !important;
        height: 16px !important;
        border-radius: 50% !important;
        background: #4fdd4b !important;
        border: 3px solid #fff !important;
        box-shadow: 0 0 0 3px rgba(79, 221, 75, 0.3) !important;
        z-index: 2 !important;
    }
    
    .timeline-date {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #4fdd4b !important;
        margin-bottom: 15px !important;
        display: block !important;
        text-align: left !important;
    }
    
    .timeline-content h3 {
        font-size: 18px !important;
        margin-bottom: 12px !important;
        color: #4fdd4b !important;
        font-weight: 600 !important;
    }
    
    .timeline-content p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #e6ffe6 !important;
        margin-bottom: 0 !important;
    }
    
    /* Partners and Social Section Mobile */
    .partners-section, .social-media-card {
        padding: 20px 4vw !important;
        margin-bottom: 20px !important;
        border-radius: 15px !important;
    }
    
    .partners-logos-container {
        margin-top: 15px !important;
    }
    
    .partners-logos-scroll {
        gap: 24px !important;
        animation-duration: 15s !important;
    }
    
    .partners-logos-row {
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
    }
    
    .partner-logo {
        max-width: 150px !important;
        height: auto !important;
    }
    
    .social-media-row {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .social-icon-link {
        padding: 15px 20px !important;
        border-radius: 10px !important;
        background: rgba(79, 221, 75, 0.1) !important;
        border: 1px solid rgba(79, 221, 75, 0.3) !important;
        text-align: center !important;
        transition: all 0.3s ease !important;
    }
    
    .social-icon-link:hover {
        background: rgba(79, 221, 75, 0.2) !important;
        transform: translateY(-2px) !important;
    }
}

.about-wide {
    width: 100%;
    max-width: 900px;
}

#about .section-title {
    font-family: 'Montserrat', 'Poppins', sans-serif;
    font-size: 38px;
    font-weight: 700;
    color: #4fdd4b;
    margin-bottom: 18px;
    text-align: left;
    text-shadow: none;
    position: relative;
}
#about .section-title:after {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    background: #4fdd4b;
    margin: 10px 0 0 0;
    border-radius: 2px;
}

.about-card .intro-text, .about-card .conclusion-text {
    font-size: 18px;
    line-height: 1.6;
    font-family: 'Poppins', 'Roboto', sans-serif;
    color: #e6ffe6;
    text-align: left;
    margin-bottom: 18px;
}

/* About section action list with modern checkmarks */
.about-card .action-list {
    list-style: none;
    padding: 0;
    margin-bottom: 18px;
}
.about-card .action-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    font-size: 18px;
    color: #fff;
    font-family: 'Poppins', 'Roboto', sans-serif;
    position: relative;
    padding-left: 0;
}
.about-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #4fdd4b;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    flex-shrink: 0;
    margin-top: -1px;
    box-shadow: 0 2px 8px #4fdd4b33;
}
.about-check::before {
    content: '\2714'; /* Unicode checkmark */
    font-size: 15px;
    line-height: 1;
    display: block;
}

/* Remove old bullet animation for about section */
.about-card .action-list li::before {
    display: none !important;
}

.about-divider {
    width: 60px;
    height: 3px;
    background: #4fdd4b;
    border-radius: 2px;
    margin: 28px auto 24px auto;
    opacity: 0.7;
}

.about-highlight {
    color: #4fdd4b;
    font-weight: 600;
    letter-spacing: 0.5px;
}

@media (max-width: 991px) {
    .about-card, .about-wide {
        max-width: 98vw;
    }
    #about .section-title {
        font-size: 28px;
    }
    .about-card .intro-text, .about-card .conclusion-text, .about-card .action-list {
        font-size: 16px;
    }
}

/* About section improved title and subtitle */
.about-title {
    font-size: 28px !important;
    font-weight: 600;
    color: #18d777;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
    text-align: left;
    font-family: 'Montserrat', 'Poppins', sans-serif;
    border: none;
    background: none;
    box-shadow: none;
}
.about-title:after {
    display: none !important;
}
.about-subtitle {
    font-size: 18px;
    color: #b2ffda;
    font-family: 'Poppins', 'Roboto', sans-serif;
    font-weight: 400;
    margin-bottom: 18px;
    margin-top: 0;
    text-align: left;
    letter-spacing: 0.2px;
}

#home-slider .caption-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    z-index: 2;
    text-align: center;
    box-sizing: border-box;
}

.caption-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 18px;
    text-shadow: 0 4px 24px rgba(0,0,0,0.28);
    letter-spacing: 1px;
    font-family: 'Montserrat', 'Poppins', sans-serif;
}

.caption-subtitle {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 500;
    max-width: 600px;
    margin: 0 0 32px 0;
    line-height: 1.5;
    text-shadow: 0 4px 24px rgba(0,0,0,0.28);
    font-family: 'Poppins', 'Roboto', sans-serif;
}

.btn-demo {
    display: inline-block;
    background: #4fdd4b;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 14px 36px;
    border-radius: 32px;
    border: none;
    box-shadow: 0 2px 12px #4fdd4b33;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    margin-top: 8px;
}
.btn-demo:hover, .btn-demo:focus {
    background: #38b836;
    color: #fff;
    box-shadow: 0 4px 24px #4fdd4b55;
    text-decoration: none;
}

@media (max-width: 700px) {
    .caption-title {
        font-size: 1.2rem;
    }
    .caption-subtitle {
        font-size: 1rem;
        max-width: 90vw;
    }
    .btn-demo {
        font-size: 1rem;
        padding: 10px 18px;
    }
}

.eutropy-brand {
    font-family: 'Poppins', 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.2px;
    color: #fff;
    text-shadow: none;
    margin-left: 0;
    margin-right: 0;
    line-height: 1;
    display: inline-block;
    position: relative;
}

.partners-section {
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0;
}

.partners-section .section-title {
    color: #4fdd4b;
    font-size: 2rem;
    margin-bottom: 36px;
    text-align: center;
}
/* Partners Logos Scrolling Container */
.partners-logos-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-top: 20px;
    height: 100px;
    display: block !important;
}

.partners-logos-scroll {
    display: flex !important;
    align-items: center;
    gap: 32px;
    animation: scroll-logos 25s linear infinite;
    white-space: nowrap;
    width: max-content; /* Let it size to content */
    height: 100px;
    position: relative;
}

.partners-logos-scroll:hover {
    animation-play-state: paused;
}

@keyframes scroll-logos {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-100% / 2)); /* Move exactly half the total width (first set of logos) */
    }
}

/* Desktop-specific logo visibility fix */
@media (min-width: 769px) {
    .partners-logos-container {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .partners-logos-scroll {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .partners-logos-scroll .partner-logo {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
    }
}

/* Supporters Section Styling */
.supporters-section {
    text-align: center;
    width: 100%;
}

.supporters-section .section-title {
    color: #4fdd4b;
    font-size: 2.5rem;
    margin-bottom: 40px;
    text-align: center;
    font-weight: 700;
}

/* Footer Social Media Styling */
.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-license {
    flex: 1;
    min-width: 300px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-license-text {
    flex: 1;
}

.footer-social {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
    margin-left: 20px;
}


.footer-social-links {
    display: flex;
    gap: 15px;
}

.footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(79, 221, 75, 0.1);
    border: 2px solid rgba(79, 221, 75, 0.3);
    border-radius: 50%;
    color: #4fdd4b;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 18px;
}

.footer-social-link:hover {
    background: rgba(79, 221, 75, 0.2);
    border-color: #4fdd4b;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(79, 221, 75, 0.3);
}

/* Mobile Footer Adjustments */
@media (max-width: 768px) {
    .footer-content {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }
    
    .footer-license {
        min-width: auto;
        width: 100%;
        flex-direction: column;
        gap: 20px;
    }
    
    .footer-license-text {
        width: 100%;
    }
    
    .footer-social {
        justify-content: center;
        margin-left: 0;
    }
    
    .supporters-section .section-title {
        font-size: 2rem;
        margin-bottom: 30px;
    }
}

.partners-logos-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
    min-height: 80px;
}

.partner-logo {
    max-width: 180px;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(0.2) brightness(0.98) drop-shadow(0 2px 8px #0002);
    transition: filter 0.2s, transform 0.2s;
    background: #fff;
    border-radius: 10px;
    padding: 10px 18px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
    position: relative !important;
}
.partner-logo:hover {
    filter: grayscale(0) brightness(1.1) drop-shadow(0 4px 16px #4fdd4b44);
    transform: scale(1.06);
    background: #f6fff6;
}
@media (max-width: 700px) {
    .partners-logos-row {
        gap: 18px;
    }
    .partner-logo {
        max-width: 110px;
        max-height: 50px;
        padding: 6px 8px;
    }
    .partners-section .section-title {
        font-size: 1.2rem;
    }
}

@media (min-width: 768px) {
    .partners-section, .social-media-card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 180px !important;
        min-height: unset !important;
    }
}
@media (max-width: 767px) {
    .partners-section, .social-media-card {
        min-height: unset;
        margin-bottom: 24px;
    }
    .row > .col-md-6 {
        margin-bottom: 32px;
    }
}

.classy-contact-form {
    background: rgba(24,31,36,0.98);
    border-radius: 18px;
    box-shadow: 0 4px 32px #0003;
    padding: 36px 18px 28px 18px;
    color: #fff;
    margin: 32px auto 18px auto;
    max-width: 900px;
    width: 100%;
    display: block;
    border: 1.5px solid #4fdd4b33;
}
.classy-contact-form .form-group {
    margin-bottom: 22px;
}
.classy-contact-form label {
    font-family: 'Poppins', 'Montserrat', sans-serif;
    font-weight: 600;
    color: #4fdd4b;
    margin-bottom: 8px;
    display: block;
    font-size: 1.15rem;
}
.classy-contact-form .form-control {
    width: 100%;
    padding: 18px 10px;
    border-radius: 8px;
    border: 1.5px solid #4fdd4b44;
    background: #232b2f;
    color: #fff;
    font-size: 1.18rem;
    font-family: 'Poppins', 'Roboto', sans-serif;
    margin-top: 6px;
    margin-bottom: 0;
    transition: border 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 12px #4fdd4b11;
}
.classy-contact-form .form-control:focus {
    border: 1.5px solid #4fdd4b;
    outline: none;
    box-shadow: 0 0 0 2px #4fdd4b33;
    background: #232b2f;
}
.classy-contact-form textarea.form-control {
    min-height: 120px;
    max-height: 220px;
    resize: vertical;
}
.classy-contact-form .row {
    display: block;
    flex-wrap: unset;
    gap: unset;
    margin-left: unset;
    margin-right: unset;
}
.classy-contact-form .form-group.col-12.col-md-6 {
    flex: unset;
    min-width: unset;
    margin-bottom: unset;
}
.classy-contact-form .form-group {
    margin-bottom: 22px;
}
.classy-contact-form .btn-demo {
    width: 100%;
    margin-top: 18px;
    font-size: 1.22rem;
    padding: 18px 0;
    border-radius: 32px;
    background: #4fdd4b;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 2px 12px #4fdd4b33;
    border: none;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.classy-contact-form .btn-demo:hover, .classy-contact-form .btn-demo:focus {
    background: #38b836;
    color: #fff;
    box-shadow: 0 4px 24px #4fdd4b55;
}
@media (max-width: 1000px) {
    .classy-contact-form {
        max-width: 98vw;
        padding: 18px 2vw 18px 2vw;
    }
}

.social-media-card {
    background: rgba(24,31,36,0.98);
    border-radius: 18px;
    box-shadow: 0 4px 32px #0003;
    padding: 32px 18px 24px 18px;
    text-align: center;
    margin: 32px auto 0 auto;
    max-width: 400px;
}
.social-media-title {
    font-family: 'Poppins', 'Montserrat', sans-serif;
    font-size: 1.2rem;
    color: #4fdd4b;
    font-weight: 700;
    margin-bottom: 18px;
    letter-spacing: 0.5px;
}
.social-media-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 36px;
}
.social-icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
    font-size: 3rem;
    transition: color 0.2s;
    text-decoration: none;
    min-height: 80px;
    width: 120px;
} 
.social-icon-link:hover,
.social-icon-link:focus {
    color: #4fdd4b;
}
.social-icon-link i {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 100%;
    margin-bottom: 8px;
}
.social-icon-link span {
    font-size: 1rem;
    color: #e6ffe6;
    font-family: 'Poppins', 'Roboto', sans-serif;
    font-weight: 500;
    letter-spacing: 0.2px;
    text-align: center;
    width: 100%;
    display: block;
    line-height: 1.2;
}
@media (max-width: 700px) {
    .social-media-card {
        padding: 18px 4vw 18px 4vw;
        max-width: 98vw;
    }
    .social-media-row {
        gap: 18px;
        align-items: center;
    }
    .social-icon-link {
        font-size: 1.3rem;
        min-height: 60px;
        width: 100px;
    }
    .social-icon-link i {
        height: 1.3rem;
        margin-bottom: 6px;
    }
    .social-icon-link span {
        font-size: 0.9rem;
        text-align: center;
        width: 100%;
        display: block;
        line-height: 1.2;
    }
}

.contact-center-row {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
}
.contact-center-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.contact-form-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    font-family: 'Poppins', 'Montserrat', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.section-title, .section-title h2, .social-media-title, label, .form-control, .btn-demo {
    font-family: 'Poppins', 'Montserrat', sans-serif !important;
}
.section-title, .section-title h2, .social-media-title {
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: #4fdd4b !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 40px !important;
    text-shadow: 0 2px 12px #0005 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    letter-spacing: 0.5px;
    line-height: 1.1;
    position: relative;
}
.section-title:after, .section-title h2:after, .social-media-title:after {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    background: #4fdd4b;
    margin: 10px auto 0 auto;
    border-radius: 2px;
}
@media (max-width: 700px) {
    .section-title, .section-title h2, .social-media-title {
        font-size: 1.2rem !important;
    }
}

.partners-section, .social-media-card {
    background: rgba(24,31,36,0.98) !important;
    border-radius: 18px;
    box-shadow: 0 4px 32px #0003;
    padding: 32px 18px 24px 18px;
    text-align: center;
    margin: 0 auto 0 auto;
    width: 100%;
    border: 1.5px solid #4fdd4b33;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 340px;
    flex: 1 1 0;
    max-width: none;
}
.row > .col-md-6 {
    display: flex;
    align-items: stretch;
}
@media (max-width: 900px) {
    .partners-section, .social-media-card {
        max-width: 98vw;
        padding: 18px 4vw 18px 4vw;
        min-height: unset;
    }
    .row > .col-md-6 {
        align-items: initial;
    }
}

.contact-grid-form .contact-grid-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 32px;
    margin-bottom: 18px;
}
.contact-grid-form .contact-grid-fields .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}
.contact-grid-form .form-group label {
    margin-bottom: 8px;
    font-size: 1.15rem;
    color: #4fdd4b;
    font-weight: 600;
}
.contact-grid-form .form-group input.form-control {
    width: 100%;
    font-size: 1.18rem;
    padding: 18px 10px;
}
.contact-grid-form textarea.form-control {
    width: 100%;
    font-size: 1.18rem;
    padding: 18px 10px;
    min-height: 120px;
    max-height: 220px;
}
.contact-grid-form .form-group:last-of-type {
    grid-column: 1 / -1;
}
@media (max-width: 900px) {
    .contact-grid-form .contact-grid-fields {
        grid-template-columns: 1fr;
        gap: 12px 0;
    }
    .contact-grid-form .form-group input.form-control,
    .contact-grid-form textarea.form-control {
        font-size: 1rem;
        padding: 12px 10px;
    }
}

#about {
    position: relative;
    overflow: hidden;
}
.about-electric-lines {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
    pointer-events: none;
}
.about-electric-lines span,
.about-electric-lines::before,
.about-electric-lines::after {
    content: '';
    position: absolute;
    height: 2px;
    width: 120vw;
    background: linear-gradient(90deg, transparent 0%, #4fdd4b 40%, #4fdd4b 60%, transparent 100%);
    box-shadow: 0 0 16px 2px #4fdd4b99, 0 0 32px 4px #4fdd4b33;
    opacity: 0.7;
    border-radius: 2px;
    filter: blur(0.5px);
}
.about-electric-lines::before {
    top: 20%; left: -10vw;
    animation: electric-line-move 7s linear infinite;
}
.about-electric-lines::after {
    top: 60%; left: -20vw;
    animation: electric-line-move 9s linear infinite reverse;
}
.about-electric-lines span.line1 {
    top: 40%; left: -15vw;
    animation: electric-line-move 11s linear infinite;
}
.about-electric-lines span.line2 {
    top: 80%; left: -5vw;
    animation: electric-line-move 13s linear infinite reverse;
}
@keyframes electric-line-move {
    0% { transform: translateX(0); opacity: 0.7; }
    10% { opacity: 1; }
    50% { opacity: 0.8; }
    90% { opacity: 1; }
    100% { transform: translateX(30vw); opacity: 0.7; }
}
#about > .container, #about .about-content-centered, #about .about-card {
    position: relative;
    z-index: 2;
}

.about-green {
    color: #4fdd4b;
    font-weight: 600;
}

.timeline-content p {
    color: #e6ffe6;
    margin-bottom: 0;
    font-size: 1.15rem;
    line-height: 1.6;
}
.timeline-content h3 {
    margin-top: 0;
    color: #4fdd4b;
    font-size: 1.5rem;
    margin-bottom: 8px;
}

section, #about, #service, #timeline, #contact, #contact-form-centered, #partners {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}
/* Enhanced Mobile Typography and Spacing */
@media (max-width: 700px) {
    section, #about, #service, #timeline, #contact, #contact-form-centered, #partners {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
    
    /* Enhanced Typography for Mobile */
    .section-title {
        font-size: 24px !important;
        margin-bottom: 25px !important;
        text-align: center !important;
        line-height: 1.3 !important;
    }
    
    .section-title h2 {
        font-size: 24px !important;
        margin-bottom: 25px !important;
    }
    
    /* Better spacing for mobile */
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Mobile-specific button styles */
    .btn-demo {
        font-size: 16px !important;
        font-weight: 600 !important;
        padding: 15px 30px !important;
        border-radius: 25px !important;
        text-transform: none !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        display: inline-block !important;
        text-align: center !important;
        text-decoration: none !important;
        border: none !important;
        cursor: pointer !important;
        background: linear-gradient(135deg, #4fdd4b, #3bc73b) !important;
        color: #fff !important;
        box-shadow: 0 4px 15px rgba(79, 221, 75, 0.3) !important;
    }
    
    .btn-demo:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(79, 221, 75, 0.4) !important;
        background: linear-gradient(135deg, #3bc73b, #2aa32a) !important;
    }
    
    /* Mobile form improvements */
    .form-control::placeholder {
        color: rgba(255, 255, 255, 0.6) !important;
        font-size: 14px !important;
    }
    
    /* Mobile image optimizations */
    .product-interface-image img {
        width: 100% !important;
        height: auto !important;
        border-radius: 10px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* Mobile scroll improvements */
    html {
        scroll-behavior: smooth !important;
    }
    
    /* Mobile touch improvements */
    .navbar-inverse .navbar-nav > li > a,
    .language-btn,
    .btn-demo,
    .social-icon-link {
        -webkit-tap-highlight-color: rgba(79, 221, 75, 0.3) !important;
        touch-action: manipulation !important;
    }
    
    /* Mobile viewport optimizations */
    body {
        -webkit-text-size-adjust: 100% !important;
        -ms-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }
    
    /* Mobile performance optimizations */
    .video-background {
        will-change: transform !important;
    }
    
    .caption-content {
        will-change: transform !important;
    }
}
.section-title, .section-title h2, .social-media-title {
    margin-bottom: 28px !important;
}

.contact-info {
    text-align: center;
    font-size: 1.08rem;
    color: #e6ffe6;
    margin-bottom: 18px;
    font-family: 'Poppins', 'Montserrat', sans-serif;
}
.contact-info a {
    color: #4fdd4b;
    font-weight: 600;
    text-decoration: none;
}
.contact-info a:hover {
    text-decoration: underline;
}

.timeline-section .container {
    display: block !important;
    flex-direction: unset !important;
    gap: unset !important;
    align-items: unset !important;
    justify-content: unset !important;
}
.timeline-progress-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 420px;
    min-width: 32px;
    position: relative;
    margin-top: 24px;
}
.timeline-progress-bar::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #4fdd4b 0%, #232b2f 100%);
    border-radius: 2px;
    transform: translateX(-50%);
    z-index: 0;
    opacity: 0.7;
}
.timeline-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #4fdd4b;
    box-shadow: 0 0 16px 4px #4fdd4b66, 0 0 32px 8px #4fdd4b33;
    margin: 0 0 0 0;
    z-index: 1;
    animation: timeline-dot-pulse 2s infinite;
}
.timeline-dot:not(:last-child) {
    margin-bottom: 48px;
}
@keyframes timeline-dot-pulse {
    0% { box-shadow: 0 0 0 #4fdd4b; }
    50% { box-shadow: 0 0 16px 4px #4fdd4b66, 0 0 32px 8px #4fdd4b33; }
    100% { box-shadow: 0 0 0 #4fdd4b; }
}
@media (max-width: 900px) {
    .timeline-section .container {
        flex-direction: column;
        gap: 0;
        align-items: center;
    }
    .timeline-progress-bar {
        flex-direction: row;
        height: 32px;
        min-width: unset;
        width: 220px;
        margin: 32px auto 0 auto;
    }
    .timeline-progress-bar::before {
        width: 100%;
        height: 4px;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: linear-gradient(90deg, #4fdd4b 0%, #232b2f 100%);
    }
    .timeline-dot {
        margin-bottom: 0;
        margin-right: 24px;
    }
    .timeline-dot:last-child {
        margin-right: 0;
    }
}

.product-interface-container {
    background: rgba(24,31,36,0.98);
    border-radius: 18px;
    box-shadow: 0 4px 32px #0003;
    padding: 36px 18px 28px 18px;
    color: #fff;
    margin: 32px auto 18px auto;
    max-width: 900px;
    width: 100%;
            display: block;
        border: 1.5px solid #4fdd4b33;
        height: 570px;
        overflow-y: auto;
        overflow-x: hidden;
}

.product-interface-container::-webkit-scrollbar {
    width: 8px;
}

.product-interface-container::-webkit-scrollbar-track {
    background: rgba(79, 221, 75, 0.1);
    border-radius: 4px;
}

.product-interface-container::-webkit-scrollbar-thumb {
    background: #4fdd4b;
    border-radius: 4px;
}

.product-interface-container::-webkit-scrollbar-thumb:hover {
    background: #38b836;
}



.product-interface-images {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}

.product-interface-image {
    width: 100%;
    max-width: 500px;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(79, 221, 75, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-interface-image:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 32px rgba(79, 221, 75, 0.3);
}

.product-interface-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/* Extra Small Mobile Devices */
@media (max-width: 480px) {
    .caption-content {
        width: 95% !important;
        padding: 15px !important;
    }
    
    .caption-content h2 {
        font-size: 20px !important;
    }
    
    .caption-content p {
        font-size: 14px !important;
    }
    
    .section-title {
        font-size: 20px !important;
    }
    
    /* Enhanced About Section for Small Screens */
    #about {
        padding: 40px 0 0 0 !important;
        margin-bottom: 0 !important;
    }
    
    .about-card {
        padding: 20px 2vw 20px 2vw !important;
        max-width: 96vw !important;
        margin: 0 auto !important;
    }
    
    .about-card .intro-text {
        font-size: 15px !important;
        line-height: 1.5 !important;
        margin-bottom: 15px !important;
    }
    
    .action-list li {
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }
    
    .conclusion-text {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    .service-item {
        padding: 15px 10px !important;
    }
    
    .contact-grid-form {
        padding: 15px 3vw !important;
    }
    
    /* Enhanced Timeline for Extra Small Screens */
    .timeline-section {
        padding: 40px 0 !important;
    }
    
    .timeline-title-centered h2 {
        font-size: 20px !important;
        margin-bottom: 25px !important;
    }
    
    .timeline-item {
        padding: 20px 3vw 20px 3vw !important;
        margin-bottom: 25px !important;
        border-radius: 15px !important;
    }
    
    .timeline-item::before {
        top: 20px !important;
        left: -6px !important;
        width: 14px !important;
        height: 14px !important;
    }
    
    .timeline-date {
        font-size: 14px !important;
        margin-bottom: 12px !important;
    }
    
    .timeline-content h3 {
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }
    
    .timeline-content p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    .partners-section, .social-media-card {
        padding: 15px 3vw !important;
    }
    
    .btn-demo {
        font-size: 14px !important;
        padding: 12px 20px !important;
    }
}

/* Mobile rotation fixes */
@media (orientation: landscape) and (max-height: 500px) {
    /* Fix demo button visibility on mobile landscape */
    .btn-demo {
        font-size: 14px !important;
        padding: 12px 24px !important;
        margin: 10px auto !important;
        min-width: 180px !important;
        position: relative !important;
        z-index: 10 !important;
    }
    
    .caption-content {
        padding: 20px 0 !important;
        max-height: 80vh !important;
    }
    
    /* Hide hamburger menu in landscape when there's enough space */
    .navbar-toggle {
        display: none !important;
    }
    
    /* Show navigation items in landscape */
    .navbar-collapse {
        display: block !important;
        position: static !important;
        background: none !important;
        box-shadow: none !important;
        border: none !important;
        width: auto !important;
        float: right !important;
    }
    
    .navbar-nav {
        float: right !important;
        margin: 0 !important;
    }
    
    .navbar-nav > li {
        display: inline-block !important;
        float: left !important;
    }
    
    .navbar-nav > li > a {
        padding: 8px 12px !important;
        font-size: 14px !important;
    }
}

/* Ultra-wide landscape devices (like S20 Ultra) */
@media (orientation: landscape) and (min-width: 1000px) and (max-height: 400px) {
    .caption-content {
        max-height: 30vh !important;
        padding: 0px !important;
        top: 15% !important;
        transform: translate(-50%, -15%) !important;
        width: 99% !important;
        margin-bottom: 50px !important;
    }
    
    .caption-content h2 {
        font-size: 11px !important;
        margin-bottom: 0px !important;
        line-height: 1.0 !important;
    }
    
    .caption-content p {
        font-size: 8px !important;
        margin-bottom: 2px !important;
        line-height: 1.0 !important;
    }
    
    .btn-demo {
        font-size: 8px !important;
        padding: 2px 8px !important;
        margin: 0px auto 25px auto !important;
        min-width: 80px !important;
    }
}

/* iPhone 11 and similar device fixes */
@media (max-width: 414px) and (max-height: 896px) {
    .caption-content {
        max-height: 85vh !important;
        padding: 15px !important;
    }
    
    .caption-content h2 {
        font-size: 22px !important;
        margin-bottom: 12px !important;
    }
    
    .caption-content p {
        font-size: 15px !important;
        margin-bottom: 20px !important;
    }
    
    .btn-demo {
        font-size: 15px !important;
        padding: 12px 25px !important;
        margin: 12px auto !important;
    }
}

/* iPhone 11 Pro and similar landscape fixes */
@media (orientation: landscape) and (max-width: 896px) and (max-height: 414px) {
    .caption-content {
        max-height: 75vh !important;
        padding: 10px !important;
    }
    
    .caption-content h2 {
        font-size: 20px !important;
        margin-bottom: 8px !important;
    }
    
    .caption-content p {
        font-size: 14px !important;
        margin-bottom: 15px !important;
    }
    
    .btn-demo {
        font-size: 14px !important;
        padding: 10px 20px !important;
        margin: 8px auto !important;
    }
    
    /* Hide hamburger menu when all nav items are visible in landscape */
    .navbar-toggle {
        display: none !important;
    }
    
    /* Show navigation items in landscape when there's enough space */
    .navbar-collapse {
        display: block !important;
        position: static !important;
        background: none !important;
        box-shadow: none !important;
        border: none !important;
        width: auto !important;
        float: right !important;
    }
    
    .navbar-nav {
        float: right !important;
        margin: 0 !important;
    }
    
    .navbar-nav > li {
        display: inline-block !important;
        float: left !important;
    }
    
    .navbar-nav > li > a {
        padding: 8px 12px !important;
        font-size: 14px !important;
    }
}

/* Samsung Galaxy S20 Ultra and similar large devices landscape fixes */
@media (orientation: landscape) and (min-width: 897px) and (max-height: 400px) {
    .caption-content {
        max-height: 35vh !important;
        padding: 1px !important;
        top: 20% !important;
        transform: translate(-50%, -20%) !important;
        width: 95% !important;
        margin-bottom: 50px !important;
    }
    
    .caption-content h2 {
        font-size: 12px !important;
        margin-bottom: 1px !important;
        line-height: 1.0 !important;
    }
    
    .caption-content p {
        font-size: 9px !important;
        margin-bottom: 3px !important;
        line-height: 1.0 !important;
    }
    
    .btn-demo {
        font-size: 9px !important;
        padding: 3px 10px !important;
        margin: 1px auto 25px auto !important;
        min-width: 100px !important;
    }
    
    /* Hide hamburger menu for large landscape devices */
    .navbar-toggle {
        display: none !important;
    }
    
    /* Show navigation items in landscape */
    .navbar-collapse {
        display: block !important;
        position: static !important;
        background: none !important;
        box-shadow: none !important;
        border: none !important;
        width: auto !important;
        float: right !important;
    }
    
    .navbar-nav {
        float: right !important;
        margin: 0 !important;
    }
    
    .navbar-nav > li {
        display: inline-block !important;
        float: left !important;
    }
    
    .navbar-nav > li > a {
        padding: 6px 10px !important;
        font-size: 13px !important;
    }
}

/* Specific S20 Ultra landscape fix */
@media (orientation: landscape) and (min-width: 1400px) and (max-height: 350px) {
    .caption-content {
        max-height: 25vh !important;
        padding: 0px !important;
        top: 10% !important;
        transform: translate(-50%, -10%) !important;
        width: 98% !important;
        margin-bottom: 60px !important;
    }
    
    .caption-content h2 {
        font-size: 10px !important;
        margin-bottom: 0px !important;
        line-height: 1.0 !important;
    }
    
    .caption-content p {
        font-size: 7px !important;
        margin-bottom: 2px !important;
        line-height: 1.0 !important;
    }
    
    .btn-demo {
        font-size: 7px !important;
        padding: 1px 6px !important;
        margin: 0px auto 30px auto !important;
        min-width: 70px !important;
    }
}

/* Samsung Galaxy S20 Ultra specific fix - 915x412 dimensions */
@media (orientation: landscape) and (min-width: 900px) and (max-width: 920px) and (min-height: 400px) and (max-height: 420px) {
    .caption-content {
        max-height: 25vh !important;
        padding: 5px !important;
        top: 8% !important;
        transform: translate(-50%, -8%) !important;
        width: 98% !important;
        margin-bottom: 70px !important;
    }
    
    .caption-content h2 {
        font-size: 16px !important;
        margin-bottom: 8px !important;
        line-height: 1.2 !important;
    }
    
    .caption-content p {
        font-size: 12px !important;
        margin-bottom: 12px !important;
        line-height: 1.3 !important;
    }
    
    .btn-demo {
        font-size: 14px !important;
        padding: 8px 20px !important;
        margin: 8px auto 35px auto !important;
        min-width: 160px !important;
    }
}

/* Ensure demo button is always visible on mobile */
@media (max-width: 768px) {
    .btn-demo {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 10 !important;
        background: #4fdd4b !important;
        color: #fff !important;
        font-size: 16px !important;
        padding: 15px 30px !important;
        border-radius: 25px !important;
        text-decoration: none !important;
        margin: 15px auto !important;
        text-align: center !important;
        min-width: 200px !important;
        max-width: 90% !important;
        box-shadow: 0 4px 15px rgba(79, 221, 75, 0.3) !important;
    }
    
    .caption-content .btn-demo {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-width: 1000px) {
    .product-interface-container {
        max-width: 98vw;
        padding: 18px 2vw 18px 2vw;
        height: auto;
        min-height: 400px;
        max-height: 70vh;
    }
}

