/* Color Variables */
:root {
    --blue: #061c43;
    --green: #95d30f;
    --gray: #f7f7f7;
    --dk-blue: #3f455a;
    --light-blue: #32a5f5;
}

/* Base and Typography */
body { 
    font-family: 'Open Sans', sans-serif; 
    color: #333; 
    margin: 0; 
    padding: 0; 
    line-height: 1.6; 
}
.container-fluid { 
    max-width: 1300px; 
    margin: 0 auto; 
    padding: 0 15px; 
}
.container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 15px; 
}
h1, h2, h3, h4, h5 { 
    color: var(--blue);
    font-weight: 700;
    margin-top: 20px;
}
h1 { font-size: 2.5rem; line-height: 1.2; }
h2 { font-size: 1.8rem; }
h4 { font-size: 1.2rem; }
h6 { color: var(--green); margin-bottom: 15px; }

/* Header and Navigation */
header { 
    padding: 15px 0; 
    border-bottom: 1px solid var(--gray); 
}
.logo img { 
    max-height: 40px; 
}
.nav-buttons a { 
    text-decoration: none; 
    padding: 8px 20px; 
    border-radius: 3px; 
    font-weight: 600; 
    margin-left: 10px; 
    display: inline-block; 
    transition: background-color 0.3s; 
}
.bttn-green { 
    background-color: var(--green); 
    color: white; 
    border: 1px solid var(--green); 
}
.bttn-gray { 
    background-color: white; 
    color: var(--blue); 
    border: 1px solid var(--blue); 
}
.bttn-green:hover { 
    background-color: #7bb10c; 
}
.bttn-gray:hover { 
    background-color: var(--gray); 
}

/* General Layout and Utility */
.row { 
    display: flex; 
    flex-wrap: wrap; 
    margin: 0 -15px; 
}
.col-lg-6 { 
    flex: 0 0 50%; 
    max-width: 50%; 
    padding: 0 15px; 
}
.col-md-6 { 
    flex: 0 0 50%; 
    max-width: 50%; 
    padding: 0 15px; 
}
.col-12 { 
    flex: 0 0 100%; 
    max-width: 100%; 
    padding: 0 15px; 
}
.mx-auto { 
    margin-left: auto; 
    margin-right: auto; 
}
.py-5 { 
    padding: 60px 0; 
}
.bg-dk-blue { 
    background-color: var(--dk-blue); 
    color: white; 
    padding: 60px 0; 
}
.img-fluid { 
    max-width: 100%; 
    height: auto; 
}
.embed-responsive-16by9 { 
    position: relative; 
    width: 100%; 
    height: 0; 
    padding-bottom: 56.25%; 
}
.embed-responsive-item { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    border: 0; 
}

/* Section Specifics */
.banner-home { 
    background-color: var(--blue); 
    color: white; 
    padding: 80px 0; 
    text-align: center; 
}
.banner-platform, .banner-physicians { 
    background-color: var(--gray); 
    padding: 80px 0; 
    text-align: center; 
}
.banner-reps { 
    background-color: var(--blue); 
    padding: 80px 0; 
    text-align: center; 
    color: white; 
}

/* Footer Styling */
footer { 
    background-color: var(--dk-blue); 
    color: white; 
    padding: 40px 0 20px; 
    font-size: 0.9rem; 
}
footer a { 
    color: white; 
    text-decoration: none; 
}
footer a:hover { 
    color: var(--green); 
}
.footer-links { 
    display: flex; 
    flex-wrap: wrap; 
}
.col-sm-3 { 
    width: 25%; 
    min-width: 100px; 
}
.col-sm-3 h6 { 
    color: var(--green); 
    margin-bottom: 15px; 
}
.col-sm-3 ul { 
    list-style: none; 
    padding: 0; 
}
.col-sm-3 li { 
    margin-bottom: 5px; 
}
#subfooter { 
    border-top: 1px solid rgba(255, 255, 255, 0.1); 
    padding-top: 15px; 
    margin-top: 15px; 
}
#subfooter p { 
    margin: 0; 
}

/* Media Queries */
@media (max-width: 992px) {
    .col-lg-6, .col-md-6 { max-width: 100%; }
}
@media (max-width: 768px) {
    .col-sm-3 { width: 50%; }
}