/*
Template Name: EPIC - ASPIRE
Author URI: 
Author Name: Ioana
Version: 1.0
*/

/* --- TABLE OF CONTENT

01. GENERAL LAYOUT
02. HOME-ASPIRE   
03. ABOUT-ASPIRE 
04. SERVICES/FEATURES
05. REVIEWS 
06. OFFERS   
07. CONTACT & NEWSLETTER
08. BLOG 
09. FOOTER
10. OTHER ELEMENTS   
11. RESPONSIVE

--- */

/* ========================================================== */
/* 			               01. GENERAL LAYOUT                 */
/* ========================================================== */

ul, ol { 
	list-style: none; 
	list-style-image: none; 
	margin: 0; 
	padding: 0;
	font-size: 14px;
	line-height:24px;
	margin-bottom:20px;
}
	
ul li, ol li{
	font-size: 14px;
	line-height: 28px;
}

ul li i{
	vertical-align: middle;
}

p {
	font-size: 15px;
	line-height: 24px;
	font-weight: 400;
	color: #31353b;
	margin-bottom:15px;
	font-family: 'Open Sans', sans-serif;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  margin-bottom:20px;
  color: #2F362F;
  font-family: 'PT Sans', sans-serif;
}

h1 {
	font-size: 42px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 28px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 18px;
}

ul {
	padding: 0;
}

ul li{
	list-style-type: none;
}

a:hover, a:focus, a:active, a:visited {
	text-decoration: none;
}

iframe {
    max-width: 100%;
    border: none;
}

.white-text{ 
	color: #fff;
}

.section-white {
	background: #fff;
	padding: 70px 0;
}

.section-white-small{
	background: #fff;
	padding: 30px 0;
}

.section-grey{
	background: #f7f7f7;
	padding: 70px 0;
}

.section-dark{
	margin: 0;
	padding: 0;
	background: transparent;
	line-height: 0;
}

.section-dark-light{
	background-color:#2f3237;
	padding:70px 0;
}

.width-100{
	width: 100%;
}

/* margin and padding classes */

.margin-right-25 {
	margin-right: 25px !important;
}

.margin-top-110 {
	margin-top: 110px !important;
}

.margin-top-100 {
	margin-top: 100px !important;
}

.margin-top-90 {
	margin-top: 90px !important;
}

.margin-top-80 {
	margin-top: 80px !important;
}

.margin-top-60 {
	margin-top: 60px !important;
}

.margin-top-50 {
	margin-top: 50px !important;
}

.margin-top-40 {
	margin-top: 40px !important;
}

.margin-top-35 {
	margin-top: 35px !important;
}

.margin-top-30 {
	margin-top: 30px !important;
}

.margin-top-20 {
	margin-top: 20px !important;
}

.margin-top-10 {
	margin-top: 10px !important;
}

.margin-top-5 {
	margin-top: 5px !important;
}

.margin-bottom-0 {
	margin-bottom: 0px !important;
}

.margin-bottom-10 {
	margin-bottom: 10px !important;
}

.margin-bottom-20 {
	margin-bottom: 20px !important;
}

.margin-bottom-30 {
	margin-bottom: 30px !important;
}

.margin-bottom-40 {
	margin-bottom: 40px !important;
}

.margin-bottom-50 {
	margin-bottom: 50px !important;
}

.margin-bottom-60 {
	margin-bottom: 60px !important;
}

.margin-bottom-70 {
	margin-bottom: 70px !important;
}

.margin-bottom-80 {
	margin-bottom: 80px !important;
}

.margin-bottom-100 {
	margin-bottom: 100px !important;
}

.margin-bottom-120 {
	margin-bottom: 120px !important;
}

.margin-bottom-130 {
	margin-bottom: 120px !important;
}

.margin-bottom-140 {
	margin-bottom: 140px !important;
}

.padding-top-0 {
	padding-top: 0px !important;
}

.padding-top-10 {
	padding-top: 10px !important;
}

.padding-top-20 {
	padding-top: 20px !important;
}

.padding-top-25 {
	padding-top: 25px !important;
}

.padding-top-30 {
	padding-top: 30px !important;
}

.padding-top-40 {
	padding-top: 40px !important;
}

.padding-top-45 {
	padding-top: 45px !important;
}

.padding-top-50 {
	padding-top: 50px !important;
}

.padding-top-60 {
	padding-top: 60px !important;
}

.padding-top-70 {
	padding-top: 70px !important;
}

.padding-top-80 {
	padding-top: 80px !important;
}

.padding-top-100 {
	padding-top: 180px !important;
}

.padding-bottom-70 {
	padding-bottom: 70px !important;
}

.padding-bottom-60 {
	padding-bottom: 60px !important;
}

.padding-bottom-50 {
	padding-bottom: 50px !important;
}

.padding-bottom-40 {
	padding-bottom: 40px !important;
}

.padding-bottom-30 {
	padding-bottom: 30px !important;
}

.padding-bottom-20 {
	padding-bottom: 20px !important;
}

.padding-bottom-10 {
	padding-bottom: 10px !important;
}

.padding-bottom-0 {
	padding-bottom: 0px !important;
}

.margin-top-0 {
	margin-top: 0px !important;
}

/* ========================================================== */
/* 			               02. MENU-NAV                       */
/* ========================================================== */

.logo{
	font-family: 'PT Sans', sans-serif;
	font-size: 34px!important;
	color: #ccc;	
	padding: 10px 20px!important;
	text-transform: uppercase;
	color: #dbdbdb!important;
	display: none;
}

#navbar-collapse-02 li.selected a{
    color: #AF905B !important;
    border-bottom: 2px solid #AF905B !important;
}

.navbar-fixed-top #navbar-collapse-02 .current a {
    color: #AF905B !important;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-fixed-top.opaque #navbar-collapse-02 .current a {
    color: #AF905B !important;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar {
	padding-top: 15px;
	padding-bottom: 15px;
}

.navbar-fixed-top { 
	background: white !important;
	border-bottom: none;
	transition: background-color 1s ease 0s;
}

.navbar-fixed-top.opaque {
	background-color: white !important;
	padding: 10px 0;
	transition: all 1s ease-in-out 0s;
}

.navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > a:hover{
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-default .navbar-nav > li > a {
    color: #333 !important;
    font-size: 16px !important;
    line-height: 85px !important;
    text-transform: uppercase;
    padding: 0 20px !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    letter-spacing: 1px;
}

.navbar-default .navbar-nav > li > a#logo{
	color: #333 !important;
	font-family: 'PT Sans', sans-serif;
	font-size: 34px!important;
	padding: 5px 20px !important;
}

.navbar-default .navbar-toggle{
    border-color: #333;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #333;
}

@media (min-width: 768px) {
    .navbar .navbar-nav {
        display: flex;
        justify-content: center;
        width: 100%;
        gap: 25px;
    }

    .navbar-nav > li > a#logo {
        margin: 0 40px;
        padding: 0 !important;
    }

    .navbar .navbar-collapse {
        display: flex;
        justify-content: center;
    }

    .navbar .navbar-nav {
        float: none;
    }
}

/* ========================================================== */
/* 			               03. HOME-ASPIRE                    */
/* ========================================================== */

.home-bkgaspire {
	padding-top: 100px;
}

.section-aspire-images{
	background: url('../images/hero-aspire1.jpg') center center no-repeat;
	background-size: cover;
	padding: 70px 0;
	position: relative;
	background-attachment: fixed;
}

.section-aspire-images:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.75);
	z-index: 1;
}

.section-aspire-images .container {
	position: relative;
	z-index: 2;
}

.reviews-title {
	text-align: center;
	color: #fff;
	font-size: 36px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 50px;
}

.reviews-container {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 40px;
}

.review-box {
	flex: 1;
	padding: 0 15px;
}

.review-content {
	margin-bottom: 25px;
	position: relative;
}

.review-content p {
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
	font-style: italic;
	margin: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.review-author {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}

.author-image {
	width: 60px;
	height: 60px;
	overflow: hidden;
	border-radius: 50%;
}

.author-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.author-info h4 {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	margin: 0 0 5px 0;
}

.author-info span {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	display: block;
}

@media (max-width: 991px) {
	.reviews-container {
		flex-direction: column;
		gap: 40px;
	}
	
	.review-box {
		padding: 0;
	}
}

.home-bkgaspire img{
	width: 480px;
}

.hero-bkgaspire-headings {
	position: relative;
	text-align: center;
	padding: 0 30px;
	top: auto;
	transform: none;
}

.hero-bkgaspire-headings h1 {	
	font-size: 48px;
	line-height: 1.4;
	font-weight: 500;
	display: inline-block;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
	max-width: 1000px;
	margin: 0 auto;
}

.hero-bkgaspire-headings a{
	position: relative;
}

.btn-white-aspire {
	color: #fff;
	background-color: transparent;
	border: 2px solid #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	line-height: 20px;
	display: inline-block;
	padding: 35px 11px;
	border-radius: 50%;
	margin-top: 40px;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	z-index: 10;
}

.btn-white-aspire:before {
	content: '';
    width: 96px;
    height: 96px;
    position: absolute;
    border: 1px solid #fff;
    border-radius: 100%;
    top:50%;
    margin-top: -48px;	
    left:50%;
    margin-left:-48px;

    -webkit-animation: doublePulsation 1.9s ease infinite;
    animation: doublePulsation 1.9s ease infinite;
    z-index: 0;
}

@-webkit-keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

@keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

.btn-white-aspire:hover {
	color: #333;
	background-color: #fff;
}

/* ========================================================== */
/* 			               04. ABOUT-ASPIRE                   */
/* ========================================================== */

.about-bkgaspire {
	background: url(../images/aspire-aboutimg.png) top center no-repeat;
	padding: 100px 0;
}

.section-dark .aspire-headings h2{
    font-size: 30px;
    line-height: 34px;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 40px;
    color: #dbdbdb;
}

.section-dark .aspire-headings p{
	color: #fff;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
}

.aspire-abouthover{
	text-align: center!important;
	padding: 60px 40px 40px 40px;
	border: 1px solid #acaeb0;	
	border-radius: 2%;	
	width: 90%;
	margin: 0 auto;
	margin-bottom: 30px;
}

.aspire-abouticon {
	margin-bottom: 20px;
	text-align: center!important;
}

.aspire-aboutbox2 h5 {
	font-size: 18px;
	margin-bottom: 15px;
	color: #dbdbdb;
	letter-spacing: 1px;
}

.aspire-aboutbox2 p {
	font-size: 14px;
	color: #acaeb0;
}

/* ========================================================== */
/* 			               05. SERVICES/FEATURES              */
/* ========================================================== */

.section-white-aspire{
	padding-top: 40px;
}

.section-white-aspire .aspire-headings{
	padding: 60px 10px 10px 10px;
}

.aspire-headings h2{
	font-size: 30px;
	line-height: 34px;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 25px;
}
.aspire-headings p{
	font-size: 16px;
	line-height: 26px;
}

ul.aspire-list li {
	font-size: 16px;
	margin-bottom: 5px;
}

ul.aspire-list li i{
	margin-right: 10px;
}

.section-white-aspire img{
	width: 480px;
}

/* ========================================================== */
/* 			               06. REVIEWS                        */
/* ========================================================== */

.section-aspire-images .aspire-headings h2{
	font-size: 30px;
	line-height: 34px;
	font-weight: 500;
	text-transform: uppercase;
	color: #dbdbdb;	
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.aspire-tesim-wrapper{
	margin: 20px 0;
	padding: 10px 30px;
	overflow: hidden;
}

.aspire-tesimonial{
	position: relative;
}

.aspire-tesim-wrapper .aspire-tesimonial p{
	color: #dbdbdb;
	font-style: italic;
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 20px;
	border-bottom: 1px solid #fff;
	padding-bottom: 20px;
}

.aspire-tesim-wrapper .aspire-tesimonial span.testim-arrow{
	background: none repeat scroll 0 0 #0b0d0c;
    border-right: 1px solid #f1f7f7;
    border-bottom: 1px solid #f1f7f7;
    display: block;
    width: 12px;
    height: 12px;
    left: 55px;
    bottom: -6px;
    position: absolute;
    z-index: 50;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.aspire-tesim-wrapper img{
	float: left;
    padding: 2px 2px;
    margin-left: 20px;
    background-color: #fff;
    width: 80px;
    height: 80px;
    -webkit-border-radius: 50% 50%;
    -moz-border-radius: 50% 50%;
    border-radius: 50% 50%;
}

.aspire-tesim-wrapper p.testim-author{
	float: left;
	color: #dbdbdb;
	font-style: normal;
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 20px;
	border-bottom: none;
	margin-top: 20px;
	margin-left: 20px
}

.aspire-tesim-wrapper p.testim-author span{
	font-size: 18px;
	font-weight: 300;
}

/* ========================================================== */
/* 			               07. OFFERS                         */
/* ========================================================== */

.aspire-banner1{
	background: url(http://placehold.it/760x385) top center no-repeat;
	background-size: cover;
	padding: 40px 60px;
	text-align: center;
	margin-right: -15px;
	margin-left: -15px;
	min-height: 355px;
}

.aspire-banner2{
	background: url(http://placehold.it/760x385) top center no-repeat;
	background-size: cover;
	padding: 40px 60px;
	text-align: center;
	margin-right: -15px;
	margin-left: -15px;
	min-height: 355px;
}

.aspire-banner1 h3, .aspire-banner2 h3{	
	color: #fff;
    font-size: 26px;
    line-height: 40px;
    letter-spacing: 1px;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.btn-white-ban-wrapper{
	position: relative;
}

.btn-white-aspire-ban {
	color: #fff;
	background-color: transparent;
	border: 2px solid #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 20px;
	display: inline-block;
	padding: 20px 20px;
	border-radius: 50%;
	margin-top: 40px;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	z-index: 10;
}

.btn-white-aspire-ban:before {
	content: '';
    width: 80px;
    height: 80px;
    position: absolute;
    border: 1px solid #fff;
    border-radius: 100%;
    left:50%;
    margin-left: -40px;
    bottom: 10%;
    margin-bottom: -10px;

    -webkit-animation: doublePulsation 1.9s ease infinite;
    animation: doublePulsation 1.9s ease infinite;
    z-index: 0;
}

@-webkit-keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

@keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

.btn-white-aspire-ban:hover {
	color: #333;
	background-color: #fff;
}

.fixed-high{
	min-height: 600px;
}

.aspire-productbox{
	text-align: center;	
    margin: 20px auto;
    width: 80%;
}

.aspire-productbox h4{
    font-size: 24px;
    line-height: 30px;
    font-weight: 500;	
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.aspire-productbox .aspire-imagebox{
	display: block;
	position: relative;
    text-align: center;
}

.aspire-productbox .aspire-hoverbox{
	text-align: center;
	position: absolute;
	top:19%;
	left: 10;
	width: 80%;
    height: auto;
    padding: 30px 40px 40px 40px;
    display: none;
	background: #fff;
	border: 1px solid #525252;
	border-radius: 2%;
}

.aspire-productbox:hover .aspire-hoverbox{
	display: block;
	margin: 0 auto;
}

.aspire-productbox:hover .aspire-imagebox{
	opacity: 0;
}

.aspire-productbox .aspire-hoverbox p{
    font-size: 16px;
    line-height: 26px;
    font-weight: 300;
}

.btn-wrapperr-aspire{
	border: 1px solid #2F362F;
	display: inline-block;
	padding: 5px 5px;
	border-radius: 50%;
	margin-top: 20px;
	transition: all 0.6s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-dark-aspire {
	color: #2F362F;
	background-color: #fff;
	border: 1px solid #2F362F;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	display: inline-block;
	padding: 25px 15px;
	border-radius: 50%;
	transition: all 0.6s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

a:hover .btn-dark-aspire{
	background: #2F362F;
	color: #fff;
}

/* ========================================================== */
/* 			 08. CONTACT & NEWSLETTER                         */
/* ========================================================== */

.section-aspire-images .aspire-headings h3{
    font-size: 30px;
    line-height: 34px;
    font-weight: 500;
    text-transform: uppercase;
    color: #dbdbdb;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.section-dark .aspire-headings p{
	color: #fff;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
}

#contact-form {
	margin:20px auto;
	width:70%;
}

input.aspire-contact-input{
	width:100%;
	height:55px;
    padding-left:2%;
    padding-right:2%;
	margin-bottom:15px;
	color: #fff;
	background-color: #353736;
	opacity: 0.75;
	border:none!important;
    border: none!important;
	font-family: 'Open Sans', sans-serif;
    font-size:16px;
    text-align: left;
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

textarea.aspire-contact-comment{
	height:135px;
	margin-bottom:15px;
	width:100%;
    padding-left:2%;
    padding-right:2%;
    padding-top:10px;
    padding-bottom:10px;
	color: #fff;
	background-color: #353736;
	opacity: 0.75;
    border: none!important;
	font-family: 'Open Sans', sans-serif;
    font-size:16px;
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

input.aspire-contact-submit{	
	color: #fff;
	background-color: transparent;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 90px;
	border: none;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	z-index: 9999;
}

input.aspire-contact-submit:hover{
	color:#fff;
	background-color: transparent;
	border:none;
	cursor: pointer;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
	z-index: 9999;
}

.aspire-contact{
	position: relative;
}

.aspire-contact-wrapper{
	border: 2px solid #fff!important;
	display: inline-block;
	width: 96px;
	height: 96px;
	-webkit-border-radius:50% 50%;
    -moz-border-radius: 50% 50%;;
	border-radius: 50% 50%;
	margin-top: 40px;
	z-index: 10;
	position: relative;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.aspire-contact-wrapper:before {
	content: '';
    width: 96px;
    height: 96px;
   	position: absolute;
    border: 1px solid #fff;
    border-radius: 100%;
    left: 50%;
    margin-left: -48px;
    bottom: 10%;
    margin-bottom: -12px;
    display: inline-block;
    -webkit-animation: doublePulsation 1.9s ease infinite;
    animation: doublePulsation 1.9s ease infinite;
    z-index: -10;
}

@-webkit-keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

@keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

.aspire-contact-wrapper:hover {
	background: #fff;
}

.aspire-contact-wrapper:hover input.aspire-contact-submit{
	color: #333;
}

input.white-input::-webkit-input-placeholder,
textarea.white-input::-webkit-input-placeholder { /* WebKit browsers */
    color:#7c8595;
}
input.white-input:-moz-placeholder,
textarea.white-input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:#7c8595;
}
input.white-input::-moz-placeholder,
textarea.white-input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:#7c8595;
}
input.white-input:-ms-input-placeholder,
textarea.white-input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:#7c8595;
}

#contact-form input.aspire-contact-input:focus, 
#contact-form textarea.aspire-contact-comment:focus {
  border-color:#fff;
  outline: none;
}

p.contact_success_box{
	display:inline-block;
	color:#454545;
	font-size:20px;
	font-style:italic;
	padding:20px 20px;
	border:1px solid #fff;
	webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

/* ========================================================== */
/* 			                09. BLOG                          */
/* ========================================================== */

.section-image-aspire{
	background: url(../images/aspire-imagebkg.png) top center no-repeat;
	background-size: cover;
	padding: 90px 0;
}

.aspire-blogpost{
	padding: 20px 10px;
}

.aspire-blogpost span{
	display: block;	
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-style: italic;
    margin-bottom: 10px;
}

.aspire-blogpost h4{
	font-size: 28px;
	font-weight: 400;
	margin-bottom: 10px;
}

.aspire-blogpost a, .aspire-blogpost a i{
	color: #000;
}

.aspire-blogpost a i{
	margin-right: 5px;
}

.aspire-blogpost2{
	padding: 10px 10px;
	margin: 20px 0;
}

.aspire-blogpost2 span{
	display: block;	
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-style: italic;
    margin: 5px 0;
}

.aspire-blogpost2 h4{
	font-size: 24px;
	font-weight: 400;
    margin-bottom: 5px;
}

.aspire-blogpost2 p{
    font-size: 13px;
    margin-bottom: 5px;
}

.aspire-blogpost2 a{
	color: #000;
    font-size: 12px;
}

.aspire-blogpost2 a i{
	margin-right: 5px;
}

/* ========================================================== */
/* 			                10. FOOTER                        */
/* ========================================================== */

.aspire-footer {
	z-index:900;
	background-color: #0b0d0c;
	font-weight: 300;
}

.aspire-socialbox-wrapper{
	border-bottom: 1px solid #333;
}

.aspire-socialbox {
	padding: 40px 40px;
	border-right: 1px solid #444;
	margin-left: -15px;
	margin-right: -15px;
	text-align: center;
	transition: background-color 0.3s ease;
}

.aspire-socialbox:hover {
	background: #1b1d1c;
}

.aspire-socialbox i {
	color: #fff;
	font-size: 30px;
	margin-bottom: 20px;
	display: block;
}

.aspire-socialbox p {
	color: #dbdbdb;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0;
}

@media (max-width: 991px) {
	.aspire-socialbox {
		border-right: none;
		padding: 20px 20px;
	}

	.aspire-socialbox.facebook, 
	.aspire-socialbox.instagram {
		background: #1b1d1c;
	}

	.aspire-socialbox.twitter, 
	.aspire-socialbox.pinterest {
		background: inherit;
	}
}

@media (max-width: 767px) {
	.aspire-socialbox {
		border-right: none;
		border-bottom: none;
	}

	.aspire-socialbox.facebook, 
	.aspire-socialbox.pinterest {
		background: #1b1d1c;
	}

	.aspire-socialbox.instagram, 
	.aspire-socialbox.twitter {
		background: inherit;
	}
}

.aspire-footer-wrapper{
	padding: 10px 0;
}

.aspire-footer-box{
	padding: 10px 10px;
	margin: 0 auto;
}

.aspire-footer-box i{
	float: left;
	font-size: 20px;
	line-height: 30px;
	margin-right: 15px;
	color: #3b3f47;
}

.aspire-footer-box span{
	margin-top: 5px;
	font-size: 16px;
	font-weight: 500;
	display: block;
	font-family: 'Montserrat', sans-serif;
}

.aspire-footer p.aspire-copyright{
	padding: 40px 0;
	color: #555;
}

.aspire-footer p.aspire-copyright a{
	color: #dbdbdb;
}

/* New Footer Styles */
.elista-dark-footer {
    background-color: #1a1a1a;
    padding: 40px 20px;
}

.elista-social-row {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}

.elista-social-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background-color: #2a2a2a;
    border-radius: 5px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.elista-social-item:hover {
    background-color: #3a3a3a;
    transform: translateY(-2px);
}

.elista-social-item i {
    font-size: 20px;
    color: #fff;
}

.elista-social-item p {
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
}

.elista-copyright-section {
    text-align: center;
    border-top: 1px solid #2a2a2a;
    padding-top: 20px;
}

.elista-copyright-text {
    color: #888;
    font-size: 14px;
}

.elista-copyright-text a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.elista-copyright-text a:hover {
    color: #888;
}

@media (max-width: 768px) {
    .elista-social-row {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    
    .elista-social-item {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

/* ========================================================== */
/* 			               11. OTHER ELEMENTS                 */
/* ========================================================== */

/* VIDEO */

.aspire-video-wrapper {
    background: url('../images/video_bg.png') center center no-repeat;
    background-size: cover;
    padding: 70px 0;
    position: relative;
}

.aspire-video-wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.aspire-video-wrapper .container {
    position: relative;
    z-index: 2;
}

.aspire-video-wrapper h4{
    font-size: 30px;
    line-height: 34px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.aspire-video-icon {
	width: 100px;
	height: 100px;
	border:2px solid #fff;
	border-radius: 50% 50%;
	display: inline-block;
	background: transparent;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.aspire-video-icon:hover{
	background: rgba(34, 34, 34, 0.70);
}

.aspire-video-icon:hover i{
	color: #fff;
}

.aspire-video-icon i {
	font-size: 60px;
	line-height: 100px;
	color:#fff;
	margin-left: 10px;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

/* ========================================================== */
/* 			               12. RESPONSIVE                     */
/* ========================================================== */

@media (min-width: 992px) and (max-width: 1199px){
}

@media (max-width: 991px) {

	.home-bkgaspire {padding-bottom: 40px;}	

	.hero-bkgaspire-headings{padding: 40px 60px 40px 60px; margin-bottom: 10px;}

	.section-white-aspire{	padding-top: 40px;}

	.section-white-aspire .aspire-headings{ padding-top: 40px;}

	.section-white {padding: 40px 0;}

	.aspire-productbox .aspire-imagebox img{ width: 260px;}

	.aspire-productbox .aspire-hoverbox{ padding: 20px 20px;}

	.section-aspire-images{padding: 40px 0;}

	.aspire-tesim-wrapper{margin: 40px 0;}

	.section-grey {padding: 40px 0;}

	.section-dark {padding: 40px 0;}

	.aspire-blogpost2{margin: 40px 0;}

	.aspire-banner1,.aspire-banner2 {margin-bottom: 20px;}

	.aspire-socialbox{
		border-right: none;
		padding: 20px 20px;
	}

	.aspire-socialbox.facebook, .aspire-socialbox.instagram{		
		background: #1b1d1c;
	}

	.aspire-socialbox:hover{
		background: #1b1d1c;
	}

	.aspire-socialbox.twitter, .aspire-socialbox.pinterest{		
		background: inherit;
	}

	.home-bkgaspire img{
		width: 320px;
	}

	.section-white-aspire img{
		width: 320px;
	}

	.logo{
		display: inline;
		padding: 0 20px;
	}

	.hero-bkgaspire-headings h1 {
		font-size: 36px;
	}

}	

@media (max-width: 767px) {

	.aspire-socialbox{
		border-right: none;
		border-bottom: none;
	}

	.aspire-socialbox.facebook, .aspire-socialbox.pinterest{
		background: #1b1d1c;
	}

	.aspire-socialbox:hover {		
		background: #1b1d1c;
	}

	.aspire-socialbox.instagram, .aspire-socialbox.twitter {		
		background: inherit;
	}

	.hero-bkgaspire-headings h1{
		font-size: 30px;
	}
	
}

@media (max-480px) {

	.hero-bkgaspire-headings h1{
		font-size: 24px;
	}

	.hero-bkgaspire-headings{padding: 40px 20px 40px 20px; margin-bottom: 10px;}
}

/* Add carousel styles */
.carousel-container {
    margin-top: 20px;
}

#product-carousel {
    position: relative;
    height: 100vh;
}

#product-carousel .carousel-bg {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

#product-carousel .item {
    position: relative;
    height: 100vh;
}

#product-carousel .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 2;
}

#product-carousel .product-img {
    width: 480px;
    margin: 0 auto;
    max-width: 100%;
    display: none;
}

#product-carousel .carousel-control {
    background: none;
    width: 60px;
    height: 60px;
    top: 50%;
    margin-top: -30px;
    opacity: 1;
    z-index: 3;
}

#product-carousel .carousel-control.left {
    left: 30px;
}

#product-carousel .carousel-control.right {
    right: 30px;
}

#product-carousel .glyphicon {
    display: none;
}

#product-carousel .carousel-control:before {
    content: '';
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.carousel-control.left:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>');
}

.carousel-control.right:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>');
}

.carousel-control:hover {
    opacity: 1;
}

#product-carousel .carousel-indicators {
    bottom: 20px;
    z-index: 3;
}

#product-carousel .carousel-indicators li {
    border-color: #fff;
}

#product-carousel .carousel-indicators .active {
    background-color: #fff;
}

.nav-logo {
    height: 85px;
    width: auto;
    vertical-align: middle;
}

.navbar-brand.logo {
    padding: 0px 20px;
}

.navbar-nav > li > a#logo {
    margin: 0 40px;
    padding: 0 !important;
}

/* Hide the text in the logo class */
.logo {
    font-family: 'PT Sans', sans-serif;
    font-size: 34px!important;
    color: #ccc;	
    padding: 10px 20px!important;
    text-transform: uppercase;
    color: #dbdbdb!important;
    display: none;
}

/* Ensure smooth transitions */
.carousel-inner > .item {
    transition: transform .6s ease-in-out;
}

/* Add overlay to make text more readable */
#product-carousel .item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.3);
    z-index: 1;
}

/* Ensure controls are above overlay */
#product-carousel .carousel-control {
    z-index: 3;
}

#product-carousel .carousel-indicators {
    z-index: 3;
}

#home_wrapper {
    margin-top: 115px;
}

/* Special styling for the third carousel slide */
#product-carousel .item:nth-child(3) .carousel-bg {
    transform: scale(1.2);
    object-position: center;
}

#product-carousel .item:nth-child(3) .container {
    text-align: left;
}

#product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
    text-align: left;
    padding-left: 100px;
    margin-left: 8%;
    max-width: 500px;
}

#product-carousel .item:nth-child(3) h1 {
    text-align: left;
    font-size: 64px;
    line-height: 1.2;
    font-weight: 500;
    margin: 0;
    letter-spacing: 2px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 80px;
        margin-left: 6%;
    }
}

@media (max-width: 991px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 60px;
        margin-left: 4%;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 48px;
    }
}

@media (max-width: 767px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 50px;
        margin-left: 0;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 36px;
    }
}

@media (max-480px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 30px;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 28px;
    }
}

/* Smooth carousel transitions */
#product-carousel .carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
}

#product-carousel .item {
    position: relative;
    width: 100%;
    height: 100vh;
    display: none;
    transition: transform 0.4s ease-in-out;
}

#product-carousel .item.active,
#product-carousel .item.next,
#product-carousel .item.prev {
    display: block;
}

#product-carousel .item.next,
#product-carousel .item.active.right {
    transform: translate3d(100%, 0, 0);
}

#product-carousel .item.prev,
#product-carousel .item.active.left {
    transform: translate3d(-100%, 0, 0);
}

#product-carousel .item.next.left,
#product-carousel .item.prev.right,
#product-carousel .item.active {
    transform: translate3d(0, 0, 0);
}

/* Hardware acceleration */
#product-carousel .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.4s ease-in-out;
    -o-transition: -o-transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

/* Ensure images stay properly positioned */
#product-carousel .carousel-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Remove any existing opacity transitions */
#product-carousel .item {
    opacity: 1;
}

/* About us image size adjustment */
.section-white-aspire img {
    max-width: 75%;
    height: auto;
    margin: 0 auto;
    display: block;
    position: relative;
    top: 50%;
    transform: translateY(10%);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .section-white-aspire img {
        max-width: 85%;
        transform: translateY(5%);
    }
}

@media (max-width: 767px) {
    .section-white-aspire img {
        max-width: 90%;
        transform: translateY(0);
    }
}

/* Hover state for navbar links */
.navbar-default .navbar-nav > li > a:hover {
    color: #AF905B !important;
}

/* Product categories scroll styling */
.products-scroll-container {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 40px auto;
    padding: 0 60px;
    overflow: hidden;  /* Hide overflow content */
}

.products-wrapper {
    display: flex;
    width: 100%;
    transition: transform 0.3s ease-in-out;
    gap: 30px;
    padding: 20px 0;
}

.products-wrapper .col-md-4 {
    flex: 0 0 calc((100% - 60px) / 3);  /* Exactly one-third width minus gaps */
    min-width: 300px;
    padding: 0;
}

.aspire-productbox {
    text-align: center;
}

.aspire-productbox h4 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
    color: #333;
}

.aspire-productbox .aspire-imagebox {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
}

.aspire-productbox .aspire-imagebox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Scroll buttons styling */
.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #AF905B;
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    z-index: 2;
    transition: all 0.3s ease;
}

.scroll-btn:hover {
    opacity: 1;
    background: #8b734a;
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}

@media (max-width: 991px) {
    .products-wrapper .col-md-4 {
        flex: 0 0 calc(50% - 15px);
    }
    
    .aspire-productbox .aspire-imagebox {
        height: 500px;
    }
}

@media (max-width: 767px) {
    .products-wrapper .col-md-4 {
        flex: 0 0 100%;
    }
    
    .aspire-productbox .aspire-imagebox {
        height: 400px;
    }
    
    .products-scroll-container {
        padding: 0 30px;
    }
}

/* Remove responsive grid system enhancement */
.row {
    margin-right: -15px;
    margin-left: -15px;
}

[class*='col-'] {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

/* Gallery Grid Styles */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 10px;
    margin-bottom: 40px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

/* Grid layout */
.gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

/* Modal/Dialog Styles */
.project-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    padding: 40px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.project-modal.active {
    display: flex;
    opacity: 1;
    align-items: center;
    justify-content: center;
}

.project-modal img {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
}

.project-modal .close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 300px);
        gap: 8px;
    }
    
    .gallery-item,
    .gallery-item.small,
    .gallery-item.wide {
        grid-column: 1;
    }
    
    .gallery-item:nth-child(1) { grid-row: 1; }
    .gallery-item:nth-child(2) { grid-row: 2; }
    .gallery-item:nth-child(3) { grid-row: 3; }
    .gallery-item:nth-child(4) { grid-row: 4; }
    .gallery-item:nth-child(5) { grid-row: 5; }
}

/* Magnific Popup customization */
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    backface-visibility: hidden;
    transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

/* Collections image section */
.collections-image-wrapper {
    width: 100%;
    height: 350px;
    margin: 0;
    padding: 0;
    background: url('../images/collections.png') center center no-repeat;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
}

.collections-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

/* Collections content styling */
.collections-content {
    position: relative;
    text-align: center;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.collections-logo {
    width: clamp(80px, 15vw, 130px);
}

.collections-text {
    color: white;
    text-align: center;
    width: 100%;
    padding: 0 20px;
}

.collections-text h2 {
    font-size: 20px;
    line-height: 1.3;
    margin: 0;
    font-weight: 300;
    color: white;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .collections-image-wrapper {
        height: 300px;
        background-position: center 20%;
    }
    
    .collections-logo {
        width: 100px;
        margin-bottom: 30px;
    }
    
    .collections-text h2 {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .collections-image-wrapper {
        height: 250px;
        background-position: center 25%;
    }
    
    .collections-logo {
        display: none;  /* Hide logo on mobile */
    }
    
    .collections-text {
        padding: 0 15px;
    }
    
    .collections-text h2 {
        font-size: 16px;
    }
}

@media (max-480px) {
    .collections-image-wrapper {
        height: 200px;
    }
    
    .collections-text h2 {
        font-size: 14px;
    }
}

/* Fix any potential body/html margins */
body, html {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background-color: white;
}

/* Ensure no extra spacing from parent elements */
section, div {
    margin: 0;
    padding: 0;
}

/* Remove any potential spacing from parent elements */
.section-dark > *,
.collections-image-wrapper > * {
    margin: 0;
    padding: 0;
    line-height: 0;
}

/* Ensure the section connects seamlessly with elements above it */
.section-dark {
    margin-top: -1px;
}

/* General responsive text sizing */
html {
    font-size: 16px; /* Base font size */
}

h1 {
    font-size: 2.625rem; /* 42px */
}

h2 {
    font-size: 2.25rem; /* 36px */
}

h3 {
    font-size: 1.75rem; /* 28px */
}

h4 {
    font-size: 1.5rem; /* 24px */
}

h5 {
    font-size: 1.25rem; /* 20px */
}

h6 {
    font-size: 1.125rem; /* 18px */
}

p {
    font-size: 0.9375rem; /* 15px */
}

/* Logo responsiveness */
.nav-logo {
    height: 85px;
    width: auto;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    html {
        font-size: 15px;
    }
    
    .nav-logo {
        height: 75px;
    }
}

@media (max-width: 991px) {
    html {
        font-size: 14px;
    }
    
    .nav-logo {
        height: 65px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 14px !important;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 13px;
    }
    
    /* Hide center logo on mobile */
    .navbar-nav > li > a#logo {
        display: none;
    }
    
    .nav-logo {
        height: 55px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 13px !important;
        line-height: 40px !important;
    }
    
    /* Collections section text */
    .collections-text h2 {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    html {
        font-size: 12px;
    }
    
    .nav-logo {
        height: 45px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 12px !important;
        line-height: 35px !important;
    }
}

/* Update specific sections for better responsiveness */
.hero-bkgaspire-headings h1 {
    font-size: 3rem; /* 48px */
}

@media (max-width: 991px) {
    .hero-bkgaspire-headings h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .hero-bkgaspire-headings h1 {
        font-size: 2rem;
    }
}

@media (max-480px) {
    .hero-bkgaspire-headings h1 {
        font-size: 1.75rem;
    }
}

/* Base responsive setup */
:root {
    --container-padding: 5vw;
    --heading-scale: 1;
    --text-scale: 1;
}

/* Fluid typography */
@media screen and (min-width: 320px) {
    :root {
        --heading-scale: clamp(0.7, 0.7 + 1vw, 1);
        --text-scale: clamp(0.8, 0.8 + 0.5vw, 1);
    }
}

/* Base text styles */
body {
    font-size: calc(15px * var(--text-scale));
    line-height: 1.5;
    overflow-x: hidden;
}

/* Responsive headings */
h1 { font-size: calc(42px * var(--heading-scale)); }
h2 { font-size: calc(36px * var(--heading-scale)); }
h3 { font-size: calc(28px * var(--heading-scale)); }
h4 { font-size: calc(24px * var(--heading-scale)); }
h5 { font-size: calc(20px * var(--heading-scale)); }
h6 { font-size: calc(18px * var(--heading-scale)); }

/* Responsive spacing */
.section-white,
.section-grey,
.section-dark {
    padding: calc(50px * var(--heading-scale)) var(--container-padding);
}

/* Responsive images */
img {
    max-width: 100%;
    height: auto;
}

/* Responsive grid system enhancement */
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(-1 * var(--container-padding));
}

[class*='col-'] {
    padding: 0 var(--container-padding);
    width: 100%;
}

/* Responsive breakpoints */
@media (min-width: 768px) {
    .col-md-4 { width: 33.333%; }
    .col-md-6 { width: 50%; }
    .col-md-8 { width: 66.666%; }
    .col-md-12 { width: 100%; }
}

/* Navigation responsiveness */
.navbar-nav {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 2vw, 25px);
}

@media (max-width: 768px) {
    .navbar-nav {
        flex-direction: column;
        gap: 10px;
    }
    
    .navbar-nav > li > a#logo {
        display: none;
    }
}

/* Product grid responsiveness */
.products-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(10px, 2vw, 20px);
}

/* Gallery grid responsiveness */
.gallery-grid {
    display: grid;
    gap: clamp(10px, 2vw, 20px);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

@media (min-width: 768px) {
    .gallery-grid {
        grid-template-areas:
            "img1 img1 img2 img2"
            "img3 img4 img4 img5";
    }
    
    .gallery-item:nth-child(1) { grid-area: img1; }
    .gallery-item:nth-child(2) { grid-area: img2; }
    .gallery-item:nth-child(3) { grid-area: img3; }
    .gallery-item:nth-child(4) { grid-area: img4; }
    .gallery-item:nth-child(5) { grid-area: img5; }
}

/* Form responsiveness */
input, textarea, select {
    width: 100%;
    padding: calc(10px * var(--text-scale));
}

/* Button responsiveness */
.btn, button {
    padding: calc(10px * var(--text-scale)) calc(20px * var(--text-scale));
}

/* Collections section responsiveness */
.collections-image-wrapper {
    height: clamp(300px, 50vw, 450px);
}

.collections-logo {
    width: clamp(80px, 15vw, 130px);
}

.collections-text h2 {
    font-size: clamp(16px, 3vw, 22px);
}

/* About us section styling */
.section-white-aspire {
    padding: 70px 0;
    overflow: hidden;
}

.section-white-aspire .row {
    display: flex;
    align-items: center;
}

.section-white-aspire img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0;
    transform: none;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .section-white-aspire {
        padding: 50px 0;
    }
    
    .section-white-aspire .row {
        flex-direction: column;
    }
    
    .section-white-aspire .col-md-6 {
        width: 100%;
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .section-white-aspire {
        padding: 40px 0;
    }
    
    /* Hide image on mobile */
    .section-white-aspire .col-md-6.text-center {
        display: none;
    }
    
    /* Remove margin from text column since image is hidden */
    .section-white-aspire .col-md-6 {
        margin-bottom: 0;
    }
}

@media (max-480px) {
    .section-white-aspire {
        padding: 30px 0;
    }
}

/* Product Categories New Styling */
.product-categories {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 60px;
    position: relative;
}

.product-categories h2 {
    text-align: center;
    font-size: 28px;
    margin-bottom: 40px;
    color: #333;
}

/* New wrapper for slider and navigation */
.slider-wrapper {
    position: relative;
    padding: 0 50px; /* Space for navigation buttons */
}

.product-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.product-track {
    display: flex;
    transition: transform 0.5s ease;
}

.product-slide {
    flex: 0 0 33.333%;
    padding: 0 20px;
    box-sizing: border-box;
}

.product-item {
    text-align: center;
}

.product-item h4 {
    font-size: 18px;
    margin: 0 0 15px;
    color: #333;
}

.product-image {
    width: 100%;
    height: 450px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Navigation buttons styling */
.slider-nav {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    border: 1px solid #eee;
    border-radius: 50%;
    color: black;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    z-index: 100;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.slider-nav:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1);
}

.slider-prev {
    left: 0;
}

.slider-next {
    right: 0;
}

@media (max-width: 991px) {
    .product-slide {
        flex: 0 0 50%;
    }
    
    .product-image {
        height: 400px;
    }
}

@media (max-width: 767px) {
    .product-categories {
        padding: 0 20px;
    }
    
    .slider-wrapper {
        padding: 0 40px;
    }
    
    .product-slide {
        flex: 0 0 100%;
    }
    
    .product-image {
        height: 350px;
    }
}

/* Product hover effect */
.product-image {
    position: relative;
    overflow: hidden;
}

.product-hover-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease-in-out;
    padding: 30px;
}

.product-image:hover .product-hover-content {
    opacity: 1;
    transform: translateY(0);
}

.product-hover-content p {
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 25px;
    text-align: center;
}

.view-more-btn {
    display: inline-block;
    padding: 12px 30px;
    background: #AF905B;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.view-more-btn:hover {
    background: #8b734a;
    color: #fff;
    transform: translateY(-2px);
}

/* Reviews Section Styles */
.section-dark-reviews {
    padding: 80px 0;
    background-color: #000;
    position: relative;
}

.section-dark-reviews .section-title {
    margin-bottom: 50px;
}

.section-dark-reviews .section-title h2 {
    font-size: 36px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-dark-reviews .review-card {
    background: transparent;
    padding: 30px;
    margin-bottom: 30px;
    position: relative;
}

.section-dark-reviews .review-content {
    margin-bottom: 25px;
    position: relative;
}

.section-dark-reviews .review-content p {
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
    font-style: italic;
    margin: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.section-dark-reviews .review-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.section-dark-reviews .author-image {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 50%;
}

.section-dark-reviews .author-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-dark-reviews .author-info h4 {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 5px 0;
}

.section-dark-reviews .author-info span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    display: block;
}

/* Projects Section Styles */
.section-dark-projects {
    padding: 80px 0;
    background-color: #fff;
    position: relative;
}

.section-dark-projects .section-title {
    margin-bottom: 50px;
}

.section-dark-projects .section-title h2 {
    font-size: 36px;
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-dark-projects .gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 10px;
    margin-bottom: 40px;
}

.section-dark-projects .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.section-dark-projects .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.section-dark-projects .gallery-item:hover img {
    transform: scale(1.05);
}

/* Grid layout */
.section-dark-projects .gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.section-dark-projects .gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.section-dark-projects .gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.section-dark-projects .gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.section-dark-projects .gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

@media (max-width: 768px) {
    .section-dark-projects .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 300px);
        gap: 8px;
    }
    
    .section-dark-projects .gallery-item,
    .section-dark-projects .gallery-item.small,
    .section-dark-projects .gallery-item.wide {
        grid-column: 1;
    }
    
    .section-dark-projects .gallery-item:nth-child(1) { grid-row: 1; }
    .section-dark-projects .gallery-item:nth-child(2) { grid-row: 2; }
    .section-dark-projects .gallery-item:nth-child(3) { grid-row: 3; }
    .section-dark-projects .gallery-item:nth-child(4) { grid-row: 4; }
    .section-dark-projects .gallery-item:nth-child(5) { grid-row: 5; }
}

/* Footer Social Media Icons - Row Design */
.elista-footer-social {
    background-color: #0b0d0c;
    padding: 40px 0;
    border-bottom: 1px solid #333;
    display: flex;
    justify-content: center;
}

.elista-social-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 40px;
    border-right: 1px solid #444;
    transition: background-color 0.3s ease;
}

.elista-social-column:last-child {
    border-right: none;
}

.elista-social-column:hover {
    background-color: #1b1d1c;
}

.elista-social-column i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 15px;
    display: block;
}

.elista-social-column p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 991px) {
    .elista-social-column {
        padding: 0 20px;
    }
    
    .elista-social-column i {
        font-size: 24px;
    }
    
    .elista-social-column p {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .elista-footer-social {
        flex-direction: column;
        padding: 20px 0;
    }
    
    .elista-social-column {
        padding: 20px 0;
        border-right: none;
        border-bottom: 1px solid #444;
    }
    
    .elista-social-column:last-child {
        border-bottom: none;
    }
}

/* Footer Social Media Icons */
.aspire-footer {
    z-index: 900;
    background-color: #0b0d0c;
    font-weight: 300;
}

.aspire-socialbox-wrapper {
    border-bottom: 1px solid #333;
}

.aspire-socialbox {
    padding: 40px 40px;
    border-right: 1px solid #444;
    margin-left: -15px;
    margin-right: -15px;
    text-align: center;
    transition: background-color 0.3s ease;
}

.aspire-socialbox:hover {
    background: #1b1d1c;
}

.aspire-socialbox i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 20px;
    display: block;
}

.aspire-socialbox p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 991px) {
    .aspire-socialbox {
        border-right: none;
        padding: 20px 20px;
    }

    .aspire-socialbox.facebook, 
    .aspire-socialbox.instagram {
        background: #1b1d1c;
    }

    .aspire-socialbox.twitter, 
    .aspire-socialbox.pinterest {
        background: inherit;
    }
}

@media (max-width: 767px) {
    .aspire-socialbox {
        border-right: none;
        border-bottom: none;
    }

    .aspire-socialbox.facebook, 
    .aspire-socialbox.pinterest {
        background: #1b1d1c;
    }

    .aspire-socialbox.instagram, 
    .aspire-socialbox.twitter {
        background: inherit;
    }
}

.aspire-footer-wrapper{
	padding: 10px 0;
}

.aspire-footer-box{
	padding: 10px 10px;
	margin: 0 auto;
}

.aspire-footer-box i{
	float: left;
	font-size: 20px;
	line-height: 30px;
	margin-right: 15px;
	color: #3b3f47;
}

.aspire-footer-box span{
	margin-top: 5px;
	font-size: 16px;
	font-weight: 500;
	display: block;
	font-family: 'Montserrat', sans-serif;
}

.aspire-footer p.aspire-copyright{
	padding: 40px 0;
	color: #555;
}

.aspire-footer p.aspire-copyright a{
	color: #dbdbdb;
}

/* New Footer Styles */
.elista-dark-footer {
    background-color: #1a1a1a;
    padding: 40px 20px;
}

.elista-social-row {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}

.elista-social-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background-color: #2a2a2a;
    border-radius: 5px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.elista-social-item:hover {
    background-color: #3a3a3a;
    transform: translateY(-2px);
}

.elista-social-item i {
    font-size: 20px;
    color: #fff;
}

.elista-social-item p {
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
}

.elista-copyright-section {
    text-align: center;
    border-top: 1px solid #2a2a2a;
    padding-top: 20px;
}

.elista-copyright-text {
    color: #888;
    font-size: 14px;
}

.elista-copyright-text a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.elista-copyright-text a:hover {
    color: #888;
}

@media (max-width: 768px) {
    .elista-social-row {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    
    .elista-social-item {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

/* ========================================================== */
/* 			               11. OTHER ELEMENTS                 */
/* ========================================================== */

/* VIDEO */

.aspire-video-wrapper {
    background: url('../images/video_bg.png') center center no-repeat;
    background-size: cover;
    padding: 70px 0;
    position: relative;
}

.aspire-video-wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.aspire-video-wrapper .container {
    position: relative;
    z-index: 2;
}

.aspire-video-wrapper h4{
    font-size: 30px;
    line-height: 34px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.aspire-video-icon {
	width: 100px;
	height: 100px;
	border:2px solid #fff;
	border-radius: 50% 50%;
	display: inline-block;
	background: transparent;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.aspire-video-icon:hover{
	background: rgba(34, 34, 34, 0.70);
}

.aspire-video-icon:hover i{
	color: #fff;
}

.aspire-video-icon i {
	font-size: 60px;
	line-height: 100px;
	color:#fff;
	margin-left: 10px;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

/* ========================================================== */
/* 			               12. RESPONSIVE                     */
/* ========================================================== */

@media (min-width: 992px) and (max-width: 1199px){
}

@media (max-width: 991px) {

	.home-bkgaspire {padding-bottom: 40px;}	

	.hero-bkgaspire-headings{padding: 40px 60px 40px 60px; margin-bottom: 10px;}

	.section-white-aspire{	padding-top: 40px;}

	.section-white-aspire .aspire-headings{ padding-top: 40px;}

	.section-white {padding: 40px 0;}

	.aspire-productbox .aspire-imagebox img{ width: 260px;}

	.aspire-productbox .aspire-hoverbox{ padding: 20px 20px;}

	.section-aspire-images{padding: 40px 0;}

	.aspire-tesim-wrapper{margin: 40px 0;}

	.section-grey {padding: 40px 0;}

	.section-dark {padding: 40px 0;}

	.aspire-blogpost2{margin: 40px 0;}

	.aspire-banner1,.aspire-banner2 {margin-bottom: 20px;}

	.aspire-socialbox{
		border-right: none;
		padding: 20px 20px;
	}

	.aspire-socialbox.facebook, .aspire-socialbox.instagram{		
		background: #1b1d1c;
	}

	.aspire-socialbox:hover{
		background: #1b1d1c;
	}

	.aspire-socialbox.twitter, .aspire-socialbox.pinterest{		
		background: inherit;
	}

	.home-bkgaspire img{
		width: 320px;
	}

	.section-white-aspire img{
		width: 320px;
	}

	.logo{
		display: inline;
		padding: 0 20px;
	}

	.hero-bkgaspire-headings h1 {
		font-size: 36px;
	}

}	

@media (max-width: 767px) {

	.aspire-socialbox{
		border-right: none;
		border-bottom: none;
	}

	.aspire-socialbox.facebook, .aspire-socialbox.pinterest{
		background: #1b1d1c;
	}

	.aspire-socialbox:hover {		
		background: #1b1d1c;
	}

	.aspire-socialbox.instagram, .aspire-socialbox.twitter {		
		background: inherit;
	}

	.hero-bkgaspire-headings h1{
		font-size: 30px;
	}
	
}

@media (max-480px) {

	.hero-bkgaspire-headings h1{
		font-size: 24px;
	}

	.hero-bkgaspire-headings{padding: 40px 20px 40px 20px; margin-bottom: 10px;}
}

/* Add carousel styles */
.carousel-container {
    margin-top: 20px;
}

#product-carousel {
    position: relative;
    height: 100vh;
}

#product-carousel .carousel-bg {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

#product-carousel .item {
    position: relative;
    height: 100vh;
}

#product-carousel .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 2;
}

#product-carousel .product-img {
    width: 480px;
    margin: 0 auto;
    max-width: 100%;
    display: none;
}

#product-carousel .carousel-control {
    background: none;
    width: 60px;
    height: 60px;
    top: 50%;
    margin-top: -30px;
    opacity: 1;
    z-index: 3;
}

#product-carousel .carousel-control.left {
    left: 30px;
}

#product-carousel .carousel-control.right {
    right: 30px;
}

#product-carousel .glyphicon {
    display: none;
}

#product-carousel .carousel-control:before {
    content: '';
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.carousel-control.left:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>');
}

.carousel-control.right:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>');
}

.carousel-control:hover {
    opacity: 1;
}

#product-carousel .carousel-indicators {
    bottom: 20px;
    z-index: 3;
}

#product-carousel .carousel-indicators li {
    border-color: #fff;
}

#product-carousel .carousel-indicators .active {
    background-color: #fff;
}

.nav-logo {
    height: 85px;
    width: auto;
    vertical-align: middle;
}

.navbar-brand.logo {
    padding: 0px 20px;
}

.navbar-nav > li > a#logo {
    margin: 0 40px;
    padding: 0 !important;
}

/* Hide the text in the logo class */
.logo {
    font-family: 'PT Sans', sans-serif;
    font-size: 34px!important;
    color: #ccc;	
    padding: 10px 20px!important;
    text-transform: uppercase;
    color: #dbdbdb!important;
    display: none;
}

/* Ensure smooth transitions */
.carousel-inner > .item {
    transition: transform .6s ease-in-out;
}

/* Add overlay to make text more readable */
#product-carousel .item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.3);
    z-index: 1;
}

/* Ensure controls are above overlay */
#product-carousel .carousel-control {
    z-index: 3;
}

#product-carousel .carousel-indicators {
    z-index: 3;
}

#home_wrapper {
    margin-top: 115px;
}

/* Special styling for the third carousel slide */
#product-carousel .item:nth-child(3) .carousel-bg {
    transform: scale(1.2);
    object-position: center;
}

#product-carousel .item:nth-child(3) .container {
    text-align: left;
}

#product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
    text-align: left;
    padding-left: 100px;
    margin-left: 8%;
    max-width: 500px;
}

#product-carousel .item:nth-child(3) h1 {
    text-align: left;
    font-size: 64px;
    line-height: 1.2;
    font-weight: 500;
    margin: 0;
    letter-spacing: 2px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 80px;
        margin-left: 6%;
    }
}

@media (max-width: 991px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 60px;
        margin-left: 4%;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 48px;
    }
}

@media (max-width: 767px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 50px;
        margin-left: 0;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 36px;
    }
}

@media (max-480px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 30px;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 28px;
    }
}

/* Smooth carousel transitions */
#product-carousel .carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
}

#product-carousel .item {
    position: relative;
    width: 100%;
    height: 100vh;
    display: none;
    transition: transform 0.4s ease-in-out;
}

#product-carousel .item.active,
#product-carousel .item.next,
#product-carousel .item.prev {
    display: block;
}

#product-carousel .item.next,
#product-carousel .item.active.right {
    transform: translate3d(100%, 0, 0);
}

#product-carousel .item.prev,
#product-carousel .item.active.left {
    transform: translate3d(-100%, 0, 0);
}

#product-carousel .item.next.left,
#product-carousel .item.prev.right,
#product-carousel .item.active {
    transform: translate3d(0, 0, 0);
}

/* Hardware acceleration */
#product-carousel .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.4s ease-in-out;
    -o-transition: -o-transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

/* Ensure images stay properly positioned */
#product-carousel .carousel-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Remove any existing opacity transitions */
#product-carousel .item {
    opacity: 1;
}

/* About us image size adjustment */
.section-white-aspire img {
    max-width: 75%;
    height: auto;
    margin: 0 auto;
    display: block;
    position: relative;
    top: 50%;
    transform: translateY(10%);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .section-white-aspire img {
        max-width: 85%;
        transform: translateY(5%);
    }
}

@media (max-width: 767px) {
    .section-white-aspire img {
        max-width: 90%;
        transform: translateY(0);
    }
}

/* Hover state for navbar links */
.navbar-default .navbar-nav > li > a:hover {
    color: #AF905B !important;
}

/* Product categories scroll styling */
.products-scroll-container {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 40px auto;
    padding: 0 60px;
    overflow: hidden;  /* Hide overflow content */
}

.products-wrapper {
    display: flex;
    width: 100%;
    transition: transform 0.3s ease-in-out;
    gap: 30px;
    padding: 20px 0;
}

.products-wrapper .col-md-4 {
    flex: 0 0 calc((100% - 60px) / 3);  /* Exactly one-third width minus gaps */
    min-width: 300px;
    padding: 0;
}

.aspire-productbox {
    text-align: center;
}

.aspire-productbox h4 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
    color: #333;
}

.aspire-productbox .aspire-imagebox {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
}

.aspire-productbox .aspire-imagebox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Scroll buttons styling */
.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #AF905B;
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    z-index: 2;
    transition: all 0.3s ease;
}

.scroll-btn:hover {
    opacity: 1;
    background: #8b734a;
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}

@media (max-width: 991px) {
    .products-wrapper .col-md-4 {
        flex: 0 0 calc(50% - 15px);
    }
    
    .aspire-productbox .aspire-imagebox {
        height: 500px;
    }
}

@media (max-width: 767px) {
    .products-wrapper .col-md-4 {
        flex: 0 0 100%;
    }
    
    .aspire-productbox .aspire-imagebox {
        height: 400px;
    }
    
    .products-scroll-container {
        padding: 0 30px;
    }
}

/* Remove responsive grid system enhancement */
.row {
    margin-right: -15px;
    margin-left: -15px;
}

[class*='col-'] {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

/* Gallery Grid Styles */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 10px;
    margin-bottom: 40px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

/* Grid layout */
.gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

/* Modal/Dialog Styles */
.project-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    padding: 40px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.project-modal.active {
    display: flex;
    opacity: 1;
    align-items: center;
    justify-content: center;
}

.project-modal img {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
}

.project-modal .close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 300px);
        gap: 8px;
    }
    
    .gallery-item,
    .gallery-item.small,
    .gallery-item.wide {
        grid-column: 1;
    }
    
    .gallery-item:nth-child(1) { grid-row: 1; }
    .gallery-item:nth-child(2) { grid-row: 2; }
    .gallery-item:nth-child(3) { grid-row: 3; }
    .gallery-item:nth-child(4) { grid-row: 4; }
    .gallery-item:nth-child(5) { grid-row: 5; }
}

/* Magnific Popup customization */
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    backface-visibility: hidden;
    transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

/* Collections image section */
.collections-image-wrapper {
    width: 100%;
    height: 350px;
    margin: 0;
    padding: 0;
    background: url('../images/collections.png') center center no-repeat;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
}

.collections-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

/* Collections content styling */
.collections-content {
    position: relative;
    text-align: center;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.collections-logo {
    width: clamp(80px, 15vw, 130px);
}

.collections-text {
    color: white;
    text-align: center;
    width: 100%;
    padding: 0 20px;
}

.collections-text h2 {
    font-size: 20px;
    line-height: 1.3;
    margin: 0;
    font-weight: 300;
    color: white;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .collections-image-wrapper {
        height: 300px;
        background-position: center 20%;
    }
    
    .collections-logo {
        width: 100px;
        margin-bottom: 30px;
    }
    
    .collections-text h2 {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .collections-image-wrapper {
        height: 250px;
        background-position: center 25%;
    }
    
    .collections-logo {
        display: none;  /* Hide logo on mobile */
    }
    
    .collections-text {
        padding: 0 15px;
    }
    
    .collections-text h2 {
        font-size: 16px;
    }
}

@media (max-480px) {
    .collections-image-wrapper {
        height: 200px;
    }
    
    .collections-text h2 {
        font-size: 14px;
    }
}

/* Fix any potential body/html margins */
body, html {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background-color: white;
}

/* Ensure no extra spacing from parent elements */
section, div {
    margin: 0;
    padding: 0;
}

/* Remove any potential spacing from parent elements */
.section-dark > *,
.collections-image-wrapper > * {
    margin: 0;
    padding: 0;
    line-height: 0;
}

/* Ensure the section connects seamlessly with elements above it */
.section-dark {
    margin-top: -1px;
}

/* General responsive text sizing */
html {
    font-size: 16px; /* Base font size */
}

h1 {
    font-size: 2.625rem; /* 42px */
}

h2 {
    font-size: 2.25rem; /* 36px */
}

h3 {
    font-size: 1.75rem; /* 28px */
}

h4 {
    font-size: 1.5rem; /* 24px */
}

h5 {
    font-size: 1.25rem; /* 20px */
}

h6 {
    font-size: 1.125rem; /* 18px */
}

p {
    font-size: 0.9375rem; /* 15px */
}

/* Logo responsiveness */
.nav-logo {
    height: 85px;
    width: auto;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    html {
        font-size: 15px;
    }
    
    .nav-logo {
        height: 75px;
    }
}

@media (max-width: 991px) {
    html {
        font-size: 14px;
    }
    
    .nav-logo {
        height: 65px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 14px !important;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 13px;
    }
    
    /* Hide center logo on mobile */
    .navbar-nav > li > a#logo {
        display: none;
    }
    
    .nav-logo {
        height: 55px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 13px !important;
        line-height: 40px !important;
    }
    
    /* Collections section text */
    .collections-text h2 {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    html {
        font-size: 12px;
    }
    
    .nav-logo {
        height: 45px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 12px !important;
        line-height: 35px !important;
    }
}

/* Update specific sections for better responsiveness */
.hero-bkgaspire-headings h1 {
    font-size: 3rem; /* 48px */
}

@media (max-width: 991px) {
    .hero-bkgaspire-headings h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .hero-bkgaspire-headings h1 {
        font-size: 2rem;
    }
}

@media (max-480px) {
    .hero-bkgaspire-headings h1 {
        font-size: 1.75rem;
    }
}

/* Base responsive setup */
:root {
    --container-padding: 5vw;
    --heading-scale: 1;
    --text-scale: 1;
}

/* Fluid typography */
@media screen and (min-width: 320px) {
    :root {
        --heading-scale: clamp(0.7, 0.7 + 1vw, 1);
        --text-scale: clamp(0.8, 0.8 + 0.5vw, 1);
    }
}

/* Base text styles */
body {
    font-size: calc(15px * var(--text-scale));
    line-height: 1.5;
    overflow-x: hidden;
}

/* Responsive headings */
h1 { font-size: calc(42px * var(--heading-scale)); }
h2 { font-size: calc(36px * var(--heading-scale)); }
h3 { font-size: calc(28px * var(--heading-scale)); }
h4 { font-size: calc(24px * var(--heading-scale)); }
h5 { font-size: calc(20px * var(--heading-scale)); }
h6 { font-size: calc(18px * var(--heading-scale)); }

/* Responsive spacing */
.section-white,
.section-grey,
.section-dark {
    padding: calc(50px * var(--heading-scale)) var(--container-padding);
}

/* Responsive images */
img {
    max-width: 100%;
    height: auto;
}

/* Responsive grid system enhancement */
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(-1 * var(--container-padding));
}

[class*='col-'] {
    padding: 0 var(--container-padding);
    width: 100%;
}

/* Responsive breakpoints */
@media (min-width: 768px) {
    .col-md-4 { width: 33.333%; }
    .col-md-6 { width: 50%; }
    .col-md-8 { width: 66.666%; }
    .col-md-12 { width: 100%; }
}

/* Navigation responsiveness */
.navbar-nav {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 2vw, 25px);
}

@media (max-width: 768px) {
    .navbar-nav {
        flex-direction: column;
        gap: 10px;
    }
    
    .navbar-nav > li > a#logo {
        display: none;
    }
}

/* Product grid responsiveness */
.products-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(10px, 2vw, 20px);
}

/* Gallery grid responsiveness */
.gallery-grid {
    display: grid;
    gap: clamp(10px, 2vw, 20px);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

@media (min-width: 768px) {
    .gallery-grid {
        grid-template-areas:
            "img1 img1 img2 img2"
            "img3 img4 img4 img5";
    }
    
    .gallery-item:nth-child(1) { grid-area: img1; }
    .gallery-item:nth-child(2) { grid-area: img2; }
    .gallery-item:nth-child(3) { grid-area: img3; }
    .gallery-item:nth-child(4) { grid-area: img4; }
    .gallery-item:nth-child(5) { grid-area: img5; }
}

/* Form responsiveness */
input, textarea, select {
    width: 100%;
    padding: calc(10px * var(--text-scale));
}

/* Button responsiveness */
.btn, button {
    padding: calc(10px * var(--text-scale)) calc(20px * var(--text-scale));
}

/* Collections section responsiveness */
.collections-image-wrapper {
    height: clamp(300px, 50vw, 450px);
}

.collections-logo {
    width: clamp(80px, 15vw, 130px);
}

.collections-text h2 {
    font-size: clamp(16px, 3vw, 22px);
}

/* About us section styling */
.section-white-aspire {
    padding: 70px 0;
    overflow: hidden;
}

.section-white-aspire .row {
    display: flex;
    align-items: center;
}

.section-white-aspire img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0;
    transform: none;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .section-white-aspire {
        padding: 50px 0;
    }
    
    .section-white-aspire .row {
        flex-direction: column;
    }
    
    .section-white-aspire .col-md-6 {
        width: 100%;
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .section-white-aspire {
        padding: 40px 0;
    }
    
    /* Hide image on mobile */
    .section-white-aspire .col-md-6.text-center {
        display: none;
    }
    
    /* Remove margin from text column since image is hidden */
    .section-white-aspire .col-md-6 {
        margin-bottom: 0;
    }
}

@media (max-480px) {
    .section-white-aspire {
        padding: 30px 0;
    }
}

/* Product Categories New Styling */
.product-categories {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 60px;
    position: relative;
}

.product-categories h2 {
    text-align: center;
    font-size: 28px;
    margin-bottom: 40px;
    color: #333;
}

/* New wrapper for slider and navigation */
.slider-wrapper {
    position: relative;
    padding: 0 50px; /* Space for navigation buttons */
}

.product-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.product-track {
    display: flex;
    transition: transform 0.5s ease;
}

.product-slide {
    flex: 0 0 33.333%;
    padding: 0 20px;
    box-sizing: border-box;
}

.product-item {
    text-align: center;
}

.product-item h4 {
    font-size: 18px;
    margin: 0 0 15px;
    color: #333;
}

.product-image {
    width: 100%;
    height: 450px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Navigation buttons styling */
.slider-nav {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    border: 1px solid #eee;
    border-radius: 50%;
    color: black;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    z-index: 100;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.slider-nav:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1);
}

.slider-prev {
    left: 0;
}

.slider-next {
    right: 0;
}

@media (max-width: 991px) {
    .product-slide {
        flex: 0 0 50%;
    }
    
    .product-image {
        height: 400px;
    }
}

@media (max-width: 767px) {
    .product-categories {
        padding: 0 20px;
    }
    
    .slider-wrapper {
        padding: 0 40px;
    }
    
    .product-slide {
        flex: 0 0 100%;
    }
    
    .product-image {
        height: 350px;
    }
}

/* Product hover effect */
.product-image {
    position: relative;
    overflow: hidden;
}

.product-hover-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease-in-out;
    padding: 30px;
}

.product-image:hover .product-hover-content {
    opacity: 1;
    transform: translateY(0);
}

.product-hover-content p {
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 25px;
    text-align: center;
}

.view-more-btn {
    display: inline-block;
    padding: 12px 30px;
    background: #AF905B;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.view-more-btn:hover {
    background: #8b734a;
    color: #fff;
    transform: translateY(-2px);
}

/* Reviews Section Styles */
.section-dark-reviews {
    padding: 80px 0;
    background-color: #000;
    position: relative;
}

.section-dark-reviews .section-title {
    margin-bottom: 50px;
}

.section-dark-reviews .section-title h2 {
    font-size: 36px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-dark-reviews .review-card {
    background: transparent;
    padding: 30px;
    margin-bottom: 30px;
    position: relative;
}

.section-dark-reviews .review-content {
    margin-bottom: 25px;
    position: relative;
}

.section-dark-reviews .review-content p {
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
    font-style: italic;
    margin: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.section-dark-reviews .review-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.section-dark-reviews .author-image {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 50%;
}

.section-dark-reviews .author-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-dark-reviews .author-info h4 {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 5px 0;
}

.section-dark-reviews .author-info span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    display: block;
}

/* Projects Section Styles */
.section-dark-projects {
    padding: 80px 0;
    background-color: #fff;
    position: relative;
}

.section-dark-projects .section-title {
    margin-bottom: 50px;
}

.section-dark-projects .section-title h2 {
    font-size: 36px;
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-dark-projects .gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 10px;
    margin-bottom: 40px;
}

.section-dark-projects .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.section-dark-projects .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.section-dark-projects .gallery-item:hover img {
    transform: scale(1.05);
}

/* Grid layout */
.section-dark-projects .gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.section-dark-projects .gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.section-dark-projects .gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.section-dark-projects .gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.section-dark-projects .gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

@media (max-width: 768px) {
    .section-dark-projects .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 300px);
        gap: 8px;
    }
    
    .section-dark-projects .gallery-item,
    .section-dark-projects .gallery-item.small,
    .section-dark-projects .gallery-item.wide {
        grid-column: 1;
    }
    
    .section-dark-projects .gallery-item:nth-child(1) { grid-row: 1; }
    .section-dark-projects .gallery-item:nth-child(2) { grid-row: 2; }
    .section-dark-projects .gallery-item:nth-child(3) { grid-row: 3; }
    .section-dark-projects .gallery-item:nth-child(4) { grid-row: 4; }
    .section-dark-projects .gallery-item:nth-child(5) { grid-row: 5; }
}

/* Footer Social Media Icons - Row Design */
.elista-footer-social {
    background-color: #0b0d0c;
    padding: 40px 0;
    border-bottom: 1px solid #333;
    display: flex;
    justify-content: center;
}

.elista-social-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 40px;
    border-right: 1px solid #444;
    transition: background-color 0.3s ease;
}

.elista-social-column:last-child {
    border-right: none;
}

.elista-social-column:hover {
    background-color: #1b1d1c;
}

.elista-social-column i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 15px;
    display: block;
}

.elista-social-column p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 991px) {
    .elista-social-column {
        padding: 0 20px;
    }
    
    .elista-social-column i {
        font-size: 24px;
    }
    
    .elista-social-column p {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .elista-footer-social {
        flex-direction: column;
        padding: 20px 0;
    }
    
    .elista-social-column {
        padding: 20px 0;
        border-right: none;
        border-bottom: 1px solid #444;
    }
    
    .elista-social-column:last-child {
        border-bottom: none;
    }
}

/* Footer Social Media Icons */
.aspire-footer {
    z-index: 900;
    background-color: #0b0d0c;
    font-weight: 300;
}

.aspire-socialbox-wrapper {
    border-bottom: 1px solid #333;
}

.aspire-socialbox {
    padding: 40px 40px;
    border-right: 1px solid #444;
    margin-left: -15px;
    margin-right: -15px;
    text-align: center;
    transition: background-color 0.3s ease;
}

.aspire-socialbox:hover {
    background: #1b1d1c;
}

.aspire-socialbox i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 20px;
    display: block;
}

.aspire-socialbox p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 991px) {
    .aspire-socialbox {
        border-right: none;
        padding: 20px 20px;
    }

    .aspire-socialbox.facebook, 
    .aspire-socialbox.instagram {
        background: #1b1d1c;
    }

    .aspire-socialbox.twitter, 
    .aspire-socialbox.pinterest {
        background: inherit;
    }
}

@media (max-width: 767px) {
    .aspire-socialbox {
        border-right: none;
        border-bottom: none;
    }

    .aspire-socialbox.facebook, 
    .aspire-socialbox.pinterest {
        background: #1b1d1c;
    }

    .aspire-socialbox.instagram, 
    .aspire-socialbox.twitter {
        background: inherit;
    }
}

.aspire-footer-wrapper{
	padding: 10px 0;
}

.aspire-footer-box{
	padding: 10px 10px;
	margin: 0 auto;
}

.aspire-footer-box i{
	float: left;
	font-size: 20px;
	line-height: 30px;
	margin-right: 15px;
	color: #3b3f47;
}

.aspire-footer-box span{
	margin-top: 5px;
	font-size: 16px;
	font-weight: 500;
	display: block;
	font-family: 'Montserrat', sans-serif;
}

.aspire-footer p.aspire-copyright{
	padding: 40px 0;
	color: #555;
}

.aspire-footer p.aspire-copyright a{
	color: #dbdbdb;
}

/* New Footer Styles */
.elista-dark-footer {
    background-color: #1a1a1a;
    padding: 40px 20px;
}

.elista-social-row {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}

.elista-social-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background-color: #2a2a2a;
    border-radius: 5px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.elista-social-item:hover {
    background-color: #3a3a3a;
    transform: translateY(-2px);
}

.elista-social-item i {
    font-size: 20px;
    color: #fff;
}

.elista-social-item p {
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
}

.elista-copyright-section {
    text-align: center;
    border-top: 1px solid #2a2a2a;
    padding-top: 20px;
}

.elista-copyright-text {
    color: #888;
    font-size: 14px;
}

.elista-copyright-text a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.elista-copyright-text a:hover {
    color: #888;
}

@media (max-width: 768px) {
    .elista-social-row {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    
    .elista-social-item {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

/* ========================================================== */
/* 			               11. OTHER ELEMENTS                 */
/* ========================================================== */

/* VIDEO */

.aspire-video-wrapper {
    background: url('../images/video_bg.png') center center no-repeat;
    background-size: cover;
    padding: 70px 0;
    position: relative;
}

.aspire-video-wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.aspire-video-wrapper .container {
    position: relative;
    z-index: 2;
}

.aspire-video-wrapper h4{
    font-size: 30px;
    line-height: 34px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.aspire-video-icon {
	width: 100px;
	height: 100px;
	border:2px solid #fff;
	border-radius: 50% 50%;
	display: inline-block;
	background: transparent;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.aspire-video-icon:hover{
	background: rgba(34, 34, 34, 0.70);
}

.aspire-video-icon:hover i{
	color: #fff;
}

.aspire-video-icon i {
	font-size: 60px;
	line-height: 100px;
	color:#fff;
	margin-left: 10px;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

/* ========================================================== */
/* 			               12. RESPONSIVE                     */
/* ========================================================== */

@media (min-width: 992px) and (max-width: 1199px){
}

@media (max-width: 991px) {

	.home-bkgaspire {padding-bottom: 40px;}	

	.hero-bkgaspire-headings{padding: 40px 60px 40px 60px; margin-bottom: 10px;}

	.section-white-aspire{	padding-top: 40px;}

	.section-white-aspire .aspire-headings{ padding-top: 40px;}

	.section-white {padding: 40px 0;}

	.aspire-productbox .aspire-imagebox img{ width: 260px;}

	.aspire-productbox .aspire-hoverbox{ padding: 20px 20px;}

	.section-aspire-images{padding: 40px 0;}

	.aspire-tesim-wrapper{margin: 40px 0;}

	.section-grey {padding: 40px 0;}

	.section-dark {padding: 40px 0;}

	.aspire-blogpost2{margin: 40px 0;}

	.aspire-banner1,.aspire-banner2 {margin-bottom: 20px;}

	.aspire-socialbox{
		border-right: none;
		padding: 20px 20px;
	}

	.aspire-socialbox.facebook, .aspire-socialbox.instagram{		
		background: #1b1d1c;
	}

	.aspire-socialbox:hover{
		background: #1b1d1c;
	}

	.aspire-socialbox.twitter, .aspire-socialbox.pinterest{		
		background: inherit;
	}

	.home-bkgaspire img{
		width: 320px;
	}

	.section-white-aspire img{
		width: 320px;
	}

	.logo{
		display: inline;
		padding: 0 20px;
	}

	.hero-bkgaspire-headings h1 {
		font-size: 36px;
	}

}	

@media (max-width: 767px) {

	.aspire-socialbox{
		border-right: none;
		border-bottom: none;
	}

	.aspire-socialbox.facebook, .aspire-socialbox.pinterest{
		background: #1b1d1c;
	}

	.aspire-socialbox:hover {		
		background: #1b1d1c;
	}

	.aspire-socialbox.instagram, .aspire-socialbox.twitter {		
		background: inherit;
	}

	.hero-bkgaspire-headings h1{
		font-size: 30px;
	}
	
}

@media (max-480px) {

	.hero-bkgaspire-headings h1{
		font-size: 24px;
	}

	.hero-bkgaspire-headings{padding: 40px 20px 40px 20px; margin-bottom: 10px;}
}

/* Add carousel styles */
.carousel-container {
    margin-top: 20px;
}

#product-carousel {
    position: relative;
    height: 100vh;
}

#product-carousel .carousel-bg {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

#product-carousel .item {
    position: relative;
    height: 100vh;
}

#product-carousel .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 2;
}

#product-carousel .product-img {
    width: 480px;
    margin: 0 auto;
    max-width: 100%;
    display: none;
}

#product-carousel .carousel-control {
    background: none;
    width: 60px;
    height: 60px;
    top: 50%;
    margin-top: -30px;
    opacity: 1;
    z-index: 3;
}

#product-carousel .carousel-control.left {
    left: 30px;
}

#product-carousel .carousel-control.right {
    right: 30px;
}

#product-carousel .glyphicon {
    display: none;
}

#product-carousel .carousel-control:before {
    content: '';
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.carousel-control.left:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>');
}

.carousel-control.right:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>');
}

.carousel-control:hover {
    opacity: 1;
}

#product-carousel .carousel-indicators {
    bottom: 20px;
    z-index: 3;
}

#product-carousel .carousel-indicators li {
    border-color: #fff;
}

#product-carousel .carousel-indicators .active {
    background-color: #fff;
}

.nav-logo {
    height: 85px;
    width: auto;
    vertical-align: middle;
}

.navbar-brand.logo {
    padding: 0px 20px;
}

.navbar-nav > li > a#logo {
    margin: 0 40px;
    padding: 0 !important;
}

/* Hide the text in the logo class */
.logo {
    font-family: 'PT Sans', sans-serif;
    font-size: 34px!important;
    color: #ccc;	
    padding: 10px 20px!important;
    text-transform: uppercase;
    color: #dbdbdb!important;
    display: none;
}

/* Ensure smooth transitions */
.carousel-inner > .item {
    transition: transform .6s ease-in-out;
}

/* Add overlay to make text more readable */
#product-carousel .item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.3);
    z-index: 1;
}

/* Ensure controls are above overlay */
#product-carousel .carousel-control {
    z-index: 3;
}

#product-carousel .carousel-indicators {
    z-index: 3;
}

#home_wrapper {
    margin-top: 115px;
}

/* Special styling for the third carousel slide */
#product-carousel .item:nth-child(3) .carousel-bg {
    transform: scale(1.2);
    object-position: center;
}

#product-carousel .item:nth-child(3) .container {
    text-align: left;
}

#product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
    text-align: left;
    padding-left: 100px;
    margin-left: 8%;
    max-width: 500px;
}

#product-carousel .item:nth-child(3) h1 {
    text-align: left;
    font-size: 64px;
    line-height: 1.2;
    font-weight: 500;
    margin: 0;
    letter-spacing: 2px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 80px;
        margin-left: 6%;
    }
}

@media (max-width: 991px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 60px;
        margin-left: 4%;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 48px;
    }
}

@media (max-width: 767px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 50px;
        margin-left: 0;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 36px;
    }
}

@media (max-480px) {
    #product-carousel .item:nth-child(3) .hero-bkgaspire-headings {
        padding-left: 30px;
    }
    
    #product-carousel .item:nth-child(3) h1 {
        font-size: 28px;
    }
}

/* Smooth carousel transitions */
#product-carousel .carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
}

#product-carousel .item {
    position: relative;
    width: 100%;
    height: 100vh;
    display: none;
    transition: transform 0.4s ease-in-out;
}

#product-carousel .item.active,
#product-carousel .item.next,
#product-carousel .item.prev {
    display: block;
}

#product-carousel .item.next,
#product-carousel .item.active.right {
    transform: translate3d(100%, 0, 0);
}

#product-carousel .item.prev,
#product-carousel .item.active.left {
    transform: translate3d(-100%, 0, 0);
}

#product-carousel .item.next.left,
#product-carousel .item.prev.right,
#product-carousel .item.active {
    transform: translate3d(0, 0, 0);
}

/* Hardware acceleration */
#product-carousel .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.4s ease-in-out;
    -o-transition: -o-transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

/* Ensure images stay properly positioned */
#product-carousel .carousel-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Remove any existing opacity transitions */
#product-carousel .item {
    opacity: 1;
}

/* About us image size adjustment */
.section-white-aspire img {
    max-width: 75%;
    height: auto;
    margin: 0 auto;
    display: block;
    position: relative;
    top: 50%;
    transform: translateY(10%);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .section-white-aspire img {
        max-width: 85%;
        transform: translateY(5%);
    }
}

@media (max-width: 767px) {
    .section-white-aspire img {
        max-width: 90%;
        transform: translateY(0);
    }
}

/* Hover state for navbar links */
.navbar-default .navbar-nav > li > a:hover {
    color: #AF905B !important;
}

/* Product categories scroll styling */
.products-scroll-container {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 40px auto;
    padding: 0 60px;
    overflow: hidden;  /* Hide overflow content */
}

.products-wrapper {
    display: flex;
    width: 100%;
    transition: transform 0.3s ease-in-out;
    gap: 30px;
    padding: 20px 0;
}

.products-wrapper .col-md-4 {
    flex: 0 0 calc((100% - 60px) / 3);  /* Exactly one-third width minus gaps */
    min-width: 300px;
    padding: 0;
}

.aspire-productbox {
    text-align: center;
}

.aspire-productbox h4 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
    color: #333;
}

.aspire-productbox .aspire-imagebox {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
}

.aspire-productbox .aspire-imagebox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Scroll buttons styling */
.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #AF905B;
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    z-index: 2;
    transition: all 0.3s ease;
}

.scroll-btn:hover {
    opacity: 1;
    background: #8b734a;
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}

@media (max-width: 991px) {
    .products-wrapper .col-md-4 {
        flex: 0 0 calc(50% - 15px);
    }
    
    .aspire-productbox .aspire-imagebox {
        height: 500px;
    }
}

@media (max-width: 767px) {
    .products-wrapper .col-md-4 {
        flex: 0 0 100%;
    }
    
    .aspire-productbox .aspire-imagebox {
        height: 400px;
    }
    
    .products-scroll-container {
        padding: 0 30px;
    }
}

/* Remove responsive grid system enhancement */
.row {
    margin-right: -15px;
    margin-left: -15px;
}

[class*='col-'] {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

/* Gallery Grid Styles */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 10px;
    margin-bottom: 40px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

/* Grid layout */
.gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

/* Modal/Dialog Styles */
.project-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    padding: 40px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.project-modal.active {
    display: flex;
    opacity: 1;
    align-items: center;
    justify-content: center;
}

.project-modal img {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
}

.project-modal .close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 300px);
        gap: 8px;
    }
    
    .gallery-item,
    .gallery-item.small,
    .gallery-item.wide {
        grid-column: 1;
    }
    
    .gallery-item:nth-child(1) { grid-row: 1; }
    .gallery-item:nth-child(2) { grid-row: 2; }
    .gallery-item:nth-child(3) { grid-row: 3; }
    .gallery-item:nth-child(4) { grid-row: 4; }
    .gallery-item:nth-child(5) { grid-row: 5; }
}

/* Magnific Popup customization */
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    backface-visibility: hidden;
    transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

/* Collections image section */
.collections-image-wrapper {
    width: 100%;
    height: 350px;
    margin: 0;
    padding: 0;
    background: url('../images/collections.png') center center no-repeat;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
}

.collections-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

/* Collections content styling */
.collections-content {
    position: relative;
    text-align: center;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.collections-logo {
    width: clamp(80px, 15vw, 130px);
}

.collections-text {
    color: white;
    text-align: center;
    width: 100%;
    padding: 0 20px;
}

.collections-text h2 {
    font-size: 20px;
    line-height: 1.3;
    margin: 0;
    font-weight: 300;
    color: white;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .collections-image-wrapper {
        height: 300px;
        background-position: center 20%;
    }
    
    .collections-logo {
        width: 100px;
        margin-bottom: 30px;
    }
    
    .collections-text h2 {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .collections-image-wrapper {
        height: 250px;
        background-position: center 25%;
    }
    
    .collections-logo {
        display: none;  /* Hide logo on mobile */
    }
    
    .collections-text {
        padding: 0 15px;
    }
    
    .collections-text h2 {
        font-size: 16px;
    }
}

@media (max-480px) {
    .collections-image-wrapper {
        height: 200px;
    }
    
    .collections-text h2 {
        font-size: 14px;
    }
}

/* Fix any potential body/html margins */
body, html {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background-color: white;
}

/* Ensure no extra spacing from parent elements */
section, div {
    margin: 0;
    padding: 0;
}

/* Remove any potential spacing from parent elements */
.section-dark > *,
.collections-image-wrapper > * {
    margin: 0;
    padding: 0;
    line-height: 0;
}

/* Ensure the section connects seamlessly with elements above it */
.section-dark {
    margin-top: -1px;
}

/* General responsive text sizing */
html {
    font-size: 16px; /* Base font size */
}

h1 {
    font-size: 2.625rem; /* 42px */
}

h2 {
    font-size: 2.25rem; /* 36px */
}

h3 {
    font-size: 1.75rem; /* 28px */
}

h4 {
    font-size: 1.5rem; /* 24px */
}

h5 {
    font-size: 1.25rem; /* 20px */
}

h6 {
    font-size: 1.125rem; /* 18px */
}

p {
    font-size: 0.9375rem; /* 15px */
}

/* Logo responsiveness */
.nav-logo {
    height: 85px;
    width: auto;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    html {
        font-size: 15px;
    }
    
    .nav-logo {
        height: 75px;
    }
}

@media (max-width: 991px) {
    html {
        font-size: 14px;
    }
    
    .nav-logo {
        height: 65px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 14px !important;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 13px;
    }
    
    /* Hide center logo on mobile */
    .navbar-nav > li > a#logo {
        display: none;
    }
    
    .nav-logo {
        height: 55px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 13px !important;
        line-height: 40px !important;
    }
    
    /* Collections section text */
    .collections-text h2 {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    html {
        font-size: 12px;
    }
    
    .nav-logo {
        height: 45px;
    }
    
    .navbar-default .navbar-nav > li > a {
        font-size: 12px !important;
        line-height: 35px !important;
    }
}

/* Update specific sections for better responsiveness */
.hero-bkgaspire-headings h1 {
    font-size: 3rem; /* 48px */
}

@media (max-width: 991px) {
    .hero-bkgaspire-headings h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .hero-bkgaspire-headings h1 {
        font-size: 2rem;
    }
}

@media (max-480px) {
    .hero-bkgaspire-headings h1 {
        font-size: 1.75rem;
    }
}

/* Base responsive setup */
:root {
    --container-padding: 5vw;
    --heading-scale: 1;
    --text-scale: 1;
}

/* Fluid typography */
@media screen and (min-width: 320px) {
    :root {
        --heading-scale: clamp(0.7, 0.7 + 1vw, 1);
        --text-scale: clamp(0.8, 0.8 + 0.5vw, 1);
    }
}

/* Base text styles */
body {
    font-size: calc(15px * var(--text-scale));
    line-height: 1.5;
    overflow-x: hidden;
}

/* Responsive headings */
h1 { font-size: calc(42px * var(--heading-scale)); }
h2 { font-size: calc(36px * var(--heading-scale)); }
h3 { font-size: calc(28px * var(--heading-scale)); }
h4 { font-size: calc(24px * var(--heading-scale)); }
h5 { font-size: calc(20px * var(--heading-scale)); }
h6 { font-size: calc(18px * var(--heading-scale)); }

/* Responsive spacing */
.section-white,
.section-grey,
.section-dark {
    padding: calc(50px * var(--heading-scale)) var(--container-padding);
}

/* Responsive images */
img {
    max-width: 100%;
    height: auto;
}

/* Responsive grid system enhancement */
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(-1 * var(--container-padding));
}

[class*='col-'] {
    padding: 0 var(--container-padding);
    width: 100%;
}

/* Responsive breakpoints */
@media (min-width: 768px) {
    .col-md-4 { width: 33.333%; }
    .col-md-6 { width: 50%; }
    .col-md-8 { width: 66.666%; }
    .col-md-12 { width: 100%; }
}

/* Navigation responsiveness */
.navbar-nav {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 2vw, 25px);
}

@media (max-width: 768px) {
    .navbar-nav {
        flex-direction: column;
        gap: 10px;
    }
    
    .navbar-nav > li > a#logo {
        display: none;
    }
}

/* Product grid responsiveness */
.products-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(10px, 2vw, 20px);
}

/* Gallery grid responsiveness */
.gallery-grid {
    display: grid;
    gap: clamp(10px, 2vw, 20px);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

@media (min-width: 768px) {
    .gallery-grid {
        grid-template-areas:
            "img1 img1 img2 img2"
            "img3 img4 img4 img5";
    }
    
    .gallery-item:nth-child(1) { grid-area: img1; }
    .gallery-item:nth-child(2) { grid-area: img2; }
    .gallery-item:nth-child(3) { grid-area: img3; }
    .gallery-item:nth-child(4) { grid-area: img4; }
    .gallery-item:nth-child(5) { grid-area: img5; }
}

/* Form responsiveness */
input, textarea, select {
    width: 100%;
    padding: calc(10px * var(--text-scale));
}

/* Button responsiveness */
.btn, button {
    padding: calc(10px * var(--text-scale)) calc(20px * var(--text-scale));
}

/* Collections section responsiveness */
.collections-image-wrapper {
    height: clamp(300px, 50vw, 450px);
}

.collections-logo {
    width: clamp(80px, 15vw, 130px);
}

.collections-text h2 {
    font-size: clamp(16px, 3vw, 22px);
}

/* About us section styling */
.section-white-aspire {
    padding: 70px 0;
    overflow: hidden;
}

.section-white-aspire .row {
    display: flex;
    align-items: center;
}

.section-white-aspire img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0;
    transform: none;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .section-white-aspire {
        padding: 50px 0;
    }
    
    .section-white-aspire .row {
        flex-direction: column;
    }
    
    .section-white-aspire .col-md-6 {
        width: 100%;
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .section-white-aspire {
        padding: 40px 0;
    }
    
    /* Hide image on mobile */
    .section-white-aspire .col-md-6.text-center {
        display: none;
    }
    
    /* Remove margin from text column since image is hidden */
    .section-white-aspire .col-md-6 {
        margin-bottom: 0;
    }
}

@media (max-480px) {
    .section-white-aspire {
        padding: 30px 0;
    }
}

/* Product Categories New Styling */
.product-categories {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 60px;
    position: relative;
}

.product-categories h2 {
    text-align: center;
    font-size: 28px;
    margin-bottom: 40px;
    color: #333;
}

/* New wrapper for slider and navigation */
.slider-wrapper {
    position: relative;
    padding: 0 50px; /* Space for navigation buttons */
}

.product-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.product-track {
    display: flex;
    transition: transform 0.5s ease;
}

.product-slide {
    flex: 0 0 33.333%;
    padding: 0 20px;
    box-sizing: border-box;
}

.product-item {
    text-align: center;
}

.product-item h4 {
    font-size: 18px;
    margin: 0 0 15px;
    color: #333;
}

.product-image {
    width: 100%;
    height: 450px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Navigation buttons styling */
.slider-nav {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    border: 1px solid #eee;
    border-radius: 50%;
    color: black;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    z-index: 100;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.slider-nav:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1);
}

.slider-prev {
    left: 0;
}

.slider-next {
    right: 0;
}

@media (max-width: 991px) {
    .product-slide {
        flex: 0 0 50%;
    }
    
    .product-image {
        height: 400px;
    }
}

@media (max-width: 767px) {
    .product-categories {
        padding: 0 20px;
    }
    
    .slider-wrapper {
        padding: 0 40px;
    }
    
    .product-slide {
        flex: 0 0 100%;
    }
    
    .product-image {
        height: 350px;
    }
}

/* Product hover effect */
.product-image {
    position: relative;
    overflow: hidden;
}

.product-hover-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease-in-out;
    padding: 30px;
}

.product-image:hover .product-hover-content {
    opacity: 1;
    transform: translateY(0);
}

.product-hover-content p {
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 25px;
    text-align: center;
}

.view-more-btn {
    display: inline-block;
    padding: 12px 30px;
    background: #AF905B;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.view-more-btn:hover {
    background: #8b734a;
    color: #fff;
    transform: translateY(-2px);
}

/* Reviews Section Styles */
.section-dark-reviews {
    padding: 80px 0;
    background-color: #000;
    position: relative;
}

.section-dark-reviews .section-title {
    margin-bottom: 50px;
}

.section-dark-reviews .section-title h2 {
    font-size: 36px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-dark-reviews .review-card {
    background: transparent;
    padding: 30px;
    margin-bottom: 30px;
    position: relative;
}

.section-dark-reviews .review-content {
    margin-bottom: 25px;
    position: relative;
}

.section-dark-reviews .review-content p {
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
    font-style: italic;
    margin: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.section-dark-reviews .review-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.section-dark-reviews .author-image {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 50%;
}

.section-dark-reviews .author-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-dark-reviews .author-info h4 {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 5px 0;
}

.section-dark-reviews .author-info span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    display: block;
}

/* Projects Section Styles */
.section-dark-projects {
    padding: 80px 0;
    background-color: #fff;
    position: relative;
}

.section-dark-projects .section-title {
    margin-bottom: 50px;
}

.section-dark-projects .section-title h2 {
    font-size: 36px;
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-dark-projects .gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 10px;
    margin-bottom: 40px;
}

.section-dark-projects .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.section-dark-projects .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.section-dark-projects .gallery-item:hover img {
    transform: scale(1.05);
}

/* Grid layout */
.section-dark-projects .gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.section-dark-projects .gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.section-dark-projects .gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.section-dark-projects .gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.section-dark-projects .gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

@media (max-width: 768px) {
    .section-dark-projects .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 300px);
        gap: 8px;
    }
    
    .section-dark-projects .gallery-item,
    .section-dark-projects .gallery-item.small,
    .section-dark-projects .gallery-item.wide {
        grid-column: 1;
    }
    
    .section-dark-projects .gallery-item:nth-child(1) { grid-row: 1; }
    .section-dark-projects .gallery-item:nth-child(2) { grid-row: 2; }
    .section-dark-projects .gallery-item:nth-child(3) { grid-row: 3; }
    .section-dark-projects .gallery-item:nth-child(4) { grid-row: 4; }
    .section-dark-projects .gallery-item:nth-child(5) { grid-row: 5; }
}

/* Footer Social Media Icons - Row Design */
.elista-footer-social {
    background-color: #0b0d0c;
    padding: 40px 0;
    border-bottom: 1px solid #333;
    display: flex;
    justify-content: center;
}

.elista-social-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 40px;
    border-right: 1px solid #444;
    transition: background-color 0.3s ease;
}

.elista-social-column:last-child {
    border-right: none;
}

.elista-social-column:hover {
    background-color: #1b1d1c;
}

.elista-social-column i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 15px;
    display: block;
}

.elista-social-column p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 991px) {
    .elista-social-column {
        padding: 0 20px;
    }
    
    .elista-social-column i {
        font-size: 24px;
    }
    
    .elista-social-column p {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .elista-footer-social {
        flex-direction: column;
        padding: 20px 0;
    }
    
    .elista-social-column {
        padding: 20px 0;
        border-right: none;
        border-bottom: 1px solid #444;
    }
    
    .elista-social-column:last-child {
        border-bottom: none;
    }
}

/* Footer Social Media Icons */
.aspire-footer {
    z-index: 900;
    background-color: #0b0d0c;
    font-weight: 300;
}

.aspire-socialbox-wrapper {
    border-bottom: 1px solid #333;
}

.aspire-socialbox {
    padding: 40px 40px;
    border-right: 1px solid #444;
    margin-left: -15px;
    margin-right: -15px;
    text-align: center;
    transition: background-color 0.3s ease;
}

.aspire-socialbox:hover {
    background: #1b1d1c;
}

.aspire-socialbox i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 20px;
    display: block;
}

.aspire-socialbox p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 991px) {
    .aspire-socialbox {
        border-right: none;
        padding: 20px 20px;
    }

    .aspire-socialbox.facebook, 
    .aspire-socialbox.instagram {
        background: #1b1d1c;
    }

    .aspire-socialbox.twitter, 
    .aspire-socialbox.pinterest {
        background: inherit;
    }
}

@media (max-width: 767px) {
    .aspire-socialbox {
        border-right: none;
        border-bottom: none;
    }

    .aspire-socialbox.facebook, 
    .aspire-socialbox.pinterest {
        background: #1b1d1c;
    }

    .aspire-socialbox.instagram, 
    .aspire-socialbox.twitter {
        background: inherit;
    }
}

.aspire-footer-wrapper{
	padding: 10px 0;
}

.aspire-footer-box{
	padding: 10px 10px;
	margin: 0 auto;
}

.aspire-footer-box i{
	float: left;
	font-size: 20px;
	line-height: 30px;
	margin-right: 15px;
	color: #3b3f47;
}

.aspire-footer-box span{
	margin-top: 5px;
	font-size: 16px;
	font-weight: 500;
	display: block;
	font-family: 'Montserrat', sans-serif;
}

.aspire-footer p.aspire-copyright{
	padding: 40px 0;
	color: #555;
}

.aspire-footer p.aspire-copyright a{
	color: #dbdbdb;
}

/* New Footer Styles */
.elista-dark-footer {
    background-color: #0b0d0c;
    width: 100%;
}

.elista-social-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    border-bottom: 1px solid #333;
}

.elista-social-item {
    flex: 1;
    text-align: center;
    padding: 40px 20px;
    border-right: 1px solid #444;
    transition: all 0.3s ease;
}

.elista-social-item:last-child {
    border-right: none;
}

.elista-social-item:hover {
    background-color: #1b1d1c;
}

.elista-social-item i {
    color: #fff;
    font-size: 30px;
    margin-bottom: 15px;
    display: block;
}

.elista-social-item p {
    color: #dbdbdb;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    line-height: 1.4;
}

.elista-copyright-section {
    padding: 40px 0;
    text-align: center;
}

.elista-copyright-text {
    color: #555;
    font-size: 14px;
}

.elista-copyright-text a {
    color: #dbdbdb;
    text-decoration: none;
}

@media (max-width: 767px) {
    .elista-social-row {
        flex-direction: column;
    }
    
    .elista-social-item {
        border-right: none;
        border-bottom: 1px solid #444;
        padding: 30px 20px;
    }
    
    .elista-social-item:last-child {
        border-bottom: none;
    }
}

.contact-map {
    height: 100%;
    min-height: 450px;
    margin-top: 40px;
}

.contact-map iframe {
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

@media (max-width: 767px) {
    .contact-map {
        margin-top: 30px;
        min-height: 300px;
    }
    
    .contact-map iframe {
        height: 300px;
    }
}

.contact-split-section {
    display: flex;
    background: #000;
    margin: 0;
    padding: 0;
}

.contact-form-half {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 0;
}

.form-container {
    width: 90%;
    max-width: 600px;
}

.form-container h3 {
    color: #fff;
    text-align: center;
    margin-bottom: 40px;
    font-size: 24px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.contact-map-half {
    width: 50%;
    height: 600px;
    position: relative;
}

.contact-map-half iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

@media (max-width: 991px) {
    .contact-split-section {
        flex-direction: column;
    }

    .contact-form-half,
    .contact-map-half {
        width: 100%;
    }

    .contact-map-half {
        height: 450px;
    }

    .form-container {
        width: 95%;
        padding: 0;
    }
}

/* Update existing contact form styles */
.aspire-contact-input,
.aspire-contact-comment {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    transition: all 0.3s ease;
    width: 100%;
    padding: 15px 20px;
    margin-bottom: 25px;
    font-size: 15px;
}

.aspire-contact-comment {
    height: 120px;
    resize: none;
}

.aspire-contact-input:focus,
.aspire-contact-comment:focus {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    outline: none;
}

.aspire-contact-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 40px 0;
    border: none !important;
    background: transparent !important;
}

.aspire-contact-wrapper::before,
.aspire-contact-wrapper::after {
    display: none !important;
    content: none !important;
}

.aspire-contact-submit {
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    transition: all 0.3s ease;
}

.aspire-contact-submit:hover {
    background: #fff;
    color: #000;
    width: 120px;
    border-radius: 45px;
}

/* Remove any existing animation keyframes */
@-webkit-keyframes doublePulsation {
    0% { opacity: 0; }
    100% { opacity: 0; }
}

@keyframes doublePulsation {
    0% { opacity: 0; }
    100% { opacity: 0; }
}

.mapouter {
    position: relative;
    text-align: right;
    width: 100%;
    height: 100%;
}

.gmap_canvas {
    overflow: hidden;
    background: none !important;
    width: 100%;
    height: 100%;
}

.gmap_iframe {
    height: 100% !important;
    width: 100%;
}

/* Four Images Section */
.four-images-section {
    padding: 0;
    background: #fff;
    width: 100%;
    overflow: hidden;
}

.four-images-section .container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}

.four-images-section .row {
    display: flex;
    flex-wrap: nowrap;
    margin: 0;
    width: 100%;
}

.four-images-section .image-container {
    flex: 1;
    padding: 0;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.four-images-section img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.3s ease;
    display: block;
}

.four-images-section .image-container:hover img {
    transform: scale(1.15);
}

@media (max-width: 767px) {
    .four-images-section .row {
        flex-wrap: wrap;
    }
    
    .four-images-section .image-container {
        flex: 0 0 50%;
    }
    
    .four-images-section img {
        height: 200px;
    }
}

/* Rest of your CSS */

/* Image loading animations */
.lazy-image {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.lazy-image.loaded {
    opacity: 1;
}

/* Image container placeholder */
.image-container {
    background: #f5f5f5;
    position: relative;
    overflow: hidden;
}

.image-container::before {
    content: '';
    display: block;
    padding-top: 75%; /* 4:3 aspect ratio */
}

.image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Video Play Button Styles */
.video-play-button {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #fff;
    transition: all 0.3s ease;
}

.video-play-button:hover {
    transform: scale(1.05);
    color: #fff;
}

.play-circle {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    border: 2px solid #fff;
    transition: all 0.3s ease;
}

.play-circle i {
    font-size: 30px;
    margin-left: 5px;
}

.video-play-button:hover .play-circle {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.play-text {
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Optimized Image Loading */
.lazy-image {
    opacity: 0;
    transform: scale(0.95);
    transition: all 0.5s ease-in-out;
    will-change: opacity, transform;
}

.lazy-image.loaded {
    opacity: 1;
    transform: scale(1);
}

.image-container {
    background: linear-gradient(45deg, #f1f1f1, #f5f5f5);
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.image-container::before {
    content: '';
    display: block;
    padding-top: 75%;
    background: linear-gradient(90deg, 
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.3) 50%,
        rgba(255,255,255,0) 100%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateZ(0);
    will-change: opacity;
}

/* Gallery Image Optimizations */
.gallery-item img {
    opacity: 0;
    transition: all 0.5s ease-in-out;
    will-change: opacity, transform;
    transform: translateZ(0);
}

.gallery-item img.loaded {
    opacity: 1;
}

.gallery-grid {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Optimized Image Loading Styles */
.lazy-image {
    opacity: 0;
    transform: scale(0.98);
    filter: blur(5px);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform, filter;
    transform-origin: center center;
    backface-visibility: hidden;
    perspective: 1000px;
}

.lazy-image.loaded {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
}

.image-container {
    background: linear-gradient(45deg, #f1f1f1, #f5f5f5);
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    backface-visibility: hidden;
    contain: content;
}

.image-container::before {
    content: '';
    display: block;
    padding-top: 75%;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.2) 20%,
        rgba(255,255,255,0.5) 60%,
        rgba(255,255,255,0.2) 80%,
        rgba(255,255,255,0) 100%
    );
    background-size: 200% 100%;
    animation: shimmer 1s infinite linear;
    transform: translateZ(0);
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.image-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateZ(0);
    will-change: opacity;
    contain: strict;
}

/* Gallery Image Optimizations */
.gallery-grid {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
    contain: content;
}

.gallery-item {
    overflow: hidden;
    transform: translateZ(0);
    contain: content;
}

.gallery-item img {
    transform: translateZ(0);
    will-change: transform, opacity;
    transition: transform 0.3s ease-out;
    contain: strict;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

/* Product Images Optimization */
.product-image {
    contain: content;
    transform: translateZ(0);
}

.product-image img {
    transform: translateZ(0);
    will-change: transform, opacity;
    contain: strict;
}

/* Performance Optimizations for Mobile */
@media (max-width: 768px) {
    .lazy-image, 
    .gallery-item img,
    .product-image img {
        transform: translateZ(0);
        will-change: auto;
    }
    
    .image-container::before {
        animation: none;
    }
}

/* Product Slider Mobile Fixes */
.product-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-prev {
    left: 10px;
}

.slider-next {
    right: 10px;
}

/* Reviews Mobile Fixes */
@media (max-width: 768px) {
    .reviews-container {
        padding: 0 15px;
        margin: 0 auto;
        max-width: 100%;
    }

    .review-box {
        margin: 15px 0;
        width: 100%;
    }

    /* Gallery Mobile Grid Fix */
    .gallery-grid {
        display: block !important;
        padding: 0 15px;
    }

    .gallery-item,
    .gallery-item.small,
    .gallery-item.wide {
        width: 100% !important;
        margin: 10px 0;
        height: auto !important;
    }

    .gallery-item img {
        width: 100%;
        height: 300px !important;
        object-fit: cover;
    }

    /* Footer Social Mobile Fix */
    .elista-social-row {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
    }

    .elista-social-item {
        width: 100%;
        margin: 5px 0;
        padding: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Ensure slider buttons stay visible on mobile */
@media (max-width: 480px) {
    .product-slider {
        padding: 0 45px;
    }

    .slider-nav {
        width: 35px;
        height: 35px;
        background: rgba(0, 0, 0, 0.7);
        position: absolute;
        top: 50%;
    }

    .slider-prev {
        left: 5px;
    }

    .slider-next {
        right: 5px;
    }

    .product-track {
        margin: 0;
    }
}

/* Project Gallery Optimizations */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px 300px;
    gap: 15px;
    margin: 0;
    padding: 15px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background-color: #f5f5f5;
}

.image-loading-indicator {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading-shimmer 1.5s infinite linear;
    z-index: 1;
}

@keyframes loading-shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 2;
    position: relative;
}

.gallery-image.loaded {
    opacity: 1;
}

/* Grid layout for desktop */
.gallery-item:nth-child(1) {
    grid-column: 1 / span 2;
    grid-row: 1;
}

.gallery-item:nth-child(2) {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.gallery-item.small:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.gallery-item.wide {
    grid-column: 2 / span 2;
    grid-row: 2;
}

.gallery-item.small:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

/* Mobile Optimizations */
@media (max-width: 768px) {
    .gallery-grid {
        display: flex;
        flex-direction: column;
        gap: 15px;
        padding: 15px;
    }

    .gallery-item {
        width: 100% !important;
        height: 300px !important;
        margin: 0;
    }

    .gallery-image {
        height: 100%;
    }

    .reviews-container {
        padding: 15px;
    }

    .review-box {
        margin: 15px 0;
        width: 100%;
    }

    .elista-social-row {
        flex-direction: column;
        padding: 15px;
    }

    .elista-social-item {
        width: 100%;
        margin: 5px 0;
        padding: 15px;
    }
}

/* Product Slider Mobile Fixes */
@media (max-width: 480px) {
    .product-slider {
        padding: 0 40px;
    }

    .slider-nav {
        width: 35px;
        height: 35px;
        background: rgba(0, 0, 0, 0.8);
        position: fixed;
    }

    .slider-prev {
        left: 5px;
    }

    .slider-next {
        right: 5px;
    }

    .product-track {
        margin: 0;
    }
}

/* Ensure images load properly */
img[loading="lazy"] {
    background: #f5f5f5;
}