:root {
    scroll-behavior: inherit;
    --heading-font: 'Lato', sans-serif;
    --body-font:  'Manrope', sans-serif;
    --theme_color: #0076E9;
     --theme_color_400: #2891F8;
    --theme_color_600: #0064C5;
    --theme_color_700: #00519F;
     --theme_color_800: #051B31;
    --theme_highlight_color: #5FBA2E;
    --white_color: #ffffff;
    --dark_color_500: #151617;
    --dark_color_400: #535456;  
    --black_color: #000000;      
    --transition: all 400ms ease-in-out;
}

html {
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    scroll-behavior: smooth;
}
body {
    font-family: var(--body-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    overflow-x: hidden;
    color: var(--black_color);
    background-color: var(--bg_white);
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}
section {
    overflow-x: hidden;
}
img {
    max-width: 100%;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
    letter-spacing: -1%;
    font-family: var(--heading-font);
    font-weight: 500!important;
}
p {
    color: var(--dark_color_400);
}
.theme-highlight-color {
    color: var(--theme_highlight_color);
}
.theme-text-color {
    color: var(--theme_color);
}
.theme-text-darker-color {
    color: var(--theme_color_600);
}

.bg-theme {
    background-color: var(--theme_color);
}
.bg-theme-dark {
    background-color: var(--theme_color_800);
}
.bg-theme-highlight-color{
    background-color: var(--theme_highlight_color);
}
.border-primary{
    border-color:#003467 !important;
}
.fs-18 {
    font-size: 18px;;
}

/*------------------------------------------*/
/*   LINK SETTINGS
/*------------------------------------------*/
a,
button[type="submit"],
input[type=text] {
    text-decoration: none;
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}
a:hover {
    color: #666;
    text-decoration: none;
}
a:focus {
    outline: none;
    text-decoration: none;
}

/*------------------------------------------*/
/*   BUTTONS
/*------------------------------------------*/
.btn-primary {
    color: var(--white_color);
    background-color: var(--theme_color);
    font-size: 16px;
    padding: 9px 20px;
    font-weight: 600;
    border-color: var(--theme_color_400);
     transition: var(--transition);
}
.btn-primary:hover,
.btn-primary:focus {
    color: var(--white_color);
    background-color: var(--theme_color_700);
    border-color: var(--theme_color_700);
}

.btn-outline-primary {
    color: var(--theme_color);
    font-size: 16px;
    padding: 9px 20px;
    font-weight: 600;
     transition: var(--transition);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: var(--white_color);
    background-color: var(--theme_color)!important;
}





/*------------------------------------------*/
/*   HEADER
/*------------------------------------------*/
header .navbar-brand img {
    max-height: 50px;
    width: auto;
}
header .navbar-nav .nav-link {
    color: var(--dark_color_400);
    font-size: 16px;
    font-weight: 400;
    transition: var(--transition);
}

header .navbar-nav .nav-link:hover,
header .navbar-nav .nav-link.active {
    color: var(--theme_color);
}

@media (min-width: 992px) {
    header .navbar-nav {
        gap: 20px;
    }

}


/*------------------------------------------*/
/*   FOOTER
/*------------------------------------------*/

.footer-section{
    background:var(--theme_color_800);
    padding-top:60px;
}


.footer-logo-bg img{
    max-width:300px;
}

.footer-app-card{
    border:1px solid #003467;
    background:transparent;
    max-width:400px;
    color: #CEE7FF;
    font-size: 14px;
}
.footer-app-card P{
    color: #CEE7FF;
}
.footer-app-card h3{
    font-size:28px;
    line-height:1.3;
}
.footer-section h5{
    font-size: 16px; 

}
.footer-section a{
    transition:.3s; 
    color: #B1D8FF!important;
    font-size: 14px;;

}

.footer-section a:hover{
    color:#ffffff !important;
}

.footer-section .copyright-text {
    color: #B1D8FF;
    font-size: 14px;
}


/*------------------------------------------*/
/*   HERO SECTION
/*------------------------------------------*/
.hero-video{
     height: calc(100vh - 112px);
     min-height: 700px;  
    overflow: hidden;
}

.hero-video video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media(min-width:992px){

    .hero-video{
        width: calc(50vw + 30px);
        margin-right: calc(-50vw + 50%);
    }

}
@media (max-width: 991px){

    .hero-video{
        height: auto;
        min-height: auto;
    }

}


/*------------------------------------------*/
/*   TESTIMONIAL SECTION
/*------------------------------------------*/
.text-orange {
    color: #EE910F;
}
.ms-n2{
    margin-left:-10px;
}



/*------------------------------------------*/
/*   HOW IT WORKS SECTION
/*------------------------------------------*/


.dot-pattern{
    height:65px;
    background-image:radial-gradient(#d9d9d9 2px, transparent 2px);
    background-size:22px 22px;
}

.how-it-works{
    position:relative;
    background:#fff;
}

.how-it-works .step-badge{
    position:absolute;
    top:-18px;
    right:80px;
    transform:rotate(-8deg);
    background:#fff;
    color:var(--theme_color);
    border:1px solid #9ec9ff;
    border-radius:18px;
    padding:4px 14px;
    font-weight:600;
    z-index:2;
    box-shadow:0 4px 0 #56ABFF;
    width: max-content;
}

.how-it-works .step-divider{
    position:absolute;
    top:0;
    right:0;
    width:4px;
    height:100%;
    background:linear-gradient(
        to bottom,
        var(--theme_color),
        var(--theme_highlight_color)
    );
}

.how-it-works .col-lg-4:last-child .step-divider{
    display:none;
}

@media(max-width:991px){

    .how-it-works .step-divider{
        width:100%;
        height:4px;
        top:auto;
        bottom:0;
    }

   .how-it-works .step-badge{
        left:30px;
        transform:rotate(-8deg);
    }
}

/*------------------------------------------*/
/*   DASHBOARD SECTION
/*------------------------------------------*/
@media (min-width: 992px) {
    .dashboard-features {
        margin-top: -100px;;
    }
}



.patient-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:15px;
    font-size:18px;
}

.patient-list i{
    color:#fff;
    font-size:1.2rem;
    margin-top:4px;
}

.store-btn{
    width:56px;
    height:56px;
    border-radius:14px;
    background:#000;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.store-btn:hover{
    color:#fff;
    transform:translateY(-3px);
}

@media(max-width:991px){

    .patient-list li{
        font-size:1rem;
    }

    .journey-image img{
        border-radius:20px!important;
    }

}

/*------------------------------------------*/
/*   FEATURES SECTION
/*------------------------------------------*/

.features-section .feature-card{
    position:relative;
    overflow:hidden;
    border:1px solid #d9d9d9;
    border-radius:30px;
    background:#fff;
    min-height: 320px;
}
.features-section .feature-card::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url(../images/feature-bg-box1.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    opacity:.9;
    pointer-events:none;
}
.features-section .feature-card.fc-2::before{
     background-image:url(../images/feature-bg-box2.png);
}
.features-section .feature-card.fc-3::before{
     background-image:url(../images/feature-bg-box3.png);
     background-position: left bottom;
}
.features-section .feature-card.fc-4::before{
     background-image:url(../images/feature-bg-box4.png);
}
.features-section .feature-card > *{
    position:relative;
    z-index:2;
}
@media (max-width:991px){
    .features-section .feature-card{
        padding:20px;
        border-radius:20px;
        min-height: inherit;
    }
    .features-section .feature-card.fc-3::before{ 
       opacity: 0.6;
    }
}


/*------------------------------------------*/
/*   SECURITY SECTION
/*------------------------------------------*/
.security-section .container{
    position:relative;
    z-index:2;
}
.security-glow{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    background-image:url(../images/security-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media (max-width:991px){
    .security-glow{
        background-size: cover;
    }
}
 
/*------------------------------------------*/
/*   TESTIMONIALS SECTION
/*------------------------------------------*/

.testimonial-cards .bg-success {
    background-color: #3A811480!important;
}
.play-story-btn{
    position:absolute;
    right:15px;
    bottom:15px;
    background:#fff;
    color:#111;
    text-decoration:none;
    padding:5px 15px;
    border-radius:50px;
    display:flex;
    align-items:center;
    gap:5px;
    font-weight:500;
    font-size: 14px;
}
.play-story-btn:hover{
    color:#111;
}
.play-icon{
    width:34px;
    height:34px;
    background:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.8rem;
}

/*------------------------------------------*/
/*   FAQ SECTION
/*------------------------------------------*/

.faq-section .accordion-button{
    font-size:1.25rem;
}
.faq-section .accordion-item {
    margin-bottom: 10px;
}
.faq-section .accordion-item:has(.accordion-button:not(.collapsed)){
    background: #EEFFE5;
    border-radius: 1rem;  
}

.faq-section .accordion-button:not(.collapsed){
    color: var(--black_color);
}

.faq-section .accordion-button::after{
    background-size:1.25rem;
}

.faq-section .accordion-body{
    padding-top:0;
    color:var(--dark_color_400)!important;
}


/* Remove Bootstrap default arrow */
.faq-section .accordion-button::after{
    display:none;
}

.faq-section .accordion-button{
    position:relative;
    padding-right:3rem;
}

.faq-section .accordion-button::before{
    content:"+";
    position:absolute;
    right:1.25rem;
    top:50%;
    transform:translateY(-50%);
    font-size:2rem;
    font-weight:300;
    line-height:1;
    color:var(--black_color);
}
.faq-section .accordion-button:not(.collapsed)::before{
    content:"−";
}

/*------------------------------------------*/
/*   CTA SECTION
/*------------------------------------------*/
.cta-section{
  background-image:url(../images/cta-bg-img.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.cta-section .left-phone{
    margin-left:-15px;
}

.cta-section .right-phone{
    margin-right:-15px;
}


/*------------------------------------------*/
/*   BACK TO TOP BUTTON
/*------------------------------------------*/

.progress-wrap {
	position: fixed;
	right: 40px;
	bottom: 40px;
	height: 46px;
	width: 46px;
	cursor: pointer;
	display: block;
	border-radius: 50px;
	box-shadow: inset  0 0 0 2px rgba(255,255,255,0.2);
	z-index: 10000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	-webkit-transition: var(--transition);
    transition: var(--transition);
}
.progress-wrap.active-progress {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.progress-wrap::after {
	position: absolute;
	content: '↑';
	text-align: center;
	line-height: 46px;
	font-size: 24px;
	color: var(--theme_color);
	left: 0;
	top: 0;
	height: 46px;
	width: 46px;
	cursor: pointer;
	display: block;
	z-index: 1;
	-webkit-transition: var(--transition);
    transition: var(--transition);
}

.progress-wrap svg path { 
	fill: #b3f98d;
    opacity: 0.9;
}
.progress-wrap:hover svg path {
    opacity: 1;  
}
.progress-wrap svg.progress-circle path {
	stroke: var(--theme_color);
	stroke-width: 4;
	box-sizing:border-box;
	-webkit-transition: var(--transition);
    transition: var(--transition);
}




/*------------------------------------------*/
/*   CONTACT PAGE
/*------------------------------------------*/

.contact-hero {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(0, 118, 233, 0.06),
            transparent 35%
        ),
        linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
/* padding-top: 75px !important; */
    /* padding-bottom: 65px !important; */
    position: relative;
    overflow: hidden;
}

.contact-hero::before {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    background: rgba(0, 118, 233, 0.04);
    border-radius: 50%;
    top: -160px;
    right: -80px;
}

.contact-hero .container {
    position: relative;
    z-index: 1;
}

.contact-hero .badge,
.privacy-policy .badge,
.terms-service .badge {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border: 1px solid rgba(0, 118, 233, 0.10);
}

.contact-hero h1 {
    color: var(--theme_color_800);
    font-size: 48px;
    line-height: 1.15;
    letter-spacing: -0.8px;
}

.contact-hero p {
    line-height: 1.7;
}

.contact-hero .lead {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    font-size: 18px;
}


/*------------------------------------------*/
/*   CONTACT CONTENT
/*------------------------------------------*/

.contact-section {
    background: #ffffff;
    position: relative;
}

.contact-section > .container {
    position: relative;
    z-index: 2;
}

.contact-section .row {
    align-items: stretch;
}


/*------------------------------------------*/
/*   LEFT CONTACT / DEMO CARD
/*------------------------------------------*/

.contact-info-card {
    background:
        linear-gradient(
            145deg,
            #f5faff 0%,
            #eef7ff 100%
        );
    border: 1px solid #e1edf8;
    border-radius: 24px !important;
    height: 100%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(31, 88, 130, 0.06);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.contact-info-card::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(0, 118, 233, 0.045);
    top: -110px;
    right: -80px;
}

.contact-info-card::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: rgba(0, 118, 233, 0.035);
    bottom: -80px;
    left: -70px;
}

.contact-info-card > * {
    position: relative;
    z-index: 1;
}

.contact-info-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(31, 88, 130, 0.10);
}


/*------------------------------------------*/
/*   CONTACT ICON
/*------------------------------------------*/

.contact-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        var(--theme_color),
        var(--theme_color_800)
    );

    color: #ffffff;
    border-radius: 18px;
    font-size: 27px;

    box-shadow:
        0 10px 25px rgba(0, 118, 233, 0.20);
}

.contact-info-card h3 {
    color: var(--theme_color_800);
    font-size: 28px;
    letter-spacing: -0.3px;
}

.contact-info-card p {
    color: #637284 !important;
    line-height: 1.75;
    font-size: 15px;
}


/*------------------------------------------*/
/*   CONTACT IMAGE
/*------------------------------------------*/

.contact-info-card img {
    display: block;
    width: 100%;
    height: 550px;
    object-fit: cover;
    object-position: center;
    border-radius: 18px;

    margin-top: 25px;

    border: 1px solid rgba(0, 118, 233, 0.10);

    box-shadow:
        0 15px 35px rgba(25, 80, 120, 0.12);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.contact-info-card img:hover {
    transform: scale(1.015);
    box-shadow:
        0 20px 45px rgba(25, 80, 120, 0.16);
}


/*------------------------------------------*/
/*   CONTACT FORM CARD
/*------------------------------------------*/

.contact-form-card {
    background: #ffffff;
    border: 1px solid #e5edf5;
    border-radius: 24px !important;

    height: 100%;

    box-shadow:
        0 15px 45px rgba(0, 0, 0, 0.07);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.contact-form-card:hover {
    box-shadow:
        0 20px 55px rgba(0, 0, 0, 0.09);
}

.contact-form-card h3 {
    color: var(--theme_color_800);
    font-size: 28px;
    letter-spacing: -0.3px;
}

.contact-form-card > div:first-child p {
    color: #718096 !important;
    line-height: 1.6;
}


/*------------------------------------------*/
/*   FORM LABEL
/*------------------------------------------*/

.contact-form-card .form-label {
    color: var(--dark_color_500);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
}

.contact-form-card .text-danger {
    font-weight: 700;
}


/*------------------------------------------*/
/*   FORM INPUTS
/*------------------------------------------*/

.contact-form-card .form-control,
.contact-form-card .form-select {
    border: 1px solid #dce5ee;
    border-radius: 12px;

    padding: 12px 15px;

    min-height: 48px;

    background-color: #ffffff;

    color: #273444;

    font-size: 14px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.contact-form-card .form-control::placeholder {
    color: #a1adba;
}

.contact-form-card .form-control:hover,
.contact-form-card .form-select:hover {
    border-color: #c6d5e4;
}


/*------------------------------------------*/
/*   FORM FOCUS
/*------------------------------------------*/

.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus {
    border-color: var(--theme_color);

    box-shadow:
        0 0 0 4px rgba(0, 118, 233, 0.08);

    outline: none;

    background-color: #ffffff;
}


/*------------------------------------------*/
/*   TEXTAREA
/*------------------------------------------*/

.contact-form-card textarea.form-control {
    min-height: 145px;
    resize: vertical;
    line-height: 1.6;
}


/*------------------------------------------*/
/*   SELECT
/*------------------------------------------*/

.contact-form-card .form-select {
    cursor: pointer;
}


/*------------------------------------------*/
/*   OTHER SUBJECT
/*------------------------------------------*/

#other_subject_wrapper {
    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

#other_subject_wrapper[style*="display: block"] {
    animation: showOtherSubject 0.25s ease;
}

@keyframes showOtherSubject {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/*------------------------------------------*/
/*   ALERT
/*------------------------------------------*/

.contact-form-card .alert {
    border-radius: 12px;
    border: none;
    font-size: 14px;
    padding: 13px 16px;
}


/*------------------------------------------*/
/*   ERROR MESSAGE
/*------------------------------------------*/

.contact-form-card .text-danger.small {
    font-size: 13px !important;
    margin-top: 6px !important;
}


/*------------------------------------------*/
/*   SUBMIT BUTTON
/*------------------------------------------*/

.contact-form-card button[type="submit"] {
    min-height: 48px;

    padding: 12px 28px !important;

    border: none;
    border-radius: 12px;

    background: linear-gradient(
        135deg,
        var(--theme_color),
        var(--theme_color_800)
    );

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    box-shadow:
        0 8px 20px rgba(0, 118, 233, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        opacity 0.25s ease;
}

.contact-form-card button[type="submit"]:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 28px rgba(0, 118, 233, 0.25);

    opacity: 0.96;
}

.contact-form-card button[type="submit"]:active {
    transform: translateY(0);
}


/*------------------------------------------*/
/*   LEFT CARD BUTTON
/*------------------------------------------*/

.contact-info-card .btn-primary {
    border-radius: 12px;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.contact-info-card .btn-primary:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0, 118, 233, 0.18);
}


/*------------------------------------------*/
/*   FORM SPACING
/*------------------------------------------*/

.contact-form-card form .mb-4 {
    margin-bottom: 20px !important;
}


/*------------------------------------------*/
/*   DESKTOP LAYOUT
/*------------------------------------------*/

@media (min-width: 992px) {

    .contact-section .row {
        align-items: stretch;
    }

    .contact-section .col-lg-6 {
        display: flex;
    }

    .contact-info-card,
    .contact-form-card {
        width: 100%;
    }

    .contact-info-card {
        display: flex;
        flex-direction: column;
    }

    .contact-info-card img {
        margin-top: auto;
        margin-bottom: 0;
    }

}


/*------------------------------------------*/
/*   TABLET
/*------------------------------------------*/

@media (max-width: 991px) {

    .contact-hero {
        padding-top: 55px !important;
        padding-bottom: 50px !important;
    }

    .contact-hero h1 {
        font-size: 40px;
    }

    .contact-info-card,
    .contact-form-card {
        height: auto !important;
    }

    .contact-info-card img {
        height: 320px;
    }

}


/*------------------------------------------*/
/*   MOBILE
/*------------------------------------------*/

@media (max-width: 767px) {

    .contact-hero {
        padding-top: 45px !important;
        padding-bottom: 40px !important;
    }

    .contact-hero h1 {
        font-size: 32px;
        line-height: 1.2;
        letter-spacing: -0.4px;
    }

    .contact-hero .lead {
        font-size: 16px;
    }

    .contact-hero p {
        font-size: 14px;
    }

    .contact-section {
        margin-top: 25px !important;
    }

    .contact-info-card {
        padding: 28px !important;
        border-radius: 20px !important;
    }

    .contact-form-card {
        padding: 25px !important;
        border-radius: 20px !important;
    }

    .contact-icon {
        width: 58px;
        height: 58px;
        border-radius: 16px;
        font-size: 24px;
    }

    .contact-info-card h3,
    .contact-form-card h3 {
        font-size: 24px;
    }

    .contact-info-card img {
        height: 240px;
        border-radius: 15px;
        margin-top: 20px;
    }

    .contact-form-card .form-control,
    .contact-form-card .form-select {
        min-height: 46px;
        padding: 11px 13px;
    }

    .contact-form-card textarea.form-control {
        min-height: 125px;
    }

    .contact-form-card button[type="submit"] {
        width: 100%;
        min-height: 48px;
    }

}


/*------------------------------------------*/
/*   SMALL MOBILE
/*------------------------------------------*/

@media (max-width: 480px) {

    .contact-hero h1 {
        font-size: 28px;
    }

    .contact-info-card {
        padding: 22px !important;
    }

    .contact-form-card {
        padding: 20px !important;
    }

    .contact-info-card img {
        height: 210px;
    }

    .contact-info-card p {
        font-size: 14px;
    }

}


/*------------------------------------------*/
/*   REDUCE MOTION
/*------------------------------------------*/

@media (prefers-reduced-motion: reduce) {

    .contact-info-card,
    .contact-form-card,
    .contact-info-card img,
    .contact-form-card button[type="submit"] {
        transition: none;
    }

    #other_subject_wrapper[style*="display: block"] {
        animation: none;
    }

}