/* ==========================
Google Font
========================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
/* ==========================
Root
========================== */
:root{
	--primary:#2c407d;
	--dark:#373435;
	--white:#ffffff;
}
/* ==========================
Body
========================== */
body{
	font-family:'Poppins',sans-serif;
	background:#fff;
	overflow-x:hidden;
}
html,
body{
    overflow-x:hidden;
}
/*==============================
Navbar
===============================*/

.navbar{

	margin:15px auto;

	width:95%;

	border-radius:15px;

	background:#fff;

	box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.navbar-scroll{

	margin:0;

	width:100%;

	border-radius:0;
	background: #fff !important;

}

.navbar-scroll .navbar-brand img{

	height:50px;

}

.navbar-brand img{

	transition:.35s;

}

.nav-link{

	color:#373435 !important;

	font-weight:600;

	margin-left:18px;

	position:relative;

	transition:.35s;

}

.nav-link::after{

	content:"";

	position:absolute;

	left:0;

	bottom:-6px;

	width:0;

	height:3px;

	background:#2c407d;

	border-radius:20px;

	transition:.35s;

}

.nav-link:hover,

.nav-link.active{

	color:#2c407d !important;

}

.nav-link:hover::after,

.nav-link.active::after{

	width:100%;

}

/* Button */

.btn-nav{

	background:#2c407d;

	color:#fff;

	border-radius:50px;

	padding:11px 26px;

	font-weight:600;

	transition:.35s;

}

.btn-nav:hover{

	background:#373435;

	color:#fff;

	transform:translateY(-3px);

}

/* Mobile */

@media(max-width:991px){

	.navbar-collapse{

		background:#fff;

		padding:20px;

		border-radius:15px;

		margin-top:15px;

		box-shadow:0 10px 25px rgba(0,0,0,.08);

	}

	.nav-link{

		margin:10px 0;

	}

}
/* ==========================
Hero
========================== */
.hero{
	padding-top:160px;
	padding-bottom:120px;
	background:linear-gradient(135deg,#2c407d,#373435);
	color:white;
	position:relative;
	overflow:hidden;
}
/* Glow */
.hero::before{
	content:"";
	position:absolute;
	width:500px;
	height:500px;
	background:rgba(255,255,255,.08);
	border-radius:50%;
	top:-150px;
	right:-150px;
}
/* Glow */
.hero::after{
	content:"";
	position:absolute;
	width:300px;
	height:300px;
	background:rgba(255,255,255,.05);
	border-radius:50%;
	bottom:-100px;
	left:-100px;
}
/* Badge */
.hero-badge{
	background:white;
	color:#2c407d;
	padding:12px 22px;
	font-size:15px;
	border-radius:50px;
	margin-bottom:20px;
}
/* Heading */
.hero h1{
	font-size:58px;
	font-weight:800;
	line-height:1.2;
	margin-bottom:25px;
}
.hero h1 span{
	color:#ffd54f;
}
/* Paragraph */
.hero p{
	font-size:18px;
	line-height:32px;
	max-width:550px;
}
/* Hero Logo */
.hero-logo{
	max-height:420px;
	animation:float 4s ease-in-out infinite;
	filter:drop-shadow(0 20px 40px rgba(0,0,0,.4));
}
/* Buttons */
.btn-main{
	background:var(--primary);
	color:var(--white);
	padding:14px 34px;
	font-weight:600;
	border-radius:50px;
	transition:.3s;
}
.btn-main:hover{
	background:#ffd54f;
	transform:translateY(-4px);
}
.btn-outline-light{
	padding:14px 34px;
	border-radius:50px;
}
/* Floating */
.floating{
	position:fixed;
	left:20px;
	bottom:20px;
	display:flex;
	flex-direction:column;
	gap:15px;
	z-index:999;
}
.floating a{
	width:60px;
	height:60px;
	border-radius:50%;
	background:#2c407d;
	color:white;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:24px;
	box-shadow:0 10px 25px rgba(0,0,0,.3);
	transition:.3s;
	text-decoration:none;
}
.floating a:hover{
	background:#25D366;
	transform:scale(1.1);
}
/* Floating Animation */
@keyframes float{
	0%{
		transform:translateY(0);
	}
	50%{
		transform:translateY(-18px);
	}
	100%{
		transform:translateY(0);
	}
}
/* Responsive */
@media(max-width:991px){
	.hero{
		text-align:center;
		padding-top:130px;
	}
	.hero h1{
		font-size:42px;
	}
	.hero-logo{
		margin-top:40px;
		max-height:280px;
	}
}
@media(max-width:576px){
	.hero h1{
		font-size:34px;
	}
	.hero p{
		font-size:16px;
		line-height:28px;
	}
	.btn-main,
	.btn-outline-light{
		display:block;
		width:100%;
		margin-bottom:15px;
	}
}
/*==========================
Section Title
==========================*/
.section-tag{
	background:#eef3ff;
	padding:10px 18px;
	border-radius:50px;
	color:#2c407d;
	font-weight:600;
	display:inline-block;
}
.section-title{
	font-size:42px;
	font-weight:700;
	color:#373435;
}
.section-title span{
	color:#2c407d;
}
/*==========================
About
==========================*/
.about{
	background:#fff;
}
.about-image{
	overflow:hidden;
	border-radius:20px;
}
.about-image img{
	transition:.5s;
}
.about-image:hover img{
	transform:scale(1.06);
}
.about-box{
	background:#fff;
	padding:25px;
	border-radius:18px;
	box-shadow:0 10px 30px rgba(0,0,0,.08);
	text-align:center;
	transition:.35s;
	height:100%;
}
.about-box:hover{
	background:#2c407d;
	color:#fff;
	transform:translateY(-8px);
}
.about-box i{
	font-size:40px;
	margin-bottom:15px;
	color:#2c407d;
}
.about-box:hover i{
	color:#fff;
}
/*==========================
Counter
==========================*/
.counter-section{
	padding:70px 0;
	background:linear-gradient(135deg,#2c407d,#373435);
}
.counter-box{
	color:#fff;
}
.counter-box h2{
	font-size:50px;
	font-weight:700;
}
.counter-box p{
	font-size:18px;
}
/*==========================
Features
==========================*/
.why{
	background:#f8f9fc;
}
.feature-card{
	background:#fff;
	padding:40px 30px;
	border-radius:20px;
	text-align:center;
	box-shadow:0 15px 35px rgba(0,0,0,.08);
	transition:.35s;
	height:100%;
}
.feature-card:hover{
	background:#2c407d;
	color:#fff;
	transform:translateY(-12px);
}
.feature-card i{
	font-size:55px;
	color:#2c407d;
	margin-bottom:20px;
	display:block;
}
.feature-card:hover i{
	color:#fff;
}
/*==========================
Products
==========================*/
.products{
	background:#ffffff;
	position:relative;
}
.product-image{
	overflow:hidden;
	border-radius:20px;
}
.product-image img{
	transition:.5s;
}
.product-image:hover img{
	transform:scale(1.05);
}
.product-card{
	background:#fff;
	padding:28px;
	border-radius:18px;
	box-shadow:0 10px 30px rgba(0,0,0,.08);
	text-align:center;
	transition:.35s;
	height:100%;
	border:1px solid #eee;
}
.product-card:hover{
	background:#2c407d;
	transform:translateY(-10px);
	color:#fff;
}
.product-card i{
	font-size:42px;
	color:#2c407d;
	margin-bottom:15px;
	display:block;
	transition:.35s;
}
.product-card:hover i{
	color:#fff;
}
.product-card h5{
	font-weight:600;
	margin:0;
}
/*==========================
CTA
==========================*/
.cta{
	padding:80px 0;
	background:linear-gradient(135deg,#2c407d,#373435);
	color:#fff;
}
.cta h2{
	font-size:42px;
	font-weight:700;
	margin-bottom:15px;
}
.cta p{
	font-size:18px;
	opacity:.9;
}
.cta .btn{
	padding:16px 40px;
	border-radius:50px;
	font-weight:600;
	transition:.35s;
}
.cta .btn:hover{
	transform:translateY(-5px);
}
/*=========================
Contact
=========================*/
.contact{
	background:#f8f9fb;
}
.contact-info{
	background:#2c407d;
	padding:40px;
	border-radius:20px;
	color:#fff;
	height:100%;
}
.info-box{
	display:flex;
	margin-bottom:35px;
	align-items:flex-start;
}
.info-box i{
	font-size:32px;
	margin-right:20px;
}
.contact-form{
	background:#fff;
	padding:40px;
	border-radius:20px;
	box-shadow:0 15px 40px rgba(0,0,0,.08);
}
.form-control{
	padding:14px;
	border-radius:12px;
}
.form-control:focus{
	box-shadow:none;
	border-color:#2c407d;
}
/*=========================
Footer
=========================*/
footer{
	background:#373435;
	color:#fff;
	padding:100px 0 40px;
}
footer h5{
	margin-bottom:20px;
}
footer ul{
	padding:0;
	list-style:none;
}
footer ul li{
	margin-bottom:10px;
}
footer a{
	color:#fff;
	text-decoration:none;
}
footer a:hover{
	color:#ffd54f;
}
.social a{
	width:45px;
	height:45px;
	background:#2c407d;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	border-radius:50%;
	margin-right:10px;
	transition:.3s;
}
.social a:hover{
	transform:translateY(-5px);
	background:#fff;
	color:#2c407d;
}
.copyright{
	text-align:center;
	padding-top:15px;
}
/*=========================
Top Button
=========================*/
#topBtn{
	position:fixed;
	bottom:30px;
	right:30px;
	width:55px;
	height:55px;
	border:none;
	border-radius:50%;
	background:#2c407d;
	color:#fff;
	display:none;
	font-size:22px;
	z-index:999;
	box-shadow:0 10px 20px rgba(0,0,0,.3);
}
/*===========Gallery=================*/
.gallery-item{
    cursor:pointer;
    background:#fff;
    border-radius:12px;
    padding:15px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.gallery-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.gallery-item img{
    height:170px;
    width:100%;
    object-fit:contain;
    transition:.35s;
}

.gallery-item:hover img{
    transform:scale(1.05);
}

.gallery-item h6{
    margin-top:15px;
    font-weight:600;
    font-size:15px;
}

.modal-image{
    max-height:80vh;
    transition:.4s;
}

.modal-content{
    background:transparent;
}