* {
        border          : 0px;
        margin          : 0px;
        padding         : 0px;
        color           : black;
        font-family     : sans-serif;
        font-size       : 15px;
        text-decoration : none;
        list-style      : none;
}

a {
        text-decoration : underline;
        display         : inline-block;
}

p, h1, h2, table {
        margin-bottom : 20px;
}

h1 {
        color         : #ff3d92;
        font-size     : 20px;
        font-weight   : bold;
}

table {
        border-collapse : collapse;
        table-layout    : fixed;
}

td, th {
        width       : fit-content;
        height      : 20px;
        white-space : nowrap;
        padding     : 10px;
        border      : 2px solid black;
}

th {
        color : #ff3d92;
}

form p img {
        display : block;
        padding : 5px;
}

input {
        background : lightgrey;
        border     : 2px solid black;
        height     : 25px;
        width      : 250px;
        padding    : 5px;
        color      : black;
}

input[type=submit] {
        width       : 264px;
        height      : 40px;
        font-weight : bold;
}

input[type=checkbox] {
        width          : 20px;
        height         : 20px;
        vertical-align : bottom;
        margin-left    : 10px;
}

input[type=radio] {
        width : 20px;
}

textarea {
        background : lightgrey;
        color      : black;
        border     : 2px solid black;
        height     : 100px;
        width      : 250px;
        padding    : 5px;
}

select {
        background : lightgrey;
        border     : 2px solid black;
        height     : 39px;
        padding    : 5px;
        width      : 264px;
}

@keyframes blinking {
        0%   {opacity : 1;}
        50%  {opacity : 0;}
        100% {opacity : 1;}
}

.blink {
        animation : blinking 4s infinite;
}

.page {
        padding : 20px;
}

.top {
        margin-top : 20px;
}

.bot {
        margin-bottom : 20px;
}

.no_top {
        margin-top : 0px;
}

.no_bot {
        margin-bottom : 0px;
}

.indent {
        margin-left : 60px;
}

.grey {
        color : lightgrey;
}

.pink {
        color : #ff3d92;
}

.bold {
        font-weight : bold;
}

.center {
        text-align : center;
}

.center > input {
        margin : 0px;
}

.msg {
        padding-left : 20px;
        color        : blue;
        font-weight  : normal;
}

.total td {
        border : 0px;
        font-weight : bold;
}

.g-recaptcha {
        padding-bottom : 20px;
}

#id_city {
        width : 100px;
}

#id_state {
        width : 62px;
}

#id_zip_code {
        width : 62px;
}

#id_beg_month, #id_end_month {
        width : 55px;
}

#id_beg_day,   #id_end_day {
        width : 55px;
}

#id_beg_year,  #id_end_year {
        width : 103px;
}

#id_hour {
        width : 76px;
}

#id_minute {
        width : 76px;
}

#id_am_or_pm {
        width : 76px;
}

#id_appt_set {
        margin-bottom : 20px;
}

#id_appt_set li label input {
        vertical-align : middle;
}

#id_services {
        margin-bottom : 20px;
}

#id_services li {
        padding : 6px;
}

#id_services li label input {
        width          : 20px;
        margin-left    : 60px;
        vertical-align : top;
}

#main a:hover {
        text-decoration : underline;
}

#appts input[type=checkbox] {
        margin-top     : 5px;
        margin-bottom  : 5px;
        vertical-align : middle;
}

#appts #id_wc_days {
        margin-left   : 20px;
        margin-bottom : 20px;
}

#appts #id_rec_cus_d {
        margin-bottom : 20px;
}

#appts #id_rec_cus_d li {
        padding : 6px;
}

#appts #id_rec_cus_d li label input {
        width          : 20px;
        margin-left    : 60px;
        vertical-align : top;
}

#appts_delete td {
        padding       : 0px;
        padding-right : 10px;
        border        : 0px;
}

#appts_delete_set td {
        padding       : 0px;
        padding-right : 10px;
        border        : 0px;

}

#appts_delete_set ul {
        padding-bottom : 20px;
}

#appts_delete_set input[type=radio] {
        vertical-align : middle;
}

#custs table td {
        border         : 0px;
        padding        : 0px;
        padding-bottom : 10px;
        padding-right  : 5px;
}

#custs_edit table td {
        border : 0px;
        padding : 0px;
        padding-bottom : 10px;
}

#invs .paid {
        color : red;
}

#invs #irr_cust_label {
        margin-bottom : -20px;
}

#unavail .color {
        color : #ff3d92;
}

#unavail .clear_all {
        text-decoration : underline;
}

#unavail .no_border {
        border-style : none;
}

#unavail td {
        min-width  : 42px;
        max-width  : 42px;
        height     : 15px;
        text-align : center;
        padding    : 0px;
}

#unavail td:nth-child(1) {
        text-align      : justify;
        text-align-last : right;
        padding-right   : 5px;
}

#unavail .remove_underline {
        text-decoration : none;
}

#unavail_all .remove_underline {
        text-decoration : none;
}

#unavail_all .color {
        color : #ff3d92;
}

#unavail_all .clear_all {
        text-decoration : underline;
}

#unavail_all .no_border {
        border-style : none;
}

#unavail_all td {
        min-width  : 42px;
        max-width  : 42px;
        height     : 15px;
        text-align : center;
        padding    : 0px;
}

#price_quote pre {
        font-family : monospace;
}

#unavail_all td:nth-child(1) {
        text-align      : justify;
        text-align-last : right;
        padding-right   : 5px;
}

#analytics .number {
        text-align : right;
}

#room input[type=checkbox] {
    margin-top     : 5px;
    margin-bottom  : 5px;
    margin-left    : 30px;
    margin-right   : 3px;
    vertical-align : middle;
}

#room button {
        background  : lightgrey;
        border      : 2px solid black;
        width       : 60px;
        height      : 38.2px;
        font-weight : bold;
}

#room form {
        margin-bottom : 20px;
}

#room .user_  span {
        color : #ff3d92;
}

#room #chat {
        border     : 2px solid black;
        height     : 200px;
        overflow-y : scroll;
        padding    : 10px;
}

#room #box {
        width : calc(100% - 79px);
}

#room #id_users {
        margin-top    : 7px;
        margin-bottom : 20px;
}

#room #notifications {
        margin-left : 5px;
}

#settings table td {
        height         : 20px;
        border         : 0px;
        padding        : 5px;
        padding-bottom : 10px;
}

#settings #id_beg_hour {
        width : 170px;
}

#settings #id_beg_am_or_pm {
        width : 76px;
}

#settings #id_end_hour {
        width : 170px;
}

#settings #id_end_am_or_pm {
        width : 76px;
}

#header {
        display         : flex;
        justify-content : center;
        gap             : 20px;
        margin-top      : 20px;
}

#header a {
        margin-top : 31px;
}

#header #logo {
        height      : 75px;
}

#footer {
        background      : #ff3d92;
        color           : white;
        display         : flex;
        align-items     : center;
        justify-content : center;
}

.errorlist {
        display : inline;
}

.errorlist li {
        color   : red;
        display : inline;
}

@media only screen and (max-width : 600px) {
        .page, #home {
                padding : 20px;
        }

        #id_services li label input,
        #appts #id_rec_cus_d li label input,
        #invs .month {
                margin-left : 20px;
        }

        #analytics p img {
                width : 400px;
        }

        #header {
                height          : 50px;
                display         : flex;
                justify-content : center;
                gap             : 10px;
        }

        #header #logo {
                height : 50px;
        }

        #header a {
                margin-top : 16px;
        }
}
