:root
{
    --color-white: #fff;
    --color-dull-white: #fafafa;
    --color-dull-white-2: #00000029;
    --color-dull-white-3: #F8F8F8;
    --color-white-hover: #f4f4f4;
    --color-border-grey: #D3D4D6;
    --color-primary: #7F56DA;
    --border-radius: 15px;
    --border-radius-2: 10px;
    --border-radius-3: 5px;
    --text-color: #1D2939;
    --table-head-color: #1D2939;
    --placeholder-color: #D3D4D6;
    --color-autofill: #dbcbff;
    --color-pressed:#653eba;
    --color-red: #FF6A6A;
    --color-red-hover: #ff6a6a3d;
    --text-red: #F16464;
    --color-dark-purple: #1D2939;
    --color-sidebar-btn-background: #F0EFF4;
    --color-header: #E0DFE7;
    --color-search-placeholder: #6C737D;
    --table-odd-row-color: #e3e4e6;
    --more-opt-color: #ebebeb;
    --empty-data-color: #ebebeb77;
    --divider-color: #E2E3E5;
    --color-green: #5DE189;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}
*, ::before, ::after {
  -webkit-box-sizing: padding-box !important;
  box-sizing: padding-box !important;
}
#backdrop
{
    background-color: #887e9f9f;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 9998;
    display: none;
}
#preview_html
{
    display: none;
    max-height: 500px;
    overflow: auto;
    margin: 20px 0;  
    border: 2px solid var(--color-border-grey);
    border-radius: var(--border-radius-2);
}

#preview_html #email
{
    padding: 12px !important;
}
#email table p
{
    margin-top: 0px;
    margin-bottom: 0px;
}
.p-message
{
    display: none;
}
.date-d
{
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}
.date-d #mail_date
{
    margin-bottom: 0;
    margin-right: 10px;
    flex-grow: 1;
}
.modal {
  position: absolute;
  left: 50%;
  top: 5%;
  transform: translate(-50%, 0%);
  width: auto;
  display: none;
  flex-direction: column;
  width: auto;
  align-items: center;
  padding: 1.6rem 3rem;
  /* border: 3px solid black; */
  border-radius: 5px;
  background: white;
  box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.2);
  z-index: 9999;
  transition: all 0.3s ease-in-out;
}
.modal .close
{
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 25px;
    color: #000;
    cursor: pointer;
}
.modal.show
{
    display: inline-flex;
}
.message {
  font-size:1.1rem;
  margin-bottom: 1.6rem;
  margin-top: 0;
  font-weight: 600;
}
.options 
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 1.5rem;
}
.options .btn, .modal .btn
{
    padding: 10px;
    width: 125px;
    outline: none;
    border:none;
    box-sizing: border-box !important;
    border-radius: var(--border-radius-2);
    border: 2px solid var(--color-primary);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
.options .btn:active
{
    transform: scale(0.99);
}
.options .btn-n
{
    border: 2px solid var(--color-primary);
    background-color: #fff;
    color: var(--color-primary);
}
/* .options .btn {
  color:inherit;
    font-family:inherit;
  font-size: inherit;
  background: white;
  padding: 0.3rem 3.4rem;
  border: 3px solid black;
  margin-right: 2.6rem;
  box-shadow: 0 0 0 black;
  transition: all 0.2s;
  cursor: pointer;
}

.options .btn:last-child {
  margin: 0;
}

.options .btn:hover {
  box-shadow: 0.4rem 0.4rem 0 black;
  transform: translate(-0.4rem, -0.4rem);
}

.options .btn:active {
  box-shadow: 0 0 0 black;
  transform: translate(0, 0);
}

.options {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
} */

input, textarea
{
    border: none;
    outline: none;
    padding: 15px;
    margin-bottom: 22px;
    border: 2px solid var(--color-border-grey);
    border-radius: var(--border-radius-2);
    color: var(--text-color);
    font-weight: 500;
    font-size: 16px;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
button, .btn, input[type="submit"], input[type="button"]
{
    background-color: var(--color-primary);
    color: var(--color-white);
}
input[type="submit"]:active, input[type="button"]:active, button:active a:active
{
    background: var(--color-pressed);
    transform: scale(0.99);
}
input::placeholder
{
    color: var(--placeholder-color);
    opacity: 1;
}
#page-loader
{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: var(--color-dull-white);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}
#page-loader .loader
{
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 4px solid var(--color-dull-white-2);
    border-top-color:var(--color-primary);
    animation: spin .5s cubic-bezier(.91, .55, .63, .71) infinite;
}
.loader-icn
{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 5px solid #ffffff29;
    border-top-color: rgba(255, 255, 255, 0.16);
    border-top-color: #FFF;
    animation: spin .5s cubic-bezier(.91, .55, .63, .71) infinite;
    margin-right: 6px;
    padding: 4px;
}
.flex-btn
{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
}
@keyframes spin
{
    0% {
        transform: translate3d(0, 0, 0) rotate(0);
    }
    
    100% {
        transform: translate3d(0, 0, 0) rotate(359deg);
    }
}
*{
    font-family: 'Poppins', sans-serif;
}
body
{
    background-color: var(--color-dull-white-3);
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
}
#mail_date
{
    padding-top: 10px;
    padding-bottom: 10px;
}
.login-container
{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
}
.login-form
{
    background-color: var(--color-white);
    padding: 40px 50px;
    border-radius: var(--border-radius);
    height: 400px;
    width: 500px;
    box-shadow: 0px 15px 50px var(--color-dull-white-2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.login-form h2
{
    margin-top: 5px;
    font-size: 28px;
    text-align: center;
    font-weight: 500;
    color: var(--text-color);
    pointer-events: none;
    user-select: none;
}
.add-form
{
    background-color: var(--color-white);
    border-radius: var(--border-radius);
    box-shadow: 0px 15px 50px var(--color-dull-white-2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 50px;
}
.add-form-section
{
    padding: 35px;
}
.login-form .input-container
{
    display: flex;
    flex-direction: column;
    justify-self: center;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
.login-form .login-submit
{
    cursor: pointer;
    padding: 16px;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 15px;
    border-radius: var(--border-radius-2);
    border: none;
}
.login-form #login-error
{
    color: var(--color-red);
    margin-left: 4px;
    opacity: 0;
    transform-origin: top center;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
.login-container #user_password
{
    margin-bottom: 4px;
}
.show-item
{
    opacity: 1 !important;
}
/*index*/
.content
{
    display: flex;
    flex-direction: row;
}
.content .left-content
{
    background-color: var(--color-dark-purple);
    position: sticky;
    height: 100vh;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 998;
}
.content .right-content
{
    flex-grow: 2;
    
    position: sticky;
    top: 0;
}
.content .left-content .side-bar-head
{
    padding: 25px 45px;
    margin-bottom: 10px;
    text-align: center;
    color: var(--color-white);
    font-weight: 500;
    font-size: 25px;
}
.sidebar-btn.logout
{
    background-color: var(--color-primary);
    color: var(--color-white);
    cursor: pointer;
    border-radius: var(--border-radius);
    text-align: center;
    align-self: center;
    padding: 10px;
    margin-bottom: 20px;
}
.sidebar-btn.logout::before
{
    display: none;
}
.sidebar-btn
{
    margin-bottom: 20px;
    position: relative;
    display:block;
    padding: 18px 20px;
    width: 75%;
    background-color: var(--color-sidebar-btn-background);
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    text-align: center;
    font-size: 18px;
    text-decoration: none;
    color: var(--text-color);
    font-weight: 600;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
.sidebar-btn.active
{
    background-color: var(--color-primary);
    color: var(--color-white);
}
.sidebar-btn::before
{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-primary);
    transform: translateX(-100%) !important;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
.nothing-found
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.nothing-found .emoji
{
    font-size: 80px;
    margin-bottom: 0;
}
.sidebar-btn.active::before
{
    background-color: var(--color-white);
}
.sidebar-btn:hover::before
{
   transform: translateX(-97%) !important;
}
.right-content .top-header 
{
    background-color: var(--color-header);
    position: sticky;
    top: 0;
    z-index: 1000;
}
.right-content .top-header .search-bar
{
    padding:  20px 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.right-content .top-header input::placeholder
{
    color: var(--color-search-placeholder);
    opacity: 1;
}
.right-content .top-header .search-bar .search-box
{
    margin-bottom: 0;
    border: none;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    width: 450px;
    font-size: 15px;
    background-image: url('../assets/imgs/search.svg');
    background-repeat: no-repeat;
    background-position-x: 20px;
    background-position-y: center;
    background-size: 17px;
}
.table-holder
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 25px;
    margin-top: 35px;
    background-color: var(--color-white-dull-3);
}
.table-holder table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}
.table-holder table tbody td
{
    color: var(--text-color);
}
.table-holder table tr th,
.table-holder table tr td {
    text-align:center;
    padding: 15px;
}
.table-holder table tr th:last-child,
.table-holder table tr td:last-child {
    border-right: 4px solid var(--color-white);
}
.table-holder table tr:last-child td
{
   border-bottom: 4px solid var(--color-white); 
}
.table-holder table tr th:first-child,
.table-holder table tr td:first-child {
  border-left: 4px solid var(--color-white);
}
.table-holder table tr th {
    background: var(--table-head-color);
    border-top: 4px solid var(--color-white);
    color: var(--color-white);
    font-weight: 500;
}
.table-holder table tr:nth-child(even) td {
    background: var(--table-odd-row-color);
}
/* top-left border-radius */
.table-holder table tr:first-child th:first-child {
  border-top-left-radius: var(--border-radius-2);
}

/* top-right border-radius */
.table-holder table tr:first-child th:last-child {
  border-top-right-radius: var(--border-radius-2);
}

/* bottom-left border-radius */
.table-holder table tr:last-child td:first-child {
  border-bottom-left-radius: var(--border-radius-2);
}

/* bottom-right border-radius */
.table-holder table tr:last-child td:last-child {
  border-bottom-right-radius: var(--border-radius-2);
}
.action-btn
{
    position: relative;
    background: var(--more-opt-color);
    font-size: 20px;
    padding: 6px 10px;
    border-radius:  100px;
    margin-left: 15px;
    cursor: pointer;
}
.no_child_h2
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.no_child_h2 .emoji
{
    font-size: 55px;
}
.nav-btns
{
    position: absolute;
    top: 53px;
    left: -60px;
    display: none;
    z-index: 100;
}
.action-btn.show .nav-btns
{
    display: block;
}
.nav-btns::before
{
    content: '';
    background-image: url('imgs/triangle.svg');
    background-repeat: no-repeat;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: -12px;
    left: 87px;
    transform: translateX(-50%);
    z-index: 9;
}
.action-btn .menu-icon
{
    color: var(--text-color);
}
.nav-btns .btn-container
{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 160px;
    background-color: var(--color-white);
    border-radius: var(--border-radius-2);
    box-shadow: 0px 15px 20px var(--color-dull-white-2);
    font-size: 18px;
    position: relative;
    z-index: 10;
}
.nav-btns .btn-container .nav-btn:first-child
{
    border-top-left-radius: var(--border-radius-2);
    border-top-right-radius: var(--border-radius-2);
}
.nav-btns .btn-container .nav-btn:last-child
{
    border-bottom-left-radius: var(--border-radius-2);
    border-bottom-right-radius: var(--border-radius-2);
    border-bottom: none;
}
.nav-btns .btn-container .nav-btn
{
    text-decoration: none;
    color: var(--text-color);
    padding: 15px 0px;
    width: 100%;
    border-bottom: 2px solid var(--divider-color);
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
}
.nav-btns .btn-container .nav-btn.del
{
    color: var(--text-red);
}
.nav-btns .btn-container .nav-btn.del:hover
{
    background: var(--color-red-hover);
}
.nav-btns .btn-container .nav-btn:hover
{
    background: var(--color-white-hover);
}
.btn.ci-btn
{
    cursor: pointer;
    padding: 5px 10px;
    border-radius: var(--border-radius-3);
}
.bi.bi-check-circle-fill.green
{
    color: var(--color-green);
    font-size: 18px;
}
.bi.bi-x-circle-fill.red
{
    color: var(--color-red);
    font-size: 18px;
}
.form-group-c .col-md-6
{
    display: flex;
    flex-direction: column;
}
.bootstrap-wrapper .container
{
    min-width: 100%;
}
.mp-picker[data-orientation="portrait"] {
    width: 270px;
    height: 412px;
    display: block;
}
.mp-picker[data-orientation="portrait"] .mp-picker-info {
  display: block;
  width: 100%;
  height: 23%;
}
.mp-picker[data-orientation="portrait"] .mp-picker-picker {
  display: block;
  width: 100%;
  height: 80%;
}
.mp-picker .mp-picker-choose [class*="mp-picker-click"].mp-picker-choose-day {
  font-size: 0.95em;
  margin: 0;
  padding: 0.45em;
  border-radius: 100px;
}
.sign_up_type
{
    text-align: end;
}
.dates_wrapper, .hours_wrapper
{
    padding: 5px;
    border: 2px solid var(--color-border-grey);
    border-radius: var(--border-radius-2);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
.title
{
    margin-top: 0;
    margin-bottom: 0;
}
.hours_wrapper
{
    margin-bottom: 20px;
}
.empty-dates
{
    display: none;
}
#add_child_btn
{
    border: none;
    width: 100%;
    margin-top: 25px;
}
#comments
{
    width: 100%;
}
.dates_wrapper .date_wrapper, .hours_wrapper .hour_wrapper
{
    display: flex;
    align-items: center;
    width: fit-content;
    border-radius: var(--border-radius-3);
    font-size: 16px;
    margin: 5px 10px;
}
.dates_wrapper .date_wrapper .days_text, .hours_wrapper .hour_wrapper .hours_text
{
    color: #fff;
    background-color: var(--color-primary);
    padding: 5px 10px;
    border-top-left-radius: var(--border-radius-3);
    border-bottom-left-radius: var(--border-radius-3);
}
.dates_wrapper .date_wrapper .delete_day, .hours_wrapper .hour_wrapper .delete_hours
{
    color: #fff;
    background-color: var(--color-pressed);
    padding: 5px 10px;
    border-top-right-radius: var(--border-radius-3);
    border-bottom-right-radius: var(--border-radius-3);
    cursor: pointer;
}
.extra-btn
{
    padding: 16px;
    width: 100%;
    text-align: center;
    border-radius: var(--border-radius-2);
    cursor: pointer;
    border: none;
    font-weight: 500;
    font-size: 18px;
    transition: all 0.2s cubic-bezier(.46, .03, .52, .96);
    margin-bottom: 22px;
}
#edit_child_btn
{
    margin-top: 30px;
    margin-bottom: 0px;
}
.d-flex
{
    display: flex;
} 
.flex-row
{
    flex-direction: row;
}
.flex-column
{
    flex-direction: column;
}
.justify-content-between
{
    justify-content: space-between;
}