/* CSS Document */

/* theme fonts goes here */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* Table of Contents
-----------------------------------------------------------------------------
=> Clean Base
=> Base Typography
=> Images
=> Links
=> Forms
=> Tables
=> Framework
*/

/* Clean Base
------------------------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
a,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	text-decoration:none;outline:none;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-tap-highlight-color:rgba( 0, 0, 0, 0 );
}
/* html {
    scroll-behavior: smooth;
} */

html,
body {
	-webkit-text-size-adjust:none;
	height: 100%;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary { display: block; }

iframe { vertical-align: top; }

textarea:focus,
input:focus,
a,
div,
img { outline: none; }

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

/* Base Typography
------------------------------------------------------------------------------*/
body {
	color: #000;
	font-size: 16px;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	line-height: 1.5;
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
}

address {
	font-style: italic;
	margin: 0 0 20px;
}

pre {
	background-color: transparent;
	background-color: rgba(0, 0, 0, 0.01);
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
	line-height: 1.2;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 0.8em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

abbr[title] {
	border-bottom: 1px dotted rgb(230, 230, 230);
	cursor: help;
}

mark,
ins {
	background-color: #fff9c0;
	text-decoration: none;
}

sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup { bottom: 1ex; }

sub { top: .5ex; }

small { font-size: 75%; }

big { font-size: 125%; }

dl { margin-bottom: 1.6em; }

dt { font-weight: bold; }

dd { margin-bottom: 1.6em; }

code,
kbd,
tt,
var,
samp,
pre {
	font-family: "Montserrat", sans-serif;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

b,
strong { font-weight: 700; }

dfn,
cite,
em,
i { font-style: italic; }

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: #202F3E;
	line-height: 1.5;
	font-family: inherit;
}

.h1,
h1 {
	font-size:82px;
	margin-bottom: 20px;
}

.h2,
h2 {
	font-size:48px;
	margin-bottom: 20px;
}

.h3,
h3 {
	font-size:24px;
	margin-bottom: 18px;
}

.h4,
h4 {
	font-size:22px;
	margin-bottom: 17px;
}

.h5,
h5 {
	font-size:20px;
	margin-bottom: 15px;
}

.h6,
h6 {
	font-size:18px;
	margin-bottom: 10px;
}

h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a,
h6 a,
.h6 a {
	color: inherit;
	text-decoration: none;
}

p { margin-bottom: 15px; }
p:last-child { margin-bottom: 0; }

ul { padding-left: 20px; }
ul li { padding-bottom: 10px; }
ul li:last-child{ padding-bottom: 0; }

ol { padding-left: 20px; }
ol li { padding-bottom: 10px; }
ol li:last-child{ padding-bottom: 0; }

.body-content ul,
.body-content ol{ padding-bottom: 15px; }

.body-content ul ul,
.body-content ul ol,
.body-content ol ol,
.body-content ol ul{
	padding-top: 10px;
	padding-bottom: 0;
}

blockquote {
	display: block;
	text-align: left;
	position: relative;
	background: #f3f3f3;
	padding: 20px 20px;
	border-left: 4px solid #1589cb;
	line-height: 2;
	font-size: 20px;
	font-style: italic;
	margin-bottom: 25px;
}

blockquote p {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

hr {
	border: 0 #000 solid;
	border-top-width: 1px;
	clear: both;
	height: 0;
	margin: 10px auto 40px;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
	display: inline-block;
	vertical-align: top;
}

img[src$=".svg"] {
	width: 100%;
	height: auto;
	display: inline-block;
	vertical-align: top;
}

/* Link
------------------------------------------------------------------------------*/
a {
	color:#4777ac;
	transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
	cursor: pointer;
}

a:hover {
	color:#000;
	text-decoration: underline;
}

a:focus { outline: none; }

/* 5. Forms
------------------------------------------------------------------------------*/
label {
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 10px;
	display: block;
}

input,
textarea,
button {  font-family: "Montserrat", sans-serif; }

input[type="text"],
input[type="submit"],
input[type="button"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
textarea {
	-webkit-appearance: none;
	outline: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
textarea {
	border: 1px solid #dedede;
	padding: 0 15px;
	color: #000;
	font-size: 16px;
	height: 46px;
	font-weight: 400;
	width: 100%;
}

textarea {
	height: 150px;
	resize: none;
	overflow: auto;
	padding: 20px 15px;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus {
	border-color: #66afe9;
	outline:none;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
	padding: 0 15px;
	height: 40px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	border: none;
	color: #0B363C;
	background-color: #2BDEBB;
	border-radius: 100px;
	transition: 0.3s;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background-color: #66afe9;
	color: #fff;
	outline:none;
}

input[type="search"] { -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-input-placeholder {
	opacity: 1 !important;
	color: #000;
}

:-moz-placeholder {
	opacity: 1 !important;
	color: #000;
}

::-moz-placeholder {
	opacity: 1 !important;
	color: #000;
}

:-ms-input-placeholder {
	opacity: 1 !important;
	color: #000;
}

.form-group { margin-bottom: 30px; }

/* buttons */
.btn {
	display: inline-block;
	vertical-align: top;
	padding: 6px 12px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	border: none;
	text-transform: uppercase;
	border-radius: 0px;
	color: #fff;
	background-color: #0eb769;
}

.btn:hover,
.btn:focus {
	color: #fff;
	background-color: #019852;
	border-color: #019852;
	text-decoration: none;
}

.btn-sm { padding: 8px 16px; }
.btn-md { padding: 12px 24px; }

.btn-link {
	color: #98989c;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	border-bottom: 1px solid #98989c;
	margin-bottom: 2px;
}

.btn-link:hover,
.btn-link:focus {
	color: #0eb769;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid #0eb769;
}

/* Tables
------------------------------------------------------------------------------*/
table {
	border-spacing: 0;
	border-collapse: collapse;
}

td {
	text-align: left;
	font-weight: normal;
}

.table-responsive {
	display: block;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

.table-bordered {
	width: 100%;
	max-width: 100%;
	text-align: left;

}

.table-bordered th,
.table-bordered td {
	vertical-align: bottom;
	border-bottom: 1px solid #ddd;
	padding: 10px;
}

/* Layout Framework
------------------------------------------------------------------------------*/
/*--- main container ---*/
.wrapper {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	width: 100%;
	min-height: 100%;
	flex-wrap: wrap;
	background-color: #ECF3F0;
	overflow: hidden;
}

.main-container { width: 100%; }

.container,
.container-fluid {
	width: 100%;
	max-width: 1321px;
	margin: auto;
	padding-right: 50px;
	padding-left: 50px;
}

.container-fluid { max-width: 100%; }

/*--- header ---*/
.main-header {
	width: 100%;
	height: auto;
	z-index: 99;
    position: fixed;
	transition: 0.5s;
}
.main-header.stuck {
	background-color: #202F3E;

}

/* responsive nav for small devices */
.hamburger {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	height: 50px;
	width: 50px;
	background-color: transparent;
	text-align: center;
}

.hamburger:not(.close) {
	position: fixed;
    top: 8px;
    right: 20px;
    z-index: 999;
}

.hamburger:hover,
.hamburger:focus {
	background-color: transparent;
	outline: none;
}

.hamburger .line {
	display: block;
	width: 30px;
	margin: 6px auto;
	height: 4px;
	background-color: #2BDEBB;
}

.hamburger:hover { cursor: pointer; }

.hamburger .wrap { display: block; }

.hamburger.close { padding: 10px; }

.hamburger.close .wrap {
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
}

.hamburger.close .line {
	position: absolute;
	top: calc(50% - 2px);
	width: 100%;
	margin: 0;
	transform: rotate(45deg);
	background-color: #fff
}

.hamburger.close .line:last-child { transform: rotate(-45deg); }

.menu-state {
	position: fixed;
	top: 0;
	bottom: 0;
	left: -100%;
	z-index: 999;
	width: 80%;
	max-width: 450px;
	background-color: #1A252F;
	transition: all 0.3s ease-in-out;
}

.mobilenav.is-open .menu-state { left: 0; }

.mobilenav .nav-logo { padding: 15px; }

.mobilenav ul,
.mobilenav li {
	position: relative;
	padding: 0;
	margin: 0;
	list-style: none;
}

.mobilenav ul ul { display: none; }

.mobilenav .caret {
	position: absolute;
	top: 3px;
	right: 2px;
	display: block;
	width: 36px;
	height: 36px;
	cursor: pointer;
}

.mobilenav .caret:not(.trigger-caret) { pointer-events: none; }

.mobilenav .caret:before,
.mobilenav .caret:after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: block;
	margin: auto;
	width: 20px;
	height: 2px;
	background: #fff;
}

.mobilenav .caret:after {
	transform: rotate(-90deg);
	transition: all .2s ease;
}

.mobilenav .is-open > .caret:after { transform: rotate(0); }

.mobilenav ul a {
	z-index: 2;
	display: block;
	padding: 10px 15px;
	cursor: pointer;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	font-size: 20px;
	text-decoration: none;
	color: #ffffff;
}

.mobilenav .has-sub > a { padding-right: 40px; }

.mobilenav li li a {
	padding-left: 30px;
	font-size: 16px;
}

.mobilenav li li li a {
	padding-left: 50px;
	font-size: 15px;
}

.mobilenav .nav-backdrop {
	position: fixed;
	z-index: -1;
	height: 100%;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease-in;
	background: rgba( 0, 0, 0, 0.8 );
}

.mobilenav.is-open .nav-backdrop {
	opacity: 1;
	z-index: 999;
	visibility: visible;
}

.mobilenav .menu-outer {
	max-height: calc( 100vh - 80px );
	overflow-y: auto;
	padding-bottom: 60px;
}

/* nav */
.navigation {
	width: 100%;
	height: auto;
}

.navigation ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.navigation ul li {
	padding: 0;
	margin: 0;
	list-style: none;
}

/* Desktop Header */
.main-header {
	background-color: #1A252F;
}
.header-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;

}
.header-logo a {
	display: block;
	width: 121px;
    height: 21px;
}
.hero-author-img {
	width: 48px;
    height: 48px;
}
.header-wrapper .header-logo-menu {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.header-wrapper .header-menu ul {
	display: flex;
	align-items: center;
	justify-content: space-around;
}
.header-wrapper .header-menu ul li {
	list-style-type: none;
	padding: 0 15px 0;
}
.header-wrapper .header-menu ul li a {
	font-size: 14px;
	color: white;
	font-weight: 600;
}

/*--- footer ---*/
.main-footer {
	position: relative;
	width: 100%;
	height: auto;
	background: #1A252F;
	line-height: normal;
	padding: 64px 0;
    margin-left: 32px;
    margin-right: 32px;
    border-radius: 8px;
	overflow: hidden;
	margin-bottom: 32px;
}

.main-footer::before, .main-footer::after {
	content: '';
	position: absolute;
	top:0;
	right:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('assets/image/footer1.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.6s ease; /* Corrected transition */
	transition-delay: 0.6s; 
}
.main-footer.aos-animate::before, .main-footer.aos-animate::after {
	opacity: 1;
	
}
.main-footer::after {
	background-image: url('assets/image/footer2.png');	
	background-position: right;
}
.footer-wrap {
	text-align: center;
}
.footer-wrap h2 {
	font-weight: 500;
	background: linear-gradient(88.93deg, #FFFFFF -3.79%, #27C9A9 99.09%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.footer-wrap p {
	color: white;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.8px;
}
.footer-wrap button {
	font-size: 18px;
	padding: 0px 20px;
	height: 50px;	
}
/*.footer-wrap a {
	
	position: relative;
    text-transform: uppercase;
    color: white;
    font-weight: 700;
    display: inline-block;
    padding: 17px 35px 17px 60px;
	background-color: #202F3E;
	border-radius: 8px;
	letter-spacing: 0.8px;
	margin-top: 48px;

}
.footer-wrap a::before{
	content: '';
	position: absolute;
	top:0;
	right: 0;
	left: 28px;
	width: 20px;
	height: 100%;
	background-image: url('assets/image/mail.png');
	background-position: left;
	background-repeat: no-repeat;
	background-size: auto;
} */
.footer-copyright ul {
	display: flex;
    justify-content: center;
	flex-wrap: wrap;
	padding: 0;
	margin-top: 32px;
}
.footer-copyright ul li {
	list-style-type: none;
	color: #91AAC1;
	font-size: 12px;
	font-weight: 400;
	border-right: 1px solid #91AAC1;
	padding-bottom: 0;
	margin-right: 8px;
    padding-right: 8px;
	margin-top: 5px;


}
.footer-copyright ul li:last-child{
	border-right:0;
}
/*--------- home page ------------*/
/* banner part start */
.hero-section {
	background-color: #1A252F;
	display: flex;
    min-height: 100vh;
}
.hero-section .hero-left h1{
	font-size: 82px; /* Adjust the font size as needed */
    font-weight: 500;
    background: linear-gradient(to right, #ffffff, #31d8c9); /* Change colors based on the gradient you want */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
	line-height: 1.1em;
	margin-bottom: 16px;
}
.hero-section .hero-left p {
	font-size: 16px;
	text-transform: uppercase;
	color: white;
	font-weight: 700;
	letter-spacing: 0.8px;
}
.hero-section .hero-left {
	margin-bottom: 82px;
}
.hero-section .hero-button-wrap {
    display: flex;
    align-items: center;
	flex-wrap: wrap;
	margin-bottom: 24px;
	
}
.hero-section .hero-button {
	margin-right: 24px;
}
.hero-section .hero-author {
	font-size: 16px;
    color: white;
    font-weight: 500;
}
.hero-section .hero-designation span {
	font-size: 12px;
    color: #91AAC1;
}
.hero-section .hero-designation {
	
    display: flex;
	
}
.hero-author-name {
	margin-left: 10px;

}
.hero-section .hero-planing ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
    padding: 0;
}
.hero-section .hero-planing ul li {
	position: relative;
	padding: 0;
	list-style-type: none;
	padding-left: 25px;
    padding-right: 20px;
}
.hero-section .hero-planing ul li::before{
	content: '';
	position: absolute;
	top:0;
	right: 0;
	width: 100%;
	height: 100%;
	background-image: url('assets/image/arrow.png');
	background-repeat: no-repeat;
	background-position: left;
}
.hero-section .hero-planing ul li a {
	color: white;
	font-size: 14px;
    font-weight: 600;
}
.hero-section .hero-img img {
	width: 100%;
}
.hero-section .hero-row {
	align-items: center;
}
.hero-section .hero-img {
	margin-left: -100px;
	opacity: 0;
	transition: opacity 0.3s ease; /* Corrected transition */
	transition-delay: 0.3s;
}
.hero-section .hero-img.aos-animate {
	opacity: 1;
}
/* banner part end */
/* about us part start */
.about-us {
	padding: 129px 0 50px;
	/* background-color: #ECF3F0; */
}
.about-us .about-content span {
    display: block;
	font-size: 16px;
    color: #27C9A9;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 18px;
}
.about-us .about-content h2 {
	font-weight: 500;
	line-height: 1.1em;
	margin-bottom: 32px;
}
.about-us .about-content p {
	color: #314B65;
}
.about-us .about-img {
	position: relative;
	text-align: center;
	aspect-ratio: 531 / 504;
}
.about-us .about-img::before, .about-us .about-img::after {
	content: '';
    position: absolute;
    top: 90px;
    right: 0;
    left: -90px;
    width: 100%;
    height: 100%;
    background-image: url('assets/image/up-arrow.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
	pointer-events: none;
}
.about-us .about-img::after {
	top: -90px;
	left: auto;
	right: -90px;
	background-image: url('assets/image/down-arrow.png');
	background-position: right;
}
.about-us .about-img img {
	position: relative;
	z-index: 9;
	width: 100%;
}
.about-us .about-linkdin span{
	display: flex;
    align-items: center;
    justify-content: right;
	font-size: 16px;
	font-weight: 500;
}
.about-linkdin a {
	margin-left: 8px;
}
.about-us .about-linkdin {
	text-align: right;
	margin-top: 26px;
}
.about-us .about-content {
	width: 100%;
    max-width: 500px;
}
/* about us part end */
/* expertise part start */
.expertise-section {
	/* background-color: #ECF3F0; */
	padding:72px 0;
}
.expertise-section .expertise-text span {
	display: block;
	font-size: 16px;
    color: #27C9A9;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 18px;
}
.expertise-section .expertise-text h2 {
	font-weight: 500;
	margin-bottom: 48px;

}
.expertise-section .expertise-box {
	background-color: #DFF0EB;
	border:1px solid #B8E6D9;
	border-radius: 8px;
	padding: 8px;
	height: 100%;
}
.expertise-section .expertise-img img {
	width: 100%;
	border-radius: inherit;
}
.expertise-section .expertise-img {
	border-radius: 8px;
}
.expertise-section .expertise-heading-wrap {
    padding: 16px;
}
.expertise-heading-wrap h3{
	font-weight: 500;

}
.expertise-heading-wrap p {
	color: #1A252F;
}
/* expertise part end */
/* slider part start*/
.slider-section {
	position: relative;
	background-color: #1A252F;
	padding: 50px 0 120px;
	overflow: hidden;
}
.slider-section  .slider-title {
	position: relative;
}
.slider-section .slider-title span {
	display: block;
    font-size: 16px;
    color: #27C9A9;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 18px;
}
.slider-section .slider-title h2 {
	color: white;
	font-weight: 500;
	margin-bottom: 56px;
	padding-right: 150px;	
}
.slider-section .slider-wrap {
	background-color: #202F3E;
	border:1px solid #314B65;	
	padding: 32px;
	height: auto;
	border-radius: 8px;

}
.slider-section .slider-logo {
	width: 272px;
	margin-bottom: 26px;
	min-height: 80px;
}
.slider-section .slider-logo img {
	height: 49px;
}
.slider-content span {
	display: block;
	color: white;
	font-size: 14px;
	font-weight: 600;
	padding: 8px;
	margin-bottom: 24px;
	background: linear-gradient(90deg, rgba(37, 198, 166, 0.22) 0%, rgba(29, 84, 82, 0.25) 100%);
	border: 1px solid rgb(255 255 255 / 7%);

}
.slider-content p {
	color: white;
	font-weight: 400;
    font-weight: 400;
	margin-bottom: 32px;
}
.slider-author {
	font-size: 16px;
	color: #27C9A9;
	text-transform: uppercase;
	font-weight: 700;
}
.slider-designation span {
	color: white;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 75px;
}
.slider-design {
	height: 79%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.slider-swiper-arrows .swiper-button-next::after, .slider-swiper-arrows .swiper-button-prev::after {
	font-size: 14px;
    color: #FFFFFF;
}
.slider-swiper-arrows .swiper-button-next, .slider-swiper-arrows .swiper-button-prev {
	position: relative;
	left: -20px;
	width: 50px;
    height: 50px;
    background-color: transparent;
    border: 1px solid #314B65;

}
.slider-swiper-arrows .swiper-button-prev {
	left: -30px;
}
.slider-swiper-arrows {
	justify-content: right;
    margin-top: -90px;
    margin-bottom: 60px;

}
/* slider part end*/