* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-family: 'Segoe UI', system-ui, -apple-system, 
    BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, 
    Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.center {
    text-align: center;
}

.nav {
    display: flex;
    color: #681313;
    height: 6rem;
}

.header {
    display: flex;
    height: 5.5rem;
    border-bottom: 2px solid #681313;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #eee 65%, #fff 100%);
}

.header a {
    font-size: 1.25rem;
}

.nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 2rem;
}

#toggle-menu {
    display: none;
}

#toggle-menu:checked ~ .header .nav-ul {
    display: block;
    opacity: 1;
    left: 0;
    transition: left 0s, opacity 0.2s;
    height: 100%;
}

.hamburger {
    display: block;
    width: 2rem;
}

.hamburger-bar {
    display: block;
    height: 2.5px;
    width: 100%;
    border-radius: 2px;
    background: #681313;

}

.hamburger-bar + .hamburger-bar {
    margin-top: 5px;
}

.nav-brand {
    display: flex;
    height: 100%;
}

.nav-brand a {
    display: flex;
    text-decoration: none;
    color: #681313;
}

.company-name {
    display: flex;
    width: 100%;
    align-items: center;
}

.nav-ul {
    display: none;
    position: absolute;
    top: 5rem;
    left: 9999px;
    width: 100%;
    transition: left 0s 0.2s, opacity 0.2s;
    padding-top: 2px;
    padding-bottom: 4px;
    padding-left: 1.75rem;
    background-color: #681313;
    z-index: 5000;
}

.nav-ul li {
    list-style: none;
    padding: 2px;
}

.nav-ul a {
    color: white;
    text-decoration: none;
}

.nav-brand__image {
    display: inline-block;
    height: 4rem;
    vertical-align: bottom;
}

@media (min-width: 800px) {
  .hamburger {
    display: none;
  }

  .nav-ul {
    display: inline-block;
    background-color: transparent;
    align-items: center;
    gap: 32px;
    position: static;
    width: auto;
    opacity: 1;
  }

  .nav-ul li {
    display: inline-block;
    border: none;
  }

  .nav-ul a {
    padding: 0.5rem;
    color: #681313;
  }
}

.button {
    background-color: #681313;
    color: white;
    text-decoration: none;
    padding: 0.5rem 0.5rem;
    border-radius: 0.5rem;
    text-transform: uppercase;
    display: block;
}

.button:hover {
    background-color: #af2121;
}

.main {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 100vh;
}

.main-heading {
    font-size: 2.5em;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.25em;
    overflow-wrap: break-word;
    color:white;
    text-shadow: 0 0 8px rgba(87, 82, 82, 0.7);
}

.sub-heading {
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: #681313;
    line-height: 3.5rem;
}

.active {
    display: inline-block;
    padding: 5px;
    border: 2px solid white;
    border-radius: 0.25rem;
}

.container {
    width: 90%;
    margin: 0 auto;
    margin-top: 1rem;
}

@media (min-width: 576px) {
    .active {
        display: flex;
        padding: 20px;
        border: 2px solid #681313;
        border-radius: 0.25rem;
    }

    .main-heading {
        font-size: 2.5rem;
    }
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1520px;
    }
}

.section-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    flex-direction: column;

    @media (min-width: 576px) {
        flex-direction: row;
    }
}

.about-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    width: 100%;
    align-items: center;
}

.dental-bkg {
    background: linear-gradient(to bottom, white, #BDC3C7);
}

.about-item {
    flex: 1 1 300px;
}

.about-item a {
    text-align: center;
    margin-top: 1em;
}

.about-item-text {
    flex: 1 1 300px;
    line-height: 1.5rem;
}

.item {
    position: relative;
    width: 100%;
    margin-bottom: 3rem;
    margin-right: 1rem;
    justify-content: center;
    align-items: center; 
    min-height: 425px;
    padding: 0.10px;
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
    border-radius: 3px;
    background-color: white;

    @media (min-width: 720px) {
        flex-wrap: wrap;
        flex-direction: row;
        max-width: 20rem;
    }
}

.item p {
    padding: 0.75rem;
}

.item img {
    display: inline-block;
    vertical-align: center;
    height: 3.5rem;
    margin: 0 auto;
    padding: 0.25rem;
    margin-top: 1rem;
}

.item h2:after {
    content: "";
    display: block;
    width: 90%;
    height: 0.125rem;
    background-color: #c02020;
    margin: 0 auto;
    margin-top: 1.4rem;
}

.item-text {
    line-height: 1.5rem;
    text-align: center;
}

.item-text a {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    text-transform: none;
    width: 80%;
}

.footer {

    background-color: #681313;
    color: white;
}

.footer-group {
    display: flex;
    justify-content: space-evenly;
    padding: 0.75rem;
    font-size: 1.25rem;
}

.company-info {
    font-size: 1.25rem;
    align-items: center;
    line-height: 1em;
    padding-right: 2rem;
}

.company-info a {
    text-decoration: none;
}

.footer-list li {
    display: block;
    padding-top: 0.5rem;
}

.footer-list a {
    text-decoration: none;
    color: white;
    font-size: 1rem;
    margin: 0;
}

@media (min-width: 576px) {
    .footer-list a {
        text-decoration: none;
        color: white;
        font-size: 1.25rem;
        margin: 0;
    }

    .divider {
        display: block;
        height: auto;
        width: 2px;
        background-color: white;
        opacity: 0.5;
        margin-right: 15px;
    }
}

.header-image {
    height: 100%;
    width: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: right;
    background-image: url('./images/CollabModernOfficeSettingNoVestGlasses-sm.png'); 
    background-size: cover;
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
    border-radius: 3px;
}

.content {
    max-width: 15rem;
    background-color: rgba(0, 0, 0, 0.4);
    height: 100%;
    padding: 1rem;
    border-radius: 3px;
}

.header-text-box {
    display:block;
    align-items: center;
    justify-content: center;
    max-width: 15rem;
    padding-left: 1rem;
    height: 100%;
}

.header-text-box p {
     font-size: 2rem;;
     color:white;
     margin-bottom: 2rem;   
}

@media (min-width: 576px) {
    .content {
        max-width: 25rem;
        background-color: rgba(0, 0, 0, 0.8);
    }
    .header-image {
        background-image: url('./images/CollabModernOfficeSettingNoVestGlasses-lg.png');
    }
}

.header-text-box a {
    display: block;
    border-radius: 3px;
}

.mission {
    display: flex;
    line-height: 1.75rem;
    background-color: #F3F4F5;
    padding: 1rem;
    margin-bottom: 2rem;
    flex-direction: column;
}

.mission-header {
    display: flex;
    min-width: 10rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.mission-text {
    padding: 2rem;
    padding-top: 0.75rem;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.mission-details {
    padding-top: 1rem;
    text-align: justify;
}

.login-img {
    background-size: cover;
    background-image: url('./images/background-dark.png');
}

.form {
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
    border-radius: 15px;
    padding: 20px;
    align-items: center;
    background-color: white;
    justify-content: center;
    width: 350px;
}

.form-img, .form-text {
  flex: 1 1 100px;
}

.form-text {
    text-align: justify;
    order: 2;
    height: 100%;
    line-height: 1.75rem;
}

.main-img {
    background-image: url('./images/background-light.png');
    background-size: cover;
}

.login-form-text {
  flex: 0 0 150px;
}

.login-form-text button {
    padding: 10px;
    width:100%;
    background-color:#681313;
    color:white;
    border-radius: 5px; 
    border: 1px solid #681313;
}

.login-form-text button:hover {
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
}

input,
button,
select,
textarea {
    font: inherit;
}

.form-group {
    display: block;
    margin-bottom: 0.5rem;
    margin-left: 2rem;
}

.contact-img {
    background-image: url('./images/CollabModernOfficeSetting.png'); 
    background-size: cover;
}

/*
label {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1rem;
    color: #681313;
    width: 9rem;
}
*/

.textbox {
   width:100%;
   margin-top: 2px;
   margin-bottom:5px;
   box-sizing: border-box;
   border: 2px solid #ccc;
   border-radius: 4px;
   font-size: 16px;
   background-color: white;
   background-position: 10px 10px; 
   background-repeat: no-repeat;
   padding: 12px 20px 12px 40px;
}

.pw-form {
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
    border-radius: 15px;
    padding: 20px;
    align-items: start;
    background-color: white;
    justify-content: start;
    width: 350px;
    text-align: center;
}

.contact-form {
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
    border-radius: 15px;
    padding: 20px;
    align-items: start;
    background-color: white;
    justify-content: start;
    min-width: 150px;
    max-width: 450px;
    text-align: center;
    margin-bottom: 10px;
}

.contact-form input,textarea {
    width: 100%;
    margin: 2px;
    border-radius: 4px;
    padding: 10px;
    font-size: 16px;
}

.username-wrapper, .password-wrapper {
    position: relative;
    width: 100%;
    max-width: 300px;
}

.person-icon, .closed-padlock-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    font-size: 18px;
}

.password-wrapper input {
    width: 100%;
    padding: 10px 40px 10px 40px;
    font-size: 16px;
}

.eye, .closed-eye {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    cursor: pointer;
    font-size: 18px;
}


input::-ms-reveal {
  display: none;
}



/*
input,
textarea {
    display: inline-block;
    margin: 2px;
    border-radius: 0.5rem;
    padding: 1ex 2ex;
    width: 80%;
    border: 1px solid gray;
}
*/
input:focus, textarea:focus {
  border-color: #681313;
  box-shadow: 0 0 8px rgba(255, 51, 0, 0.5); /* Soft outer glow */
  outline: none;
}

:root {
    --theme-red: #681313; 
}

.accordion-intro {
    margin-top: 1.2em;
    margin-bottom: 1.2em;
    font-size: 16px;
}

.accordion-button {
    width: 100%;
    border: none;
    padding: 0.75rem;
    text-align: left;
    background-color: #681313;
    color: white;
}

.accordion-button:hover {
    background-color: #113343;
    border: 1px solid #113343;
}

.accordion-details {
    border: 1px solid #681313;
    padding-left: 2rem;
}

.show {
    display: block;
}

.hide {
    display: none;
}

.accordion-ul {
    list-style: none;
}

.accordion-ul li {
    padding: 0.5rem;
}

.hero {
    display: flex;
    box-shadow: 0 0 12px 4px rgba(128, 128, 128, 0.55);
    border-radius: 3px;
    padding: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;

    @media (min-width: 1020px) {
        flex-wrap: nowrap;
        flex-direction: row;
    }
}

.hero-img, .hero-text{
    flex: 1;
}

.hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    @media (min-width: 1020px) {
        height: 600px;
    }
}



.hero-img {
    order: 1;
   
    @media (min-width: 1020px) {
        flex: 1 1 250; 
    }
}


.hero-text {
    order: 2;
    font-size: 1rem;
    padding: 3rem;
    text-align: justify;
    height: 100%;
    line-height: 1.75rem;

    @media (min-width: 1020px) {
        flex: 1 1 450px; 
    }
}

.hero-lead {
    font-size: 1.2rem;
    font-weight: 300;
    margin-top: 1.33rem;
    margin-bottom: 1.33rem;
}

.hero-btns {
    display: flex;
    padding-top: 1rem;
    justify-content: center;
    gap: 5px;
    text-align: center;
}

.add-ons {
    padding-top: 2rem;
    padding-left: 2rem;
}

.add-ons p {
    line-height: 2rem;
}

.cardss {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    width: 20rem;
    padding: 1rem;
    margin-right: 0.75rem;
    margin-bottom: 0.75rem;
}

.cardss img {
    height: 15rem;
    width: 100%;
}

.cardss:hover {
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

.cardss-text {
    margin-top: 1rem;
    text-align: justify;
    line-height: 1.5rem;
}


/*

.header-with-background {
    padding-top: 1rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 75%;
    position: relative;
}

.header-with-background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 1), transparent);
    pointer-events: none;   Ensures the overlay doesn't interfere with interactions 
}

.header-with-background > * {
    z-index: 2;
    position: relative;
}

.header-with-background h1, 
.header-with-background p {
    text-shadow: 0 0 1rem white;
}

a.active {
    background-color: var(--accent);
    border: 1px solid var(--accent);
    color: white!important;
}
a.active:hover {
    color: white!important;
    background-color: black;
    border: 1px solid black;
}
*/



/*Admin Page */
.sidenav {
  min-height: 100dvh;
  width: 250px; /* 0 width - change this with JavaScript */
  background-color: #113343; /* Black*/
  padding-top: 10px; /* Place content 60px from the top */
  display: flex;
}

.sidenav-content {
    flex: 1;
    border: 1px solid red;
    min-height: 100%;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 1.5em;
  color: white;;
  display: block;
}

.sidenas a:hover {
    background-color: #681313;
}

/* Style page content - use this if you want to push the page content to the right when you open the side navigation */
#main {
  transition: margin-left .5s;
  padding: 20px;
}

/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}

.cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.card {
  /* Add shadows to create the "card" effect */
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  transition: 0.3s;
  background-color: white;
  display: flex;
  padding: 16px;
  gap: 35px;
  margin-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  border: 2px solid #ddd;
  border-radius: 0.45em;
  align-items: center;
}

/* On mouse-over, add a deeper shadow */
.card:hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

.count {
  font-size: 3em;
}

.card-container {
    display: flex;
    flex-direction: column;
}
.card-container h4, p {
    line-height: 1.4rem;

}

.admin-table {
    display: block;
    background-color: white;
    padding: 0;
    border: 2px solid #ddd;
    border-radius: 0.45em;
    margin-left: 20px;
}

.admin-table table {
    border-collapse: collapse;
    width: 100%;
}

.admin-table th {
    background-color: #eee;
}

.align-left {
    text-align: left;
}

.align-center {
    text-align: center;
}

.admin-table th, td {
    padding: 10px;
}

.admin-table tr {
    border-top: 2px solid #ddd;
}

.admin-table tr:hover {
    background-color: #36a4d6;
}

.table-hdr {
    background-color: #ddd;
}

.admin-tbl-status-btns {
    color: white;
    background-color: #5cb85c;
    border: 2px solid #4cae4c;
    border-radius: 0.45em;
    padding: 5px;
    font-weight: 600;
    height: 40px;
}

.admin-tbl-action-btns {
    color: white;
    background-color: #681313;
    border: 2px solid #681313;
    border-radius: 0.45em;
    padding: 5px;
    font-weight: 600;
    height: 40px;
    margin-right: 5px;
}

.regular-button {
    background-color: white;
    border: 2px solid #c4c4c4;
    border-radius: 0.45em;
    padding: 5px;
    font-weight: 600;
    height: 40px;
}

.ellipsis-menu {
  background: #eee;
  border: 2px solid #ddd;
  border-radius: .25em;
  cursor: pointer;
  padding: 5px;
  font-size: 24px; /* Adjust scale of the dots */
  width: 35px;
  height: 40px;
}

.ellipsis-menu::before {
  content: "\22EE"; /* Unicode code for vertical ellipsis (⋮) */
}

.ellipsis-menu:hover {
  background-color: #d3d2d2;
}
