
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap'); 
article, aside, canvas, figure, figcaption, footer, header, nav, section, audio, video, p, h1, h2, h3, h4, h5, h6, ul, ol, label {margin:0; padding:0; border:0;}
a, button, input, input[type="button"], input[type="submit"], select, .btn, textarea {-webkit-transition:all 400ms ease-in-out; -o-transition:all 400ms ease-in-out; transition:all 400ms ease-in-out; text-decoration:none; font-style:normal;}
a:focus, button:focus, input[type="button"]:focus, input[type="submit"]:focus, select:focus, .btn:focus, textarea:focus, .bootstrap-select .dropdown-toggle:focus {outline:none !important; -webkit-box-shadow:none; box-shadow:none !important;}
img {max-width:100%; height:auto;}
a, label {display:inline-block; vertical-align:middle; vertical-align:0;}
figure {-webkit-transition:all ease 0.4s; -o-transition:all ease 0.4s; transition:all ease 0.4s; margin:0; font-size:0; line-height:100%;}
figure, img {max-width:100%;}
ul, ol {list-style:none;}
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {-webkit-appearance:none; margin:0;}
input[type=number] {-moz-appearance:textfield;}
.svg_container {display:none;}
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {width:100%;}
html {scroll-behavior:smooth;}
body {line-height:30px; color:#000; background:#fff; font-family:"Montserrat", sans-serif; overflow-x:hidden; font-size:18px;}
::-webkit-scrollbar-thumb {background:#3d3aecd2; border-radius:10px;}
::-webkit-scrollbar {background:var(--white_color); width:5px;}
:root {--sign_theme:#3953ca;}
h1 {}
h1 span {}
h2 {}
h2 span {}
h3 {}
h4 {}
h5 {}
h6 {}
a {transition:0.4s all;}
a:hover {text-decoration:none;}
section {position:relative;}
.header_wrppr {display:flex; align-items:center; justify-content:space-between;}
.header_wrppr ul {display:flex; align-items:center; column-gap:40px;}
.header_logo {max-width:150px;transition: 0.4;color: #000;font-size: 20px;}
header {padding:15px 0; position:fixed; width:100%; z-index:1; background:#fff; top:0;}
.header.shrink {padding:10px 0; box-shadow:0 0 20px rgba(0,0,0,0.2);}
.shrink .header_logo {max-width:100px;}
.registration_section {padding:120px 0 40px; background:#f7f7f7; min-height:100vh; display:flex; align-items:center; justify-content:center;}
.registration_wrap {max-width:1000px; margin:auto; box-shadow:rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; border-radius:10px; position:relative; border:1px solid var(--sign_theme); background:#fff;}
.reg_field {display:flex; flex-direction:column; position:relative;}
.reg_field input {width:100%; height:50px; border:1px solid rgb(0, 0, 0, 0.5); border-radius:4px; padding:15px 18px; font-size:16px; transition:0.3s all ease-in-out; color:#000;}
.reg_field input:focus {border-color:var(--sign_theme); outline:none;}
.reg_field input:focus~label, .reg_field.filled label {font-size:14px; position:absolute; top:-15px; color:var(--sign_theme); padding:0 10px; left:14px;}
.reg_field label {font-size:16px; position:absolute; left:18px; top:9px; background:#fff; padding:0; border-radius:5px; pointer-events:none; transition:0.3s all ease-in-out;}
.reg_field+.reg_field {margin-top:20px;}
.registration_wrap h3 {font-size:30px; font-weight:700; line-height:1.4; margin-bottom:8px;}
.registration_wrap .reg_field h6 {display:flex; align-items:center; justify-content:center; column-gap:6px; font-weight:400; font-size:18px;}
.reg_field i {position:absolute; right:15px; top:15px; color:var(--sign_theme); pointer-events:none;}
.reg_field h6 img {max-width:24px; margin-top:-5px; filter:brightness(0) saturate(100%) invert(34%) sepia(79%) saturate(1033%) hue-rotate(198deg) brightness(88%) contrast(90%);}
.registration_wrap h6 {font-size:20px; margin-bottom:22px;}
.reg_field p {font-size:15px; font-weight:500; line-height:1; margin-top:7px;}
.calendar {padding:8px; background:#ffffff; border-radius:4px; font-size:18px; border:1px solid #333333; box-shadow:0px 20px 40px rgba(59, 60, 56, 0.05);}
.ui-datepicker {background:#ffffff; border-radius:0 !important; width:30%;}
.ui-datepicker-header {line-height:50px; color:#ffffff; background:var(--sign_theme); margin-bottom:10px;}
.ui-datepicker-prev, .ui-datepicker-next {display:none;}
.ui-datepicker-prev {float:left; margin-left:12px;}
.ui-datepicker-prev:after {transform:rotate(45deg); margin:-43px 0px 0px 8px;}
.ui-datepicker-next {float:right; margin-right:12px;}
.ui-datepicker-next:after {transform:rotate(-135deg); margin:-43px 0px 0px 6px;}
.ui-datepicker-prev:after, .ui-datepicker-next:after {content:''; position:absolute; display:block; width:8px; height:8px; border-left:2px solid #ffffff; border-bottom:2px solid #ffffff;}
.ui-datepicker-prev:hover, .ui-datepicker-next:hover, .ui-datepicker-prev:hover:after, .ui-datepicker-next:hover:after {border-color:#333333;}
.ui-datepicker-title {text-align:center; font-size:18px; font-weight:500; display:flex; align-items:center; justify-content:center; column-gap:10px; padding:5px 0;}
.ui-datepicker-calendar {width:100%; text-align:center;}
.ui-datepicker-calendar thead tr th span {color:#1e1e1e; margin-bottom:5px; font-size:16px;}
.ui-state-default {display:block; text-decoration:none; line-height:40px; color:#000; font-size:16px; display:flex !important; align-items:center; justify-content:center;}
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {width:25%; padding:4px 10px; border-radius:10px; cursor:pointer; border:none;}
.ui-state-default:hover {color:#ffffff; background:var(--sign_theme) !important; border-radius:0 !important; transition:all 0.25s cubic-bezier(0.7, -0.12, 0.2, 1.12); border-color:transparent;}
.ui-state-highlight {color:#ffffff !important; background:var(--sign_theme) !important; border-color:transparent !important;}
.ui-state-active {color:#ffffff; background-color:#1e1e1e;}
.ui-datepicker-unselectable .ui-state-default {color:#eee; border:2px solid transparent;}
.icon {margin-left:-30px; margin-top:-26px; position:relative; color:#31639c; font-size:20px;}
.reg_field input[required]~label::after {content:"*"; color:red; font-size:20px; right:-3px; position:relative; top:1px;}
.reg_field input[type="submit"], .btn {background:var(--sign_theme); color:#fff; border:none; font-size:17px; font-weight:600; line-height:1; transition:0.4s all ease-in-out; margin-top:15px;    border-radius: 4px;padding: 15px 18px;}
.reg_field input[type="submit"]:hover, .btn:hover {background:#000;color:#fff; }
button i{color: #ffffff !important;position: inherit !important;}
.qrcode_wrap h6 {margin-bottom:0; text-align:center; color:#fff;}
.qrcode_wrap .image {max-width:220px; margin:15px auto; background:#fff; padding:20px; border-radius:15px;}
.registration_form {padding:50px 20px 50px 50px;}
.reg_field_checkbox {color:#525252; font-size:18px; display:inline-flex; justify-content:center; margin-top:20px; position:relative; cursor:pointer; column-gap:10px; align-items:center;}
.reg_field_checkbox input {position:absolute; inset:0; opacity:0; cursor:pointer;}
.reg_check {width:25px; height:25px; box-sizing:border-box; border:1px solid rgba(82, 82, 82, 1); border-radius:4px; position:relative; flex:0 0 auto;}
.reg_check::after {content:''; position:absolute; left:9px; top:3px; width:7px; height:13px; border:solid white; border-width:0 3px 3px 0; -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg); opacity:0; transition:0.4s all ease-in-out;}
.reg_field_checkbox:has(input:checked) .reg_check {background:var(--sign_theme); border-color:var(--sign_theme);}
.reg_field_checkbox:has(input:checked) .reg_check::after {opacity:1;}
.registration_wrap>.row {justify-content:space-between;}
.qrcode_wrap {position:relative; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--sign_theme); border-radius:100px 8px 8px 0px; text-align:center; padding:0 12px;}
.qrcode_wrap h4 {color:#fff; font-weight:600; margin-bottom:6px; font-size:22px;}
.qrcode_wrap p {color:#fff; margin-bottom:10px;}
.qrcode_wrap .image img {width:100%;}
.footer {padding:20px 0;}
.copyright_text {text-align:center;}
.copyright_text p {color:#3953ca;}
.reg_successful_wrap {text-align:center; max-width:600px; margin:auto; box-shadow:rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; border-radius:10px; border:1px solid var(--sign_theme); background:#fff; padding:30px;}
.reg_successful_wrap .image {max-width:100px; margin:0 auto 25px;}
.reg_successful_wrap h3 {font-size:30px; font-weight:700; line-height:1.4; margin-bottom:10px;}
.reg_successful_wrap p {font-size:20px;}
.progress_outer {border:1px solid #ccc; border-radius:90px; height:15px; position:relative; background-color:#f5f5f5; max-width:400px; margin:20px auto 0;}
.progress_bar {background-color:#3953ca; position:absolute; left:0; top:0; bottom:0; border-radius:90px;}
.muted{opacity: .8;}
input:disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1;
}
.ft-bottom{
    text-align: left;
}
.ft-bottom p{
    font-weight: 500;
}

/* Slide animations for forms */
.slide-up { animation: slideUp 400ms ease forwards; }
.slide-down { animation: slideDown 400ms ease forwards; }
@keyframes slideUp { from { opacity:1; transform: translateY(0);} to { opacity:0; transform: translateY(-20px); height:0; }}
@keyframes slideDown { from { opacity:0; transform: translateY(10px);} to { opacity:1; transform: translateY(0); }}

/* Loader overlay */
.loader-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.32);display:flex;align-items:center;justify-content:center;z-index:999;display:none}
.loader{width:72px;height:72px;border-radius:50%;border:8px solid rgba(255,255,255,0.2);border-top-color:#fff;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.hidden{display:none !important}

.otp-box{max-width:520px;margin:0 auto}
.otp-actions{display:flex;gap:8px;align-items:center}

