* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    font-family: 'Roboto Slab', sans-serif;
}

html {  
    font-size: 16px; 
}    
/* you can chose any size here 16 is default */
@media screen and (max-width: 800px) { html {   font-size: 90%;  }}
@media screen and (max-width: 700px) { html {   font-size: 80%;  }}  
@media screen and (max-width: 600px) { html {   font-size: 70%;  }}


:root {
    --basic-dark-color: #036379;
    --main-navigation-menu-level-0-background-color: var(--basic-dark-color);
    --main-navigation-menu-level-0-background-color: var(--basic-dark-color);
    --main-navigation-menu-level-0-link-color: #fff; 
    --main-navigation-menu-level-0-hover-background-color: #d7d7f1;
    --main-navigation-menu-level-0-hover-text-color: #000;

    --main-navigation-menu-level-1-background-color: var(--basic-dark-color);
    /* --main-navigation-menu-level-1-background-color: #d7d7f1; */
    --main-navigation-menu-level-1-link-color: #fff; 
    --main-navigation-menu-level-1-hover-background-color: #d7d7f1;
    --main-navigation-menu-level-1-hover-text-color: #131f8a;

    /* --main-navigation-menu-level-2-background-color: #131f8a; */
    --main-navigation-menu-level-2-background-color: #d7d7f1;
    --main-navigation-menu-level-2-link-color: #fff; 
    --main-navigation-menu-level-2-hover-background-color: #131f8a;
    --main-navigation-menu-level-2-hover-text-color: #d7d7f1;
}

/* a, */
/* a:visited { */
    /* color: #ff1818 !important; */
/* } */



body {
    margin: 0 0.5rem;
/*    font-size: 14px; */
}

.section-right-flush {
    /* float: right; */
    display: block;
    /* display: flex; */
    /* flex-direction: column; */
    /* justify-content: flex-end; */
}

.section-right-flush-contents {
    text-align: right;
    display: flex;
    flex-direction: column;
}

.section-header-grid-2x1 {
    /* display: grid; */
    /* grid-template-columns: 1fr 2fr; */
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.section-right-column {
    display: flex;
    flex-direction: column;
    text-align: right;
}


.git-hash {
    /* top: 0px; */
    /* right: 8px; */
    /* position: absolute; */
    padding: 0.2rem;
    color: gray;
    font-size: 12px;
    text-align: right;
    /* float: right; */
    word-wrap: anywhere;
}

.wrapper {
    /* overflow-x: clip; */
    /* max-width: 996px; */
    max-width: max(900px, 80%);
    margin: auto;
  
}

.header {
    display: flex;
    /* height: 4rem; */
    align-items: center;
    justify-items: center;
    gap: 2rem;
    padding: 1rem;
/*    background-color: #7547d0;*/
    background-color: #036379;

    color: white;
    justify-content: left;
    /* border: 1px solid black; */
}

.header img {
    /* background-color: white; */
    padding: 0.5rem;
    height: 4.9rem;
}

/* .wrapper .title {
    font-size: 26px;
} */

.region {
    margin: 1rem 0;
}

.region-header {
    margin: unset;

}

.region-footer {
    margin: 2rem 0;
    padding: 1rem 0.5rem;
    background-color: black;
    color: white;
}

.region-footer i {
    color: white;
}


/* 
.main-navigation {
    background-color: white;
    padding: 0.5rem 0;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

.main-navigation ul li {
    padding: 0.5rem 1rem;
    font-weight: normal;
    font-size: 1.3rem;
}

.main-navigation ul li:hover {
    color: blue;
    background-color: rgb(191, 191, 243);
}

.main-navigation li.menu-item.in-menu-trail {
    font-weight: 600;
    background-color: rgb(191, 191, 243);
}

.main-navigation li.submenu-item.in-menu-trail {
    font-weight: 600;
    background-color: rgb(191, 191, 243);
} */


/* forms */
form .buttons {
    display: flex;
    flex-direction: row;

    justify-content: space-evenly;
}

form .input-div {
    /* background-color: aqua; */
    /* height: 2rem; */
    /* line-height: 2rem; */
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    padding: 0.1rem 0.4rem;    
    /* justify-content: space-evenly; */
}

.edit-patient {
    form .buttons {
        padding: 0.5rem;
    }

    form .buttons input[type="submit"] {
        padding: 4px 8px;
    }

    form {
        display: flex;
        gap: 0.3rem;
        flex-direction: column;
        position: relative;
    }

    form .input-div select,
    form .input-div input,
    form .input-div .date-picker-input span,
    form .input-div textarea {
        flex-grow: 1;
        padding: 1px 2px;
        /* width: 100%; */
        line-height: 19px;
    }
    form .input-div label {
        width: 10rem;
        text-align: right;
    }

    form .input-div.input-notes {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    form .input-div.input-notes label {
        text-align: left;
    }

    /* form .input-div .validation-input {
        position: relative;
        width: 100%;
    } */

    form .input-div input::placeholder {
        font-size: 0.8rem;
    }

    form .input-div input[name="patient-name"],
    form .input-div input[name="patient-amka"],
    form .input-div input[name="patient-telephone"],
    form .input-div input[name="patient-email"] {
        position: relative;
        & ~ .inline-icons {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            position: absolute;
            font-size: 1.5rem;

            right: 1rem;

            img,
            i.valid,
            i.not-valid {
                visibility: hidden;
                display: none;
            }

            i.bx-copy,
            i.bx-phone-call {
                font-size: 1.2rem;
            }
            i.bx-copy:hover,
            i.bx-phone-call:hover {
                color: red;
            }
        }

        &:placeholder-shown ~ .inline-icons {
            display: none;
        }

        &.valid {
            /* color: green; */
        }

        /* &.valid ~ .inline-icons img.valid {
            visibility: visible;
        } */

        &.valid ~ .inline-icons i.valid {
            visibility: visible;
            display: inline-block;
        }

        &.not-valid {
            color: red;
        }

        /* &.not-valid ~ img.not-valid {
            visibility: visible;
        } */

        &.not-valid ~ .inline-icons i.not-valid {
            visibility: visible;
            display: inline-block;
        }
    }
}


@media screen and (max-width: 470px) {
    .edit-patient form {
        .input-attachments {
            width: unset;
        }
        .input-div {
            flex-direction: column;
            gap: 0;
            align-items: flex-start;
        }

        .input-div label {
            width: auto;
            text-align: left;
        }
    }

    .section-header-grid-2x1 {
        flex-direction: column-reverse;
    }
    

}

/* patients forms */

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

.search {
    margin: 1rem 1rem 0rem ;
    /* outline: 1px solid red; */

    .input-div label {
        text-align: left;
        width: auto;
        /* margin: 0 1rem; */
    }
}

.patient-list-actions ul {
    padding: 1rem 2rem 0.2rem;
    list-style: none;
}

.patients-list {
    padding: 1rem;
}
.patients-list table {
    width: 100%;
}
.patients-list table thead {
    background-color: rgb(85, 85, 85);
    color: white;
}
.patients-list table tr {
    height: 1.5rem;
    line-height: 1.5rem;
    justify-content: center;
}

.patients-list table tr:nth-child(even) {
    background-color: rgb(170, 166, 166);
    color: rgb(47, 47, 47);;
}
.patients-list table td {
    padding: 0.2rem 0.4rem;
}
.patients-list table td.actions {
    display: flex;
    justify-content: space-evenly;
}

.patients-list table td.actions a,
.patients-list table td.actions a:visited {
    color: red;
    text-decoration: inherit;
}

.patients-list table td[data-column="name"] {
    font-weight: 600;
    /* text-align: center; */
    width: auto;
}

.patients-list table td[data-column="name"]:hover {
    text-decoration: underline;
}
.patients-list table td[data-column="name"] i {
    margin: 0 0.5rem;
    opacity: 0;
}

.patients-list table td[data-column="name"]:hover i {
    opacity: 1;
}

.patients-list table td[data-column="name"] i:hover {
    cursor: pointer;
    color: red;
    /* text-align: center; */
}

/* responsive rules */
@media screen and (max-width: 470px) {
    body {
        margin: 0;
    }

    .patients-list {
        padding: 0;
    }
}


.patients-list table td[data-column="amka"] {
    text-align: center;
    width: 10rem;
}


.patients-list table td[data-column="amka"] i {
    /* margin: 0 0.5rem; */
    opacity: 0;
    
}
.patients-list table td[data-column="amka"]:hover i {
    /* position: relative; */
    opacity: 1;
}

.patients-list table td[data-column="amka"] i:hover {
    cursor: pointer;
    color: red;
    /* text-align: center; */
}

.patients-list table tr td a,
.patients-list table tr td a:visited {
    color: black;
}

.patients-list table td[data-column="lastapp"] {
    text-align: center;
    width: max-content;
}
.patients-list table td[data-column="actions"] {
    /* padding: 0 1rem; */
    margin: 0 auto;
    text-align: center;
    width: min-content;
}


.patients-list thead {
    .sorting-arrows {
        display: inline-block;
        color: white;
    }

    .sorting-arrows i {
        font-size: 1rem;
    }
    .sorting-arrows i:hover {
        color: black;
        cursor: pointer;
    }
}


.edit-patient .header {
    text-align: center;
}

.edit-patient form {
    display: flex;
    flex-direction: column;
}


.patient-appointments {
	padding: 1rem;
	text-align: center;
	/* border: 1px solid black; */
}
.patient-appointments .new-appointment {
	border: 1px solid black;
	width: 50%;
	margin: auto;
	padding: 0.3rem;
	border-radius: 5px;
}

.patient-appointments .new-appointment:hover {
    /* color: white; */
    background-color: darkslategrey;
}

.patient-appointments .new-appointment:hover a{
    color: white;
}

form .input-header {
    display: flex;
    flex-direction: row;
}


form .input-div input,
form .input-div .date-picker-input{
    border: 1px solid black;
    margin: 2px 2px;
    line-height: 1rem;
}

form .input-div input,
form .input-div .date-picker-input,
form .input-div textarea {
    flex-grow: 1;
    padding: 1px 2px;
    width: 100%;
}

form .input-div .date-picker-input input {
    margin: 0;
    padding: 0;
    /* visibility: hidden; */
    /* position: absolute; */
}

form .input-div label {
    width: 10rem;
    text-align: right;
}


/* appointments forms */
.appointment-patient-name {
    margin: 8px 0 4px;
    display: flex;
    gap: 4px;
}

.appointment-patient-name i {
    color: red;

}

.appointment-patient-name i:hover {
    text-decoration: underline;
}

.appointment-patient-name span {
    color: red;
}
.appointment-list-actions > ul {
    padding: 1rem 2rem 0.2rem;
    list-style: none;
}
.patient-appointments-list > li {
    padding: 0.2rem;
}
.patient-appointments-list > li:nth-child(odd) {
    background-color: lightgray;
}

.appointments-list {
    padding: 1rem;
}
.appointments-list table {
    width: 90%;
}
.appointments-list table thead {
    background-color: rgb(85, 85, 85);
    color: white;
}
.appointments-list table tr {
    height: 1.5rem;
    line-height: 1.5rem;
    justify-content: center;
}


.appointments-list table tr:nth-child(even) {
    background-color: rgb(170, 166, 166);
    color: rgb(47, 47, 47);;
}
.appointments-list table td {
    padding: 0.2rem 0.4rem;
}
.appointments-list table td.actions {
    display: flex;
    justify-content: space-evenly;
}

.appointments-list table td[data-column="place"] {
    text-align: center;
}


.notification  {
    margin: 1.5rem;
    padding: 0.5rem;
    border-radius: 5px;
}

.notification.warning {
    background: lightcoral;
    border: 1px solid coral;
}

.notification.error {
    background: rgb(246, 184, 184);
    border: 1px solid red;
}

.notification.notice {
    background: lightblue;
    border: 1px solid blue;
}

.notification span {
    font-weight: 600;
}

.user-block {
    margin-top: 0.2rem;
}

.user-block span {
    color: red;
}

ul.patient-appointments-list {
    list-style: none;
    /* margin: 1rem; */
    padding: 0.5rem;
    border: 1px solid rgb(109, 109, 109)    
}


.appointment-entry {
    padding: 0.8rem 0;
}
.appointment-entry > label {
    color: rgb(99, 99, 99);
    border: 1px solid rgb(99, 99, 99);
    width: 100%;
    display: block;
    margin: 0.3rem 0;
    cursor: pointer;
    /* display: flex; */
    position: relative;
}

.appointment-entry > label:hover {
    background-color: lightcoral;
}

.appointment-entry > label span {
    font-size: 1.2rem;
    color: red;
}

.appointment-entry > input[type="checkbox"] {
    padding: 4px;
    background-color: aqua;
    color: blue;
    display: none;
}

.appointment-entry > input[type="checkbox"] ~ label i:nth-of-type(1) {
    display: inline-block;
}


.appointment-entry > input[type="checkbox"] ~ label i:nth-of-type(2) {
    display: none;
}

.appointment-entry > input[type="checkbox"]:checked ~ label i:nth-of-type(1) {
    display: none;
}

.appointment-entry > input[type="checkbox"]:checked ~ label i:nth-of-type(2) {
    display: inline-block;
}

.appointment-entry > input[type="checkbox"] ~ .edit-appointment {
    display: none;
}
.appointment-entry > input[type="checkbox"]:checked ~ .edit-appointment {
    display: block;
}

.appointment-entry .edit-appointment .input-header {
    display: flex;
    flex-wrap: wrap;
}

.appointment-entry .edit-appointment .input-header {
    display: flex;
    flex-wrap: wrap;
}

.appointment-entry .edit-appointment .input-header > .input-div:nth-child(1) {
    width: 40%;
}
.appointment-entry .edit-appointment .input-header > .input-div:nth-child(2) {
    width: 30%;
}
.appointment-entry .edit-appointment .input-header > .input-div:nth-child(3) {
    width: 20%;
}

/* login page */

.login-page {
    width: 60%;
    margin: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;

    border: 1px solid black;
    border-radius: 5px;;
}

.login-page .title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.login-page form .field {
    display: flex;
    justify-content: center;
    font-size: 1rem;

    margin: 1rem;

}

.login-page form .field label {
    width: 7rem;
    text-align: right;
    /* font-size: 1.2rem; */
    /* background-color: aqua; */
    padding: 0.5rem;
}

.login-page form .field label[for="rememberme"] {
    width: unset;
}

.login-page form .field.justify-right {
    /* margin-left: auto; */

    display: block;
    margin: 0 auto;
    text-align: center;
}

@media screen and (max-width: 500px) {
    .login-page form .field {
        flex-direction: column;
    }

.login-page form .field label {
        text-align: left
    }


}

.login-page form input {
    /* flex-grow: 1; */
    font-size: 1.1rem;
}

.login-page .buttons button {
    font-size: 1.2rem;
    padding: 0.3rem 2rem;
    border-radius: 5px;
    margin-top: 1rem;
}



/* ******** list box select2 ******* */
.select-container {
    margin: 0.2rem;
    background-color: antiquewhite;
    position: relative;
    width: 100%;
}
ul.select-box {
    background-color: antiquewhite;
    width: 100%;
    position: absolute;
    border: 1px solid black;
    list-style: none;
    padding: 0.2rem;
    display: none;
}

ul.select-box li {
    height: 1.2rem;
    background-color: antiquewhite;
    display: flex;
    flex-direction: row;
    cursor: pointer;
}

ul.select-box li span.name {
    width: 70%;
    flex: 3 1 0;
}
ul.select-box li span.age {
    width: 20%;
    flex: 1 1 0;
}
ul.select-box li span.tel {
    width: 20%;
    flex: 1 1 0;
}
ul.select-box li span.name {
    flex: 2 1 0;
    width: 30%;
}

ul.select-box li:hover {
    background-color: black;
    color: antiquewhite;
}


.module-copyright {
    text-align: center;
    line-height: 1.3em;
}

.shortcuts {
    margin: auto;
    padding: 2rem;
    /* background-color: aquamarine; */
    width: 100%;
    display: block;
    align-items: center;
}

.shortcuts ul {
    /* margin: auto; */
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
}

.shortcuts ul li {
    padding: 1rem;
    outline: 1px black solid;
    border-radius: 5px;
}

.shortcuts ul li:hover,
.shortcuts ul li:hover a {
    background-color: black;
    color: white;
}

form.webform {
    .form_elements {
        margin: 1rem;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 0.5rem;
    }
    
    .form_controls {
        margin: 1rem auto;
        display: flex;
        justify-content: center;
        gap: 1rem;
    }
}

.announcements {
    margin: 1rem;
    outline: 1px solid lightgray;

    .announce-header {
        font-weight: 800;
        font-size: 1.2rem;
        /* text-align: center; */
    }
    ul {
        margin: 1rem;
        list-style: square;
    }
    .title {
        font-weight: 800;
        margin: 1rem;
    }

    .body {
        margin: 1rem 2rem;
    }
}


.tooltip {
    position: absolute;
    background-color: black;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    pointer-events: none;
    opacity: 1;
    white-space: nowrap;
    transition: opacity 0.5s ease-in-out; /* Smooth fade-out effect */
}
