/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
body{
	font-size:17px;	
}
.menu-link , .sub-menu-container .menu-item > .menu-link{
    color: #000;
    font-weight: 400;
    font-size: 16px;
    text-transform: none;
}
.custom_btn_menu{
    font-size: 17px!important;
    font-weight: 400;
}
.header-size-md .menu-container > .menu-item > .custom_btn_menu{
    padding-top: 10px;
    padding-bottom: 10px;
}
.heading-block h1 {
    font-size:32px;
	text-transform: capitalize;
}
.heading-block h1, .heading-block h2, .heading-block h3, .heading-block h4, .emphasis-title h1, .emphasis-title h2 {
   
    color: #0564ab;
}
.heading-block::after {
    content: '';
    display: block;
    margin-top: 30px;
    width: 40px;
    border-top: 2px solid #0564ab;
}
.heading-block h2 {
    font-size:32px;
	text-transform: capitalize;
	color: #0564ab;
}
.before-heading {
    display: block;
    margin: 0 0 5px;
    font-size: 50px;
    font-family: 'PT Serif', serif;
    font-style: italic;
    font-weight: 400;
    color: #999;
}
.fbox-content p {
    margin-top: 0.5rem;
    margin-bottom: 0px;
    color: #555;
}
.slider-caption h2 {
    font-size: 28px;
    letter-spacing: 2px;
    text-transform: capitalize;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0;	
}
.slider-caption h3{
	margin-bottom:10px;
}
.custom-slider .slider-caption .button{
    margin:0px;
}
.slider-caption p {
    margin-top: 10px;
    margin-bottom: 20px;
    font-size:18px;
	text-align:justify;
}
.testimonials-carousel .owl-stage { padding-top: 40px }

.testimonials-carousel .owl-item {
	opacity: .6;
	transition: transform .3s ease;
	transform: scale(0.8);
}

.testimonials-carousel .owl-item.active.center {
	opacity: 1;
	transform: scale(1);
}

.testimonial {
	border: 0;
	box-shadow: 0 0 35px rgba(140, 152, 164, 0.2);
	border-radius: 0.25rem;
	padding: 25px;
}

.testi-image {
	float: none;
	margin: -55px auto 0;
	margin-bottom: 20px;
}

.testi-content p {
	text-align: center;
	font-style: normal;
	font-family: var(--fontfamily,'Poppins', sans-serif);
	font-size: var(--basefontsize, 16px);
}

.testi-meta {
	text-align: center;
	margin-top: 20px;
}
.services-categories .card a span {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	color: #FFF;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.services-categories .card a span i {
	display: block;
	margin-bottom: 5px;
	font-size: 20px;
}

.hover-effect {
	-webkit-transition:  transform .25s ease, box-shadow .3s ease;
	-o-transition:  transform .25s ease, box-shadow .3s ease;
	transition:  transform .25s ease, box-shadow .3s ease;
	-webkit-transform-style: preserve-3d;
	-webkit-backface-visibility: hidden;
	box-shadow: none;
	border: 0;
}

.hover-effect:hover {
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	-o-transform: translateY(-2px);
	transform: translateY(-2px);
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.header-size-md #header-wrap #logo img {
    height:60px;
}
#footer .footer-widgets-wrap {
    position: relative;
    padding: 40px 0;
}
@media (min-width: 992px){
	.menu-container > .menu-item:not(.mega-menu) .sub-menu-container:not([class*='col']) {
		width: 330px;
	}
}
.flex-grow-1 {
    flex-grow: 1 !important;
    margin-top: 5px;
}
.contact_icon_bx i{
	font-size:20px;
}

#loader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url(../img/logo/logo.png) 50% 50% no-repeat rgb(249,249,249);
}

.pulse {
    text-align: center;
    display: inline-block;
    position: absolute;
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 50%;
    background: #0564ab;
    position: fixed;
    right: 20px;
	bottom: 150px;
	z-index:199;
}
.pulse::before {
    content: "";
    position: absolute;
    border: 1px solid #0564ab;
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 50%;
    animation: pulse 1s linear infinite;
    display: block;
    right: 0px;
    bottom: 0px;
}
.pulse i {
    color: #fff;
}
.pulse::after {
    content: "";
    position: absolute;
    border: 1px solid #0564ab;
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 50%;
    animation: pulse 1s linear infinite;
    animation-delay: 0.3s;
    display: block;
    right: 0px;
    bottom: 0px;
}

.pulse_ist{
	text-align: center;
    display: inline-block;
    position: absolute;
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 50%;
    background: #0564ab;
    position: fixed;
    right: 20px;
    bottom: 70px;
	cursor: pointer;
}
.pulse_ist::before {
    content: "";
    position: absolute;
    border: 1px solid #0564ab;
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 50%;
    animation: pulse 1s linear infinite;
    display: block;
    right: 0px;
    bottom: 0px;
}
.pulse_ist i {
    color: #fff;
}
.pulse_ist::after {
    content: "";
    position: absolute;
    border: 1px solid #0564ab;
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 50%;
    animation: pulse 1s linear infinite;
    animation-delay: 0.3s;
    display: block;
    right: 0px;
    bottom: 0px;
}


.chat-popup {
	display: none;
	position: fixed;
	bottom: 0;
	right: 15px;
	border: 3px solid #f1f1f1;
	z-index: 9;
	background-color: #fff;
}

.form-container {
	max-width: 300px;
	padding: 10px;
	background-color: #fff;
}
.form-container textarea:focus {
	background-color: #ddd;
	outline: none;
}

/* Border Form Design */
.border-form-control {
	padding: 8px 4px;
	background-color: transparent !important;
	border-top: transparent;
	border-right: transparent;
	border-left: transparent;
	border-bottom-width: 2px;
	border-bottom-color: var(--light, #EEE);
	border-radius: 0 !important;
}



/* Floating Contact*/
.floating-contact-wrap {
	position: fixed;
	right: 50px;
	bottom: 120px;
	z-index: 299;
}

.floating-contact-wrap .floating-contact-btn {
	position: absolute;
	left: 0;
	top: 0;
	width: 50px;
	height: 50px;
	border-radius: 8px;
	background-color:#0564ab;
	color: #FFF;
	cursor: pointer;
	z-index: 3;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: transform .3s ease;
}

.floating-contact-wrap .floating-contact-btn:hover,
.floating-contact-wrap.active .floating-contact-btn {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
	background-color:#0564ab;
	color: #FFF;
}

.floating-contact-wrap .floating-contact-btn .floating-contact-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 22px;
	-webkit-transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	-webkit-transition-property: opacity, -webkit-transform;
	transition-property: opacity, transform;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-backface-visibility: hidden;
}

.floating-contact-wrap .floating-contact-btn .floating-contact-icon.btn-active,
.floating-contact-wrap.active .floating-contact-btn .floating-contact-icon {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.floating-contact-wrap.active .floating-contact-btn .floating-contact-icon.btn-active {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

.floating-contact-wrap .floating-contact-box {
	opacity: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 380px;
	background-color: #fff;
	border-radius: 6px;
	z-index: 1;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	box-shadow: 0px 0px 13px 3px rgba(0,0,0,0.07);
	-webkit-transform: scale(.01);
	transform: scale(.01);
	 -webkit-transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	-webkit-backface-visibility: hidden;
}

.floating-contact-wrap.active .floating-contact-box {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.floating-contact-wrap .css3-spinner { background-color: rgba(255, 255, 255, 0.8) }

.floating-contact-wrap form { padding: 35px 30px; }

#floating-contact-submitted,
.floating-contact-success #floating-contact,
.floating-contact-success .floating-contact-heading,
body:not(.floating-contact-processing) .floating-contact-loader { display: none; }

.floating-contact-success #floating-contact-submitted { display: block; }
@media (max-width: 767.98px) {
	
	.floating-contact-wrap .floating-contact-box { width: 330px; }
	.services_section .heading-block, .services_section_pg .heading-block {
		margin-bottom: 50px;
		margin-top: 0px!important;
	}
}

.portfolio-image img {
	border-radius: 10px;
}

.translatey-3,
.h-translatey-3:hover { transform: translateY(-3px) !important; }

.tf-ts {
	-webkit-transition: transform .3s ease;
	transition: transform .3s ease;
}
.services_section{
	background-color: #f8f9fa;
	padding-bottom:15px;
}
.services_section .heading-block h2{
    margin-bottom: 0;
    font-weight: 700;
    font-size: 25px;
	text-transform: capitalize;
    letter-spacing: 1px;
}
.services_section .heading-block > span:not(.before-heading) {
    display: block;
    margin-top: 10px;
    font-weight: 300;
}
.services_section .heading-block::after {
    content: '';
    display: block;
    margin-top: 30px;
    width: 40px;
}
.services-bx-style-1 {
    position: relative;
    margin-bottom: 30px;
    /*background:rgb(0 0 0 / 10%); */
    border-radius: 5px;
    padding: 50px 40px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
    height: 350px;
}

.services-bx-style-1:before,
.services-bx-style-1:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    top: 0;
    left: 0;
    transition: all .4s ease;
    border-radius: 5px;
}

.services-bx-style-1:before {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
    border-top: none;
    border-bottom: 4px solid #0564ab;
}

.services-bx-style-1:after {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    border-left: none;
    border-right: none;
}

.services-bx-style-1 .top-box {
    position: relative;
    z-index: 9;
    margin-bottom: 35px;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.services-bx-style-1 .top-box .icon-box {
    position: relative;
    width: 80px;
    height: 80px;
    border: 1px solid #F2F2F2;
    text-align: center;
    border-radius: 5px;
}

.services-bx-style-1 .top-box .icon-box i {
    color: #000;
    font-size: 45px;
    line-height: 78px;
    position: relative;
    transition: all .4s ease;
}
.services-bx-style-1 .top-box .icon-box img{
	padding:10px;
	color: #000;
    font-size: 45px;
    line-height: 78px;
    position: relative;
    transition: all .4s ease;
}

.services-bx-style-1 .top-box .icon-box:before {
    content: '';
    border-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(48deg, #185F8B 0%, #0564ab 42%, #0564ab 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#185F8B', endColorstr='#91C942', GradientType=1);
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    transition: all .4s ease;
}

.services-bx-style-1 .top-box .num-box {
    color: #000;
    font-size: 72px;
    font-weight: bold;
	opacity:0.1;
}

.services-bx-style-1 .text-box {
    position: relative;
    z-index: 9;
}

.services-bx-style-1 .text-box h3,
.services-bx-style-1 .text-box p {
    margin: 0;
}

.services-bx-style-1 .text-box h3 {
    font-size:18px;
    font-weight: bold;
}

.services-bx-style-1 .text-box h3 a {
    color: #000;
    transition: all .4s ease;
}

.services-bx-style-1 .text-box h3 a:hover {
    color: #000;
}

.services-bx-style-1 .text-box span,
.services-bx-style-1 .text-box p {
    color: #000;
    font-size:18px;
    line-height:30px;
    display: block;
}

.services-bx-style-1 .text-box .main-content {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    transition: all .4s ease;
}

.services-bx-style-1 .text-box .hover-content {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transition: all .4s ease;
}

.services-bx-style-1 .more-box {
    position: relative;
    z-index: 9;
    margin-top: 19px;
}

.services-bx-style-1 .more-box a.more-link {
    text-transform: capitalize;
    color: #000;
    font-size: 14px;
	text-decoration:none;
    font-weight: normal;
    display: inline-block;
    vertical-align: middle;
    transition: all .4s ease;
	border:none;
}

.services-bx-style-1 .more-box a.more-link i {
    font-size:14px;
    display: inline-block;
    vertical-align: -3px;
    margin-left: 10px;
}

.services-bx-style-1 .more-box a.more-link:hover {
    color: #000;
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
}

.services-bx-style-1:hover:before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-bx-style-1:hover:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-bx-style-1:hover .top-box .icon-box:before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-bx-style-1:hover .top-box .icon-box i {
    color: #000;
}

.services-bx-style-1:hover .text-box .main-content {
    opacity: 0;
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%);
}

.services-bx-style-1:hover .text-box .hover-content {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.svg-separator {
    /* position: absolute; */
    width: 100%;
    height: 20px;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    z-index: 1;
}
.svg-separator.top {
    top: -1px;
    bottom: auto;
}
.services_section {
    position: relative;
	margin:50px 0 0 0;
}

.services_section_1{
    position: relative;
	overflow: hidden;
	background-color: #f8f9fa;
	padding-bottom:15px;
	 margin-top: -70px;
}
.services_section_1 .heading-block {
    margin-bottom: 50px;
}
/* services page css */
.services_section_pg {
    background-color: #0564ab;
}
.svg-separator.top-service {
    top: -1px;
    bottom: auto;
}
.services_section_pg{
    position: relative;
    overflow: visible;
}
.services_section_pg .heading-block {
    margin-bottom: 50px;
    margin-top: -70px;
}
.industries_section{
	position: relative;
    width: 100%;
    margin: 0px;
    padding: 30px 0;
    background-color: #fff;
    overflow: hidden;
}
.industries_section .industries-box .industries-icon {
    width: 5.5rem;
    padding: 0 0.75rem;
}
.industries_section .industries-box{
    box-shadow: 0 0 16px rgb(0 0 0 / 8%);
    height:400px;
    padding:10px;
    margin: var(--bs-gutter-y);
    border-radius: 5px;
}
.industries-content h3 {
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    text-transform: uppercase;
    margin-bottom: 10px;
    color: #000;
}
.industries-content p {
    margin-top: 10px;
    color: #000;
}
.industries_section .industries-box .icon_list{
    padding-left: 15px;
    margin-left: 0;
    font-size: 13px;
    line-height: 24px;
    color:#000;
}
.industries_section .industries-box:hover{
    border-bottom: 4px solid #0564ab;
    border-radius: 5px;
    transition: all .4s ease;
}
.why_us_section .bx{
    box-shadow: 0 0 16px rgb(0 0 0 / 8%);
    height:250px;
    padding:10px;
    text-align: center;
    margin-bottom:20px;
    border-radius: 5px;
}
.why_us_section .bx .bgicon {
    display: block;
    position: absolute;
    bottom: 0px;
    right: 0px;
    font-size: 160px;
    color: rgba(0,0,0,0.1);
}
.why_us_section .bx:hover{
    border-bottom: 4px solid #0564ab;
    border-radius: 5px;
    transition: all .4s ease;
    background:#0564ab;
    color:#fff;
}
.why_us_section .bx:hover h3{
   
    color:#fff;
}
.custom-slider .slider-caption{
	display:block;
	top:25%;
}
.custom-slider .oc-item .bg-before::before {
    content: "";
    position: absolute;
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 20%);
    background: linear-gradient(to right,#0564ab 40%,#2D31FA 88%,#5D8BF4 100%);
    bottom:50px;
    transform: rotate(208deg);
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
	height:250px;
	width:250px;
	right:-50px;
}
.pbb-5 {
    padding-bottom: 3rem ;
}
@media (max-width: 767.98px){
	.custom-slider .oc-item .bg-before::before {
		content: "";
		position: absolute;
		box-shadow: 0 0 20px 0 rgb(0 0 0 / 20%);
		background: linear-gradient(to right,#1265a8 40%,#1265a8 88%,#1265a8 100%);
		bottom:50px;
		transform: rotate(208deg);
		border-top-left-radius: 100px;
		border-bottom-left-radius: 100px;
		height:150px;
		width:150px;
		right:0px;
	}
	.custom-slider .slider-caption {
		display: block;
		top: 10%!important;
	}
	.pbb-5 {
		padding-bottom: 0.1rem !important;
	}
	.services_section_1 {
        position: relative;
        overflow: hidden;
        background-color: #f8f9fa;
        padding-bottom: 15px;
        margin-top: 0px!important;
    }
}

.dark #footer, #footer.dark {
    color: rgba(255,255,255,0.75);
    background-color:#000;
    border-top-color: rgba(255,255,255,0.15);
}
#gotoTop{
	background-color: #0564ab;
}
.bg-custom{
	background:#0564ab!important;
}

.contact_form .input-group {
    border-bottom: 1px solid #ccc;
}
.contact_form .input-group .input-group-prepend {
    min-width: 25px;
    text-align: center;
}
.contact_form .input-group .input-group-prepend i {
	margin-top: 5px;
	color:#0564ab;
	font-size:20px;
	font-weight:bold;
}
.contact_form .button{
	background:#0564ab!important;
}
.irs-bar, .irs-from, .irs-to, .irs-single, .irs-handle > i:first-child, .irs-handle.state_hover > i:first-child, .irs-handle:hover > i:first-child {
    background-color: #0564ab !important;
}
.contact_form .input-group input, .contact_form .input-group textarea, .contact_form .input-group select {
    border: 0;
    padding: 5px 15px;
    min-height:40px;
}
.contact_form {
	box-shadow: 0 1px 10px rgb(0 0 0 / 15%);
	border-radius: 4px;
	padding:20px;
	margin-bottom:25px;
}
.contact_list{
	list-style:none;
}
.contact_list li{
	padding:10px;
}
.contact_list li>i, .contact_list li>a>i{
	padding-right:10px;
	color:#0564ab;
	font-size:20px;
	font-weight:bold;
}
.contact_list li>a, .contact_list li{
	color:#777;
}
.custom-bg-time{
	background:#000;
}
.story-timeline {
	position: relative;
	padding-top: 60px;
}

.story-timeline > .story-timeline-line {
    position: absolute;
	display: block;
    top: 0;
    left: 10px;
    bottom: 0;
    width: 5px;
    border-radius: 0 0 6px 6px;
    background-image: linear-gradient(to bottom, #0564ab 0%, #0564ab 100%);
}

.story-timeline .story-timeline-dots {
    position: absolute;
	display: block;
    top: 0;
    left: 26px;
    z-index: 1;
    width: 26px;
    height: 36px;
    margin-left: -13px;
    background-image: linear-gradient(#0564ab 0%, #0564ab 100%);
    border: 6px solid #FFF;
    border-radius: 50%;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    transition: border-color .3s ease;
}

.story-timeline > .row {
	position: relative;
	padding-left: 40px;
}

.story-timeline > .row:hover .story-timeline-dots {
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	background: #000;
}


@media (min-width: 768px) {
	.story-timeline > .story-timeline-line {
	    left: 50%;
	    transform: translateX(-50%);
	}

	.story-timeline .story-timeline-dots {
	    left: 50%;
	    transform: translateX(-50%);
	    margin-left: 0;
	}

	.story-timeline > .row {
		margin-right: -50px;
		margin-left: -50px;
		padding-left: 0;
	}

	.story-timeline > .row > .col,
	.story-timeline > .row > [class*="col-"] {
		padding-right: 50px;
		padding-left: 50px;
	}

}
.about_section p{
	text-align:justify;
}
.custom-justify{
	text-align:justify!important;
}
.quick-contact-widget.form-data .form-control, .quick-contact-widget.form-data .input-group, .quick-contact-widget.form-data .sm-form-control {
    margin-bottom: 10px;
}
#q-contact h3, #q-contact p{
    color:#fff;
}
.section {
    position: relative;
    width: 100%;
    margin:0px;
    padding:30px 0;
    background-color: #F9F9F9;
    overflow: hidden;
}
.widget > h4 {
	font-size: 20px;
	text-transform: capitalize;
}
.custom_card_bx:hover, .custom_card_bx:hover .fbox-content h3, .custom_card_bx:hover .fbox-content p{
	background:#0564ab;
	color:#fff;
}
.mega-menu-content .fbox-content h3{
    color: #0564ab;
}
.mega-menu-content .fbox-content .custom_txt{
    font-size:30px;
}
.mega-menu-style-2 .mega-menu-title > .menu-link {
    text-transform: uppercase !important;
}
.display_list li>strong{
    display: contents;
}
.under_h_p{
    font-size: 25px;
    font-weight: 500;
}