* {
	padding: 0;
	margin: 0;
}

::selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}
html{
	scroll-padding-top: 99px;
}


body {
	padding-top: 72px;
}

a,button{
	cursor: pointer;
}

::-moz-selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}

header#masthead {
	display: block !important;
}

#masthead {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #ffffff;
	display: block;
	z-index: 999;
}

.header-wrapper .elementor-section .elementor-container {
	justify-content: space-between;
	align-items: center;
}

.header-wrapper .logo-box {
	width: auto !important;
	float: left;
}

.header-wrapper .menu-box {
	width: auto !important;
	float: right;
}

.notfound-content {
	text-align: center;
	padding: 7vw 0;
	width: 100%;
	float: left;
}

.hide-show-menu {
	display: none !important;
}

.error404 .notfound-content h1 {
	color: #000000;
}

.error404 .notfound-content h3 {
	margin: 20px 0;
}

/* Padding top and bottom zero*/

.e-con.p-top {
	padding-top: 0;
}

.e-con.p-bottom {
	padding-bottom: 0;
}

/* Contact form 7 */

.contact-form .wpcf7 .row {
	display: flex;
	gap: 24px;

}

.wpcf7 .column {
	width: 50%;
}

.wpcf7 .column-full {
	width: 100%;
}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;

}

#cf7-ajax-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.65);
	z-index: 9999999;
}

#cf7-ajax-modal {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 500px;
	background: #F8F4EE;
	border-radius: 12px;
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.4);
	z-index: 99999999;
	font-family: "Groillim", Sans-serif;
	color: #252525;
	text-align: center;
}

#cf7-ajax-modal.show,
#cf7-ajax-overlay.show {
	display: block !important;
}

.cf7-ajax-inner {
	padding: 50px 40px;
	position: relative;
}

#cf7-ajax-text {
	font-size: 22px;
	line-height: 1.5;
	margin: 0;
}

.cf7-ajax-close {
	position: absolute;
	top: 10px;
	right: 18px;
	font-size: 38px;
	cursor: pointer;
	opacity: 0.7;
}

.cf7-ajax-close:hover {
	opacity: 1;
}

.wpcf7-response-output {
	display: none !important;
}

.wpcf7-spinner {
	display: none;
}

#cf7-ajax-loading {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.6);
	z-index: 9999999999;
	justify-content: center;
	align-items: center;
}

#cf7-ajax-loading.active {
	display: flex;
}

.cf7-spinner {
	width: 45px;
	height: 45px;
	border: 4px solid #ccc;
	border-top-color: #000;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.wpcf7-response-output {
	display: none !important;
}

.cf7-popup-open,
.cf7-loading {
	overflow: hidden;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
}

/* Form css */
.contact-form .wpcf7-form label{
	font-family: Buvera;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 140% !important;
	color: #000000;
	padding-bottom: 3px !important;
}

.contact-form .wpcf7 input,
.contact-form .wpcf7 textarea,
.contact-form .wpcf7 select{
	padding:12px 16px;
	border-radius: 8px;
	border: 2px solid #D1D5DC;
	margin-bottom: 20px;
	font-family: Arial;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	color:#817D7B;
} 

.contact-form .wpcf7 .row p{
	width:50%;
}
.wpcf7-submit{
	width: fit-content !important;
	padding: 10px 50px 10px 20px !important;
	border-radius: 30px !important;
	border: 1px solid #476D7E !important;
	font-family: Buvera;
	font-size: 18px !important;
	font-style: normal;
	font-weight: 400 !important;
	line-height: 140% !important;
	color: #476D7E !important;
	background-image: url("https://calmora.techsolutionn.com/wp-content/uploads/2026/04/Frame-4.svg");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 28px 28px;
}
.wpcf7 .wpcf7-submit:disabled{
	opacity: 1 !important;
}

.contact-form .wpcf7 input.wpcf7-submit {
	margin-bottom: 0px !important;
}

/* BUTTON CSS */
.blue-btn .elementor-button-icon{
	background-color: #EBE4E0;
	border-radius: 14px;
}
.plan-btn .elementor-button-icon{
	background-color: #476D7E;
	border-radius: 14px;
} 
.plan-btn-1 .elementor-button-icon{
	background-color: #FEFEFE;
	border-radius: 14px;
}
.blue-btn .elementor-button:hover .elementor-button-icon svg,
.plan-btn .elementor-button:hover .elementor-button-icon svg,
.plan-btn-1 .elementor-button:hover .elementor-button-icon svg

{
	transform: rotate(30deg); 
	transition: transform 0.3s ease-in-out;
}
.blue-btn .elementor-button:hover .elementor-button-icon svg path {
	stroke: #FEFEFE !important;
}
.blue-btn .elementor-button:hover .elementor-button-icon {
	background-color: #476D7E !important;
}
.plan-btn .elementor-button:hover .elementor-button-icon svg path {
	stroke: #476D7E !important;
}
.plan-btn .elementor-button:hover .elementor-button-icon {
	background-color: #FEFEFE !important;
}
.elementor-button-icon svg {
	height: fit-content !important;
	width: fit-content !important;
}

.nav-bar li.current-menu-item > a,
.nav-bar li > a.elementor-item-active {
	font-weight: 700 !important;
}
/* Har icon-box ke baad line add karna (sirf pehle do ke liye) */
.icon-box-col:not(:last-child) .elementor-icon-box-icon::after {
	content: "";
	position: absolute;
	top: 14%;
	left: 59%; 
	width: 104%; 
	height: 1px;
	border-top: 2px dashed #476D7E; 
	z-index: 1;
}
@media (max-width: 767px) {
	.icon-box-col .elementor-icon-box-icon::after {
		display: none;
	}
}
.tirze-divider .elementor-divider-separator {
	border: none !important;
	background: linear-gradient(90deg, #476D7E 0%, #F9F7F5 100%) !important;
	height: 1px;
}
.tirze-list .elementor-heading-title {
	display: flex;
	align-items: center;
}

.tirze-list .elementor-heading-title::before {
	content: "";
	width: 4px;
	height: 4px;
	background-color: #000000;
	border-radius: 50%;
	margin-right: 8px;
	display: inline-block;
}
.faq-section .e-n-accordion-item{
	padding:34px;
	border: 1px solid #B4C9D5;
	border-radius: 14px;
} 

.faq-section.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon span>svg {
	fill: none !important;
} 
.faq-section.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg{
	fill: none !important;
}
.foooter-contact-form .wpcf7-form{
	display: flex; 
	column-gap: 8px;
}
.foooter-contact-form .wpcf7 input[type="email"]{
	padding: 16px 12px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.20);
	background: rgba(255, 255, 255, 0.10);
	color: rgba(255, 255, 255, 0.60) !important;
	font-family: Arial !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: normal !important;
}

.foooter-contact-form .wpcf7 input[name="your-email"]::placeholder {
	color: rgba(255, 255, 255, 0.60);
}

/* Home Page slider */

.slider-image-bg {
	position: relative;
}

.slider-image-bg::after {
	content: '';
	width: 50%;
	height: 100%;
	position: absolute;
	background: #DDE6EC;
	top: 0;
	right: 0;
	z-index: -1;
	border-radius: 8px; 
}

.slider-image-bg img {
	position: relative;
	z-index: 1;
}

.vertical_slider {
	cursor: pointer;
}

.elementor-swiper-button.elementor-swiper-button-prev,
.elementor-swiper-button.elementor-swiper-button-next {
	display: none !important;
}

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

.swiper-pagination.swiper-pagination-bullets {
	position: absolute;
	bottom: 0 !important;
	right: 0 !important;
	left: auto !important;
	justify-content: space-between !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	top: 100% !important;
	z-index: 9 !important;
}

.swiper-pagination {
	counter-reset: slide;
	position: relative;
}

.swiper-pagination-bullet {
	counter-increment: slide;
	position: relative;
}

.swiper-pagination-bullet::before {
	content: counter(slide);
	position: absolute;
	top: 0; 
	left: 50%;
	transform: translateX(-50%);
	font-size: 16px;
	color: #99B0BE;
	z-index:99 !important;
} 

.swiper-pagination-bullet {
	background: #F5F7F9 !important;
	border: 1px solid #B4C9D5 !important;
	opacity: 1 !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #B4C9D5 !important;
	opacity: 1 !important;
}

.swiper-pagination-bullet::before {
	color: #99B0BE !important;
	opacity: 1 !important;
	font-weight: 400;
	line-height: 140%;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	color: #476D7E !important;
	opacity: 1 !important;
}

.swiper-pagination::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
/* 	height: var(--progress-height, 0px); */
	background: linear-gradient(
		180deg,#B4C9D5 46.15%,
		rgba(180, 201, 213, 0.05) 100%
	);
	z-index: -1;
	transition: height 0.3s ease;
}

/*  .vertical_slider .swiper-fade .swiper-wrapper {
transform: translate3d(0px, 0, 0) !important;
} 

.vertical_slider .swiper-fade .swiper-slide {
opacity: 0 !important;
transition: opacity 800ms ease-in-out !important;
pointer-events: none;
z-index: 0;
}

.vertical_slider .swiper-fade .swiper-slide-active {
opacity: 1 !important;
pointer-events: auto;
z-index: 1;
}

.vertical_slider .swiper-fade .swiper-slide-duplicate-active {
opacity: 1 !important;
} */


.img-col{
	justify-content: center !important;
}

/* custom section */

.clmr_wc_spacer {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #E2E8F0;
	font-size: 2rem;
}

.clmr_wc_pinned_section {
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 10%;
	position: relative;
	background-color: #F8F9FA;
}

.clmr_wc_section_header {
	text-align: center;
	margin-bottom: 50px;
}

.clmr_wc_section_header h2 {
	font-size: 2.5rem;
	color:#000000 !important;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.clmr_wc_section_header p{
	color:rgba(140, 140, 140, 1) !important;
}
.clmr_wc_content_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 60vh;
	position: relative;
}

.clmr_wc_left_content {
	width: 45%;
	position: relative;
	height: 100%;
}

.clmr_wc_text_block {
	position: absolute;
	top: 50%;
	transform: translateY(-50%) !important;
	opacity: 0;
	visibility: hidden;
	transition: none;
}

.clmr_wc_text_block.clmr_wc_active {
	opacity: 1;
	visibility: visible;
}

.clmr_wc_text_block h3 {
	font-size: 1.8rem;
	color:rgba(71, 109, 126, 1);
	margin-bottom: 20px;
}

.clmr_wc_text_block p {
	font-size: 1.1rem;
	line-height: 1.6;
	margin-bottom: 20px;
	color:rgba(140, 140, 140, 1) !important;
}

.clmr_wc_text_block ul {
	list-style: none;
}

.clmr_wc_text_block li {
	margin-bottom: 10px;
	padding-left: 25px;
	position: relative;
	color:rgba(140, 140, 140, 1) !important;
}

.clmr_wc_text_block li::before {
	content: "❖";
	position: absolute;
	left: 0;
	color: #718096;
}

.clmr_wc_right_content {
	width: 50%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 100%;
	position: relative;
}

.clmr_wc_image_wrapper {
	width: 80%;
	height: 100%;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.clmr_wc_img_slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	visibility: hidden;
}

.clmr_wc_img_slide.clmr_wc_active {
	opacity: 1;
	visibility: visible;
}

.clmr_wc_timeline_nav {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-left: 50px;
	height: 300px;
}

.clmr_wc_timeline_track {
	position: absolute;
	top: 15px;
	bottom: 15px;
	width: 4px;
	background-color: #E2E8F0;
	border-radius: 2px;
}

.clmr_wc_line_progress {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0%;
	background: linear-gradient(to bottom, #2C5282, #63B3ED);
	border-radius: 2px;
}

.clmr_wc_dots_container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	z-index: 2;
}

.clmr_wc_timeline_dot {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 2px solid #CBD5E0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
	color: #A0AEC0;
	cursor: pointer;
	background: #F8F9FA;
	transition: transform 0.3s ease, border-color 0.3s ease;
}

.clmr_wc_timeline_dot.clmr_wc_active {
	border-color: #2C5282;
	color: #2C5282;
	transform: scale(1.1);
}
