#menu
{
    display: none;
}
body
{
    margin: 0;
    padding: 0;
    font-family: 'Times New Roman', 'Times', 'serif', 'sans-serif', 'Segoe UI', 'Tahoma', 'Geneva', 'Verdana';
    font-size: 24px;
    color: rgb(0, 51, 102);
    background-color: rgba(0, 51, 102, 0.2);
    scroll-behavior: smooth;
}

#loader-container
{
    width: 100%;
    height: 100%;
    position: fixed;
    margin: 0;
    padding: 0;
    background-color: transparent;
    z-index: 9999;
    font-size: 18px;
    color: #fff;
    display: none;
    justify-content: center;
    align-items: center;
}

#loader
{
    border: 10px solid #fff;
    border-top: 10px solid transparent;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);}
}
#visitor-location
{ 
    color: #fff; 
    font-size: 0.6em; 
    font-style: italic;
    margin: 0;
    padding: 0;
    background-color: transparent;
    position: absolute;
    right: 1%;
}

table
{
    display: block;
    margin: 5% auto;
    overflow-y: scroll;
    scroll-behavior: smooth;
    scrollbar-color: rgb(0, 51, 102);
    max-height: 10em;
    width: 90%;
}

td
{
    margin: 0;
    padding: 0;
    font-size: 15px;
    text-align: center;
    width: 5%;
}

#table-row-heading
{
    font-weight: bold;
    background-color: greenyellow;
    color: #000;
    font-size: 25px;
}

.error
{
    color: red;
}

#alert-bg
{
    width: 100%;
    height: 100%;
    background-color: rgb(0,0,0,0.8);
    position: fixed;
    top: 0;
    display: none;
    justify-content: center;
    align-items: center;
    transition: 2s ease-out;
}

#alert
{
    background-color: rgb(0, 51, 102);
    border: 2px solid #fff;
    font-size: 20px;
    margin: 0;
    padding: 1%;
    text-align: center;
    transition: 2s ease;
    width: fit-content;
    height: fit-content;
    color: #fff;
    font-weight: bolder;
    line-height: 2em;
}

#cookie-alert
{
    bottom: -100%;
    position: fixed;
    color: #fff;
    padding: 2%;
    margin: 0;
    text-align: justify;
    transition: 1.5s cubic-bezier(0.2, 0.2, 0.5, 1.2);
    background-color: rgb(0, 51, 102);
    border: 2px solid #fff;
}

a { text-decoration: underline;}
a:hover {cursor: pointer;}
a:link, a:visited {color: #fff;}

.grid-item
{
    margin: 0;
}

#herobg img
{
    width: 100%;
    height: 100%;
}

#headsection
{
    display: flex;
    align-items: center;
    margin: 0;
    padding: 1% 0;
    height: 10%;
    width: 100%;
    position: sticky;
    top: 0;
    background-color: rgb(0,51,102);
}

#logo img
{
    width: 5em;
    height: 10%;
}

#hospitalName
{
    font-size: 30px;
    text-align: center;
    color: rgb(255,255,255);
    margin: 0 0 0 2%;
    font-weight: bold;
}

#navBox
{
    position: absolute;
    right: 2%;
    width: 60%;
}

#navBox2
{
    display: none;
}

#nav
{
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#nav button
{
    margin: 1%;
    padding: auto;
    width: auto;
    font-size: 14px;
    background-color: rgb(0, 51, 102);
    color: #fff;
    border: none;
    border-radius: 10px 0 10px 0;
    font-family: 'Times New Roman', Times, serif;
    font-weight: bold;
    transition: 0.5s ease;
}

#nav button:hover, #herobtn:hover, .list:hover, button:hover
{
    background-color: rgb(0,255,0);
    color: #000;
    cursor: pointer;
}

#nav img
{
    width: 2em;
    height: 2em;
    margin-left: 10%;
}

/*Welcome section*/
#welcomesection, #about, #service-page
{
    background-image: url("images/bg2.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
}
#welcomemsg, #about-msg, #service-page-msg
{
    text-align: center;
    word-wrap: break-word;
    width: 60%;
    text-align: center;
    margin: 3% auto 0 auto;
    padding: 4%;
    color: #fff;
}

#welcome-msg-bg, #about-bg, #service-page-bg
{
    background-color: rgba(0,0,0,0.7);
    margin-top: 0;
    padding-top: 0;
    border: 2px solid transparent;
}

#herobtn, button
{
    background-color: rgb(0, 51, 102);
    color: #fff;
    padding: 10px;
    border: none;
    font-size: 18px;
    font-family: "Times New Roman";
    border-radius: 5px;
    border: 2px solid #fff;
}

button
{
    padding: 1% 2%;
}
#company-statement, #professionals
{
    text-align: center;
    font-size: 24px;
    color: rgb(0, 51, 102);
    word-wrap: break-word;
    width: 40%;
    margin: 5% auto;
}

#company-statement h3, #services h3, #professional h3
{
    text-align: center;
    color: rgb(0, 51, 102);
    margin: 0 auto;
    padding: 0;
}

#professionals
{
    width: 100%;
}

.statistics
{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(0, 51, 102);
    margin: 0 auto;
    padding: 2% 0;
    color: #fff;
    gap: 10%;
    width: 100%;
}

#happy-patients, #bed-spaces, #ward, #open-hours
{
   text-align: center;
   color: rgb(0,255,0);
}


#services-container, #core-values-container
{
    background-image: url(images/physicians.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    overflow-y: scroll;
    height: auto;
    padding: 0;
    margin: 0;
}

#core-values-container
{
    background-image: none;
    background-color: rgb(0, 51, 102);
}

#services, #core-values
{
    margin: inherit;
    padding: inherit;
    background-color: rgba(0,0,0,0.6);
    height: inherit;
    width: 100%;
}

#core-values
{
    background-color: rgb(0, 51, 102);
}

#services h3, #core-values h3
{
    color:#fff;
    padding-top: 2%;
    text-align: center;
}

.list
{
    text-align: left;
    width: 45%;
    padding: 0.5% 1%;
    color: #fff;
    margin: 0 auto;
    display:inline-flexbox;
    align-items: center;
    justify-content: center;
}

.list::before
{
    content: '+';
    float: right;
    color: #fff;
}

.list::after
{
    content: '-';
    float: right;
    visibility: hidden;
    color: #fff;
}

.list-content
{
    height: 0;
}

#assessment, #emergency, #psychiatry, #elderly, #med-services, #mental
{
    color: rgb(0, 255, 0);
    background-color: rgba(0, 51, 102, 0.8);
    height: 0;
    visibility: hidden;
    overflow-y: scroll;
    font-size: 20px;
    border: 2px solid #fff;
    width: 45%;
    margin: 0 auto;
    padding: 0.2% 0.9%;
    transition: .5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.list-content::-webkit-scrollbar
{
    background-color: rgb(0, 51, 102);
}

.list-content::-webkit-scrollbar-thumb
{
    background-color: rgb(0, 255, 0);
}

.pic-cluster, #client-record
{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 2em;
}

.person
{
    width: 400px;
    height: 300px;
    margin: 0;
    padding: 0;
    text-align: center;
}

.person img
{
    border: 5px solid rgb(0, 51, 102);
    display: block;
    margin: 5% auto 0 auto;
    border-radius: 50%;
    width: 200px;
    height: 200px;
}

.person p
{
    font-size: 18px;
}

/* Footer */
#footer
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background-color: rgb(0, 51, 102);
    gap: 0;
    color: #fff;
}

#feedback, #users
{
    margin: 1% auto;
    padding: 1%;
    color: #fff;
    width: 30%;
}

form
{ 
    margin: 0;
}

label
{
     display: block;
     margin-top: 3%;
     font-size: 18px;
}

input[type="text"], input[type="email"], textarea, input[type="number"], input[type="password"], 
input[type="date"], select
{
     width: 100%;
     height: 1.5rem;
     padding: 1%;
     background-color: #fff;
     border: none;
     font-size: 14px;
	 border-radius: 5px;
	 color: #000;
}

textarea
{

     height: 5rem;
     font-size: 14px;
     width: 100%;
}

.error
{
     color: #ff0000;
     font-size: 14px;
     font-weight: bold;
	 opacity: 1;
     margin: 0;
}

#contact
{
    display: grid;
    gap: 2.5em;
    font-size: 18px;
    width: 30%;
    margin: 0 auto;
    padding: 2% 0;
}

#location, #email, #phone
{
    width: auto;
    word-wrap: break-word;
    margin: 0;
    padding: 0;
    text-align: center;
}

#location p, #email p, #phone p
{
    padding: 0;
    margin: 0;
}

#location #img, #email #img, #phone #img
{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
}

#copyright
{
    margin: 0;
    text-align: center;
    padding: 0.5% 0;
    background-color: rgb(0, 51, 102);
    color: #fff;
    font-size: 18px;
}

/* -- About page */
#about
{
    background-image: url('images/personnel3.webp');
}

/* My appointment page */
#myappointment
{
    margin: 0;
    padding: 0;
    width: 50%;
}

/* Admin page */
#portal-container
{
    display: block;
    margin: 0 auto;
    padding: 0;
    background-color: rgb(0, 51, 102);
    color: #fff;
}

#admin-form-container
{
    width: 50%;
    display: block;
    margin: 0 auto;
    text-align: center;
}

#admin-form-container label
{
    text-align: center;
    font-size: 25px;
}

#admin-form-container button
{
    display: block;
    margin: 0 auto;
    padding: 1%;
}

#admin-form-container select
{
    font-size: 20px;
    height: 2em;
    width: 80%;
    text-align: center;
}

#portal-result
{
    margin-top: 0;
}

/* Services page */
#service-grid
{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5% 2% 2.5% 2%;
}

.service-tab
{
    margin: 2.5%;
}

.service-desc
{
    font-size: 0.8em;
    padding: 2px;
    width: 50%;
    word-wrap: break-word;
    text-align: justify;
}

.service-tab img
{
    width: 200px;
    height: 200px;
     border: 10px solid rgba(0, 51, 102, 0.5);
     border-radius: 20px;
}

#service-page
{
    background-image: url('images/hbp.webp');
}

.profile-details
{
    text-align: center;
}

/* ///////////////////////////////////////////////////////////////////// */
/* Mobile View */
@media only screen and (max-width: 950px) {

body
{
    font-size: 18px;
}

table
{
   
    overflow-x: scroll;
    width: 95%;
}

td
{
    width: auto;
}

.menu
{
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    left: 83%;
    padding: 1%;
    border: 2px solid #fff;
    width: auto;
    color: #fff;
    font-size: 14px;
    border-radius: 5px;
}

.menu:hover
{
    background-color: rgb(0,255,0);
    color: #000;
    cursor: pointer;
}

.bar
{
    width: 20px;
    height: 3px;
    background-color: #fff;
    margin: 3px;
    border-radius: 50px;
}

.menuCtrl .bar:nth-child(1)
{
    transform: rotate(-45deg) translate(-5px, 4px);
}

.menuCtrl .bar:nth-child(even)
{
    opacity: 0;
}

.menuCtrl .bar:nth-child(3)
{
    transform: rotate(45deg) translate(-4px, -4px);
}

#hospitalName
{
    font-size: 18px;
    margin-left: 5%;
}

#navBox
{
    display: none;
}

#navBox2
{
    display: block;
    position: relative;;
    width: 100%;
    margin: 0;
    padding: 0;  
}

#nav2
{
    margin: 0;
    height: 0;
    background-color: rgb(0, 51, 102);
    overflow: hidden;
    padding: 0;
}

#nav2 img
{
    display: none;
}

#nav2 button
{
    margin: 0;
    padding: 2.5%;
    width: 100%;
    text-align: left;
    border-radius: 0px;
    border: none;
}

#welcomemsg, #about-msg, #service-page-msg
{
    width: 95%;
}

#company-statement, #professionals
{
    width: 90%;
    font-size: 18px;
}

.statistics
{
    display: grid;
    margin: 0 auto;
    padding: 2% 0;
    width: 100%;
    gap: 2em;
}

.statistics h1
{
    margin: 0;
    padding: 0;
}

.statistics p
{
    margin: 0;
}
#happy-patients, #bed-spaces, #ward, #open-hours
{
   text-align: center;
   color: rgb(0,255,0);
}

#happy-patients img, #bed-spaces img, #ward img, #open-hours img
{
    width: 50px;
    height: 50px;
    margin: 0;
}

.list
{
    width: 90%;
    font-size: 18px;
}
#assessment, #emergency, #psychiatry, #elderly, #med-services, #mental
{
    width: 90%;
}

.pic-cluster, #client-record
{
    display: grid;
    gap: 2em;
    margin: 0 auto;
}

.person
{
    display: block;
    margin: 10% auto 0% auto;
}

/* Footer */
#footer
{
    display: block;
    width: 100%;
}

#feedback, #users
{
    display: block;
    width: 80%;
    margin: 0 auto;
}

form
{
    display: block;
    margin: 5% auto;
}

#contact
{
    width: 100%;
}

#location, #email, #phone
{
    width: auto;
    word-wrap: break-word;
    margin-top: 5%;
    text-align: center;
}

#copyright
{
    margin: 0;
}

/* My appointment page */
#myappointment
{
    margin: 0;
    padding: 0;
    width: 50%;
}

/* Admin page */
#portal-container
{
    display: block;
    margin: 0 auto;
    padding: 0;
    background-color: rgb(0, 51, 102);
    color: #fff;
}

#admin-form-container
{
    width: 80%;
    display: block;
    margin: 0 auto;
    text-align: center;
}

#admin-form-container label
{
    font-size: 15px;
}

#admin-form-container select
{
    font-size: 14px;
}

#portal-result
{
    margin-top: 0;
}

/* Services page */
#service-grid
{
    margin: 0 auto;
    border: 5px solid rgba(0, 51, 102, 0.5);
}

.service-tab
{
    margin: 2.5%;
}

.service-desc
{
    font-size: 1em;
    padding: 1px;
    width: 90%;
    word-wrap: break-word;
    text-align: left;
}

.service-desc h3
{
    text-align: center;
}

.service-tab img
{
    display: none;
}
/* .service-tab img
{
    width: 80px;
    height: 80px;
    margin: 0 auto;
    display: block;
    border: 2px solid rgba(0, 51, 102, 0.5);
} */

#service-page
{
    background-image: url('images/hbp.webp');
}

.profile-details
{
    text-align: center;
}

#cookie-alert
{
   font-size: 16px;
   padding: 4%;
}

}