* { box-sizing: border-box; margin: 0; padding: 0; }

html,body { font-size: 15px; font-family: "Poppins", sans-serif; background: #fff; color: #161616; }

body { max-width: 1920px; margin: auto; }

a { text-decoration: none; color: unset; }
ul { list-style: none; }
img { vertical-align: middle; }

p {  }

h1,h2,h3,h4,h5,h6 { color: #000; line-height: 1.2; }
section { overflow: hidden; }
button { border: 0; outline: 0; font-weight: 500; font-family: unset; }
 
.widget_section { display: block; padding: 60px 16px; position: relative; }
.container { max-width: 1140px; margin: auto; }
.visible { overflow: visible; }


:root {

	--c1 : #168e8d;
	--c2 : #0a325e;
	--c3 : #004f4c;
	--bg : #eff8ff;

	--bs  : 0px 0px 35px 0px #00000026;
	--bs1 : 0px 0px 30px 0px #0000001a;
	--bs2 : 0 3.4px 2.7px -30px #0000000f, 0 8.2px 8.9px -30px #00000012, 0 25px 40px -30px #00000033;
	--bs3 : 0px 0px 12px 0px #00000026;
	--bs4 : 0px 0px 12px #0000001a;
	--ts  : all 0.5s ease-in-out;
	--fa  : "Font Awesome 6 Pro";
	--ff1 : "Poppins", sans-serif;
	--ff2 : "Montserrat", Sans-serif;

	--br1 : 24px 24px 24px 0px;
	--br2 : 12px 12px 12px 0px;

	--cg : linear-gradient(138deg, #004f4c, #168e8d);
	--cgh : linear-gradient(to right, #168e8d, #004f4c);
/*
	--cg : linear-gradient(138deg, #1b81b1, #4ec374);
	--cgh : linear-gradient(to right, #489dd7, #0565a4);
*/
	--cgs : linear-gradient(270deg, #004f4c00 12.16%, #004f4c01 12.16%, #004f4ce6 82.49%)!important;

	--banner : linear-gradient(328deg, #004f4c00 12.16%, #004f4c01 12.16%, #004f4ce6 82.49%)!important;
}



/* Form */
.form_area { background: #fff; width: 100%; max-width: 600px; margin: auto; border-radius:12px; padding: 24px; }


.progress { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.progress .step { width: 8px; height:8px; background:#e6e9ef; border-radius: 50px; transition:background .25s; }
.progress .step[data-active="true"]{ background: linear-gradient(90deg,#004f4c,#168e8d); }



fieldset { border:0; padding:0; margin:0; display:none; }
fieldset.form_active{ display:block; }
.form-row { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem; }
.form-row label{ font-size: 14px; margin-bottom: 9px; display: block; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row textarea,
.form-row select { padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px; font-size:.95rem; }
.button-row { display:flex; justify-content:space-between; gap:.5rem; margin-top: 24px; align-items:center; }
.button-row button { padding:.55rem .9rem; border-radius:8px; border:0; cursor:pointer; font-weight:600; width: 100px; }
.btn-primary   { background: #004f4c; color:#fff; box-shadow:0 6px 12px rgba(79,70,229,0.12); }
.btn-secondary { background:#e6e9ef; color:#111827; }

@media all and (max-width:480px) {
	.form_area { padding: 24px 16px; }
	.progress { margin-bottom: 16px; }
	.progress .step { height: 5px; }

	.form-row label { font-size: 12px; }
}



/**/

.large { font-size: 24px; color:#6b7280; margin-bottom: 24px; text-align: center; font-weight: 600; color: var(--c1); }
.small { font-size: 16px; color:#6b7280; margin-bottom: 24px; text-align: center; }

.input_ { display: block; width: 100%; position: relative; }
.input_ i { width: 51px; height: 51px; line-height: 51px; text-align: center; color: var(--c1); position: absolute; top: 0px; left: 0px; }
.input_ input { width: 100%; padding: 16px 16px 16px 50px!important; outline-color: var(--c1); outline-width: 1px; }

/* Radio */
.radio label:has(input[type=radio]:checked) { background: var(--c1); color: #fff; border: 1px solid var(--c1); }
.radio label input { display: none; }
.radio label { display: inline-block; border: 1px solid #d1d5db; border-radius: 4px; text-align: center; margin-bottom: 0px!important; }

/* Check */
.check label:has(input[type=checkbox]:checked) { background: #004f4c3b; border: 1px solid var(--c1); }
.check label input { display: none; }
.check label { display: inline-block; border: 1px solid #d1d5db; border-radius: 4px; text-align: center; margin-bottom: 0px!important; }

.gender { display: flex; gap: 16px; }
.gender label { padding: 9px 32px; }

.occupation { display: flex; justify-content: center; gap: 16px; }
.occupation label { width: 50%; padding: 12px 32px; }

.income { display: flex; flex-direction: column; gap: 6px; }
.income label { width: 50%; margin: auto; padding: 9px 32px;  }

.education { display: flex; flex-direction: column; gap: 6px; }
.education label { width: 65%; margin: auto; padding: 9px 32px;  }

.smoke { display: flex; justify-content: center; align-items: center; gap: 16px; }
.smoke label { width: 40%; padding: 12px 32px;  }

.cities {  }
.cities label { padding: 9px 32px; text-align: center; margin: 4px; }

.visit { display: flex; justify-content: space-around; gap: 16px; }
.visit label { padding: 9px 32px; }

.family { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 9px; }
.family label { padding: 9px; }


.flex_box1 { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 16px; }
.flex_box1 label { width: 100%; padding: 12px 16px; }

.flex_box2 { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 16px; }
.flex_box2 label { width: 100%; padding: 12px 16px; }

.medical { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 9px; }
.medical label { padding: 9px 14px; }

@media all and (max-width:480px) {
	.large, .small { margin-bottom: 16px; }
	.input_ i { width: 36px; height: 36px; line-height: 36px; }
	.input_ input { padding: 9px 9px 9px 40px!important; }

	.gender label { padding: 6px 24px; }
	.occupation label { padding: 6px 24px; }

	.income { width: 40%; flex-direction: row; flex-wrap: wrap; }
	.income label { padding: 6px 12px; }

	.education label { padding: 6px 12px; }
	.smoke label { width: 40%; padding: 6px 24px; }
	.cities label { padding: 6px 24px; }
	.visit label { padding: 6px 24px; }
	.family label { padding: 6px }
	.flex_box1 label { padding: 6px 16px; }
	.flex_box2 label { padding: 6px 16px; }
	.medical label { padding: 6px 14px; }
}




/* Enquiry Now */
.enquiry_area { display: block; width: 100%; background: #fff; border-radius: 16px; margin: auto; box-shadow: var(--bs); overflow: hidden; }

.enquiry_title { display: block; text-align: center; background: var(--c3); padding: 16px; }
.enquiry_title h3 { font-size: 20px; color: #fff; font-weight: 600; }

.enquiry_area form { padding: 10px 16px 24px 16px; }
.policy_box { margin-top: 16px; }

.policy_ label:has(input[type=radio]:checked) { background: var(--c1); color: #fff; border: 1px solid var(--c1); }
.policy_ label input { display: none; }
.policy_ label img { width: 56px; height: auto; border-radius: 4px; }
.policy_ label { display: inline-block; border: 1px solid #d1d5db; border-radius: 4px; text-align: center; margin-bottom: 0px!important; padding: 2px; }

.input_box { display: block; width: 100%; position: relative; }
.input_box label { display: block; margin-bottom: 6px; font-weight: 500; }
.input_box input { width: 100%; padding: 12px 16px; border-radius: 4px; border: 1px solid #d7d7d7; outline-color: var(--c1); outline-width: 1px; }
.input_box button { width: 100%; padding: 12px 16px; background: var(--c3); border: 1px solid var(--c1); color: #fff; border-radius: 4px; }