/*
 * jsCalendar v1.4.5
 * MIT License
 * Copyright (c) 2017-2023 Grammatopoulos Athanasios-Vasileios
 */

.jsCalendar *{margin:0;padding:0}.jsCalendar table,.jsCalendar table td,.jsCalendar table th{border:0;box-sizing:content-box}.jsCalendar table{background-color:#fff;border-collapse:collapse;border-radius:4px;box-shadow:0 0 2px rgba(0,0,0,.4);color:#000;font-family:Tahoma,Geneva,sans-serif;margin:5px}.jsCalendar tr{line-height:0}.jsCalendar thead .jsCalendar-title{height:40px;line-height:40px}.jsCalendar thead .jsCalendar-nav-left,.jsCalendar thead .jsCalendar-title-left{float:left}.jsCalendar thead .jsCalendar-nav-right,.jsCalendar thead .jsCalendar-title-right{float:right}.jsCalendar thead .jsCalendar-nav-left,.jsCalendar thead .jsCalendar-nav-right{border-radius:10px;color:#999;cursor:pointer;font-family:"Courier New",Courier,monospace;font-size:12px;font-weight:700;height:20px;line-height:20px;margin:10px 8px;text-align:center;transition:color .2s,background-color .2s;width:20px}.jsCalendar thead .jsCalendar-nav-left:hover,.jsCalendar thead .jsCalendar-nav-right:hover{background-color:#e2e2e2;color:#000}.jsCalendar thead .jsCalendar-title-name{cursor:default;float:left;font-size:18px;font-weight:lighter;padding:0 20px}.jsCalendar thead .jsCalendar-nav-left:after{content:"<"}.jsCalendar thead .jsCalendar-nav-right:after{content:">"}.jsCalendar thead .jsCalendar-week-days th{text-shadow:0 0 1px rgba(0,0,0,.2)}.jsCalendar tbody td,.jsCalendar thead .jsCalendar-week-days th{border-radius:18px;cursor:default;display:inline-block;font-size:12px;font-weight:lighter;height:36px;line-height:36px;margin:1px 2px;text-align:center;transition:color .1s,background-color .2s;width:36px}.jsCalendar tbody td:hover{background-color:#e6e6e6}.jsCalendar tbody td.jsCalendar-selected{background-color:#fff;border:2px solid #e6e6e6;height:32px;line-height:32px;width:32px}.jsCalendar tbody td.jsCalendar-current{background-color:#52c9ff;border-radius:18px;color:#fff}.jsCalendar tbody td.jsCalendar-next,.jsCalendar tbody td.jsCalendar-previous,.jsCalendar tbody td.jsCalendar-unselectable{color:#cacaca}.jsCalendar tbody td.jsCalendar-next:hover,.jsCalendar tbody td.jsCalendar-previous:hover,.jsCalendar.material-theme thead .jsCalendar-nav-left,.jsCalendar.material-theme thead .jsCalendar-nav-right{color:#fff}.jsCalendar tbody td.jsCalendar-unselectable:hover{background:0 0}.jsCalendar thead{display:block;margin:4px 4px 0}.jsCalendar tbody{display:block;margin:0 4px 4px}.jsCalendar ::-moz-selection{background:#83d8ff}.jsCalendar ::selection{background:#83d8ff}.jsCalendar.classic-theme.yellow thead,.jsCalendar.material-theme.yellow thead,.jsCalendar.yellow tbody td.jsCalendar-current{background-color:#ffe31b}.jsCalendar.yellow ::-moz-selection{background:#fde74c}.jsCalendar.yellow ::selection{background:#fde74c}.jsCalendar.classic-theme.orange thead,.jsCalendar.material-theme.orange thead,.jsCalendar.orange tbody td.jsCalendar-current{background-color:#ffb400}.jsCalendar.orange ::-moz-selection{background:#ffb400}.jsCalendar.orange ::selection{background:#ffb400}.jsCalendar.classic-theme.red thead,.jsCalendar.material-theme.red thead,.jsCalendar.red tbody td.jsCalendar-current{background-color:#f6511d}.jsCalendar.red ::-moz-selection{background:#f6511d}.jsCalendar.red ::selection{background:#f6511d}.jsCalendar.classic-theme.green thead,.jsCalendar.green tbody td.jsCalendar-current,.jsCalendar.material-theme.green thead{background-color:#7fb800}.jsCalendar.green ::-moz-selection{background:#7fb800}.jsCalendar.green ::selection{background:#7fb800}.jsCalendar.classic-theme table,.jsCalendar.classic-theme tbody td,.jsCalendar.classic-theme tbody td.jsCalendar-current,.jsCalendar.classic-theme thead .jsCalendar-nav-left,.jsCalendar.classic-theme thead .jsCalendar-nav-right,.jsCalendar.classic-theme thead .jsCalendar-week-days th,.jsCalendar.material-theme table{border-radius:0}.jsCalendar.material-theme thead{background-color:#52c9ff;color:#fff;margin:0;padding:4px 4px 0}.jsCalendar.material-theme thead .jsCalendar-title{display:block;position:relative}.jsCalendar.material-theme thead .jsCalendar-title-name{border-bottom:1px solid rgba(255,255,255,.4);color:#fff;font-size:16px;left:15px;position:absolute;right:15px;text-align:center}.jsCalendar.classic-theme thead .jsCalendar-title-left,.jsCalendar.classic-theme thead .jsCalendar-title-right,.jsCalendar.material-theme thead .jsCalendar-title-left,.jsCalendar.material-theme thead .jsCalendar-title-right{position:absolute;z-index:1}.jsCalendar.classic-theme thead .jsCalendar-nav-left:hover,.jsCalendar.classic-theme thead .jsCalendar-nav-right:hover,.jsCalendar.material-theme thead .jsCalendar-nav-left:hover,.jsCalendar.material-theme thead .jsCalendar-nav-right:hover{background-color:#03a9f4}.jsCalendar.classic-theme thead .jsCalendar-title-right,.jsCalendar.material-theme thead .jsCalendar-title-right{right:0}.jsCalendar.material-theme thead .jsCalendar-week-days th{font-size:14px;text-shadow:none}.jsCalendar.classic-theme.yellow thead .jsCalendar-nav-left:hover,.jsCalendar.classic-theme.yellow thead .jsCalendar-nav-right:hover,.jsCalendar.material-theme.yellow thead .jsCalendar-nav-left:hover,.jsCalendar.material-theme.yellow thead .jsCalendar-nav-right:hover{background-color:#e2ca23}.jsCalendar.classic-theme.orange thead .jsCalendar-nav-left:hover,.jsCalendar.classic-theme.orange thead .jsCalendar-nav-right:hover,.jsCalendar.material-theme.orange thead .jsCalendar-nav-left:hover,.jsCalendar.material-theme.orange thead .jsCalendar-nav-right:hover{background-color:#d49600}.jsCalendar.classic-theme.red thead .jsCalendar-nav-left:hover,.jsCalendar.classic-theme.red thead .jsCalendar-nav-right:hover,.jsCalendar.material-theme.red thead .jsCalendar-nav-left:hover,.jsCalendar.material-theme.red thead .jsCalendar-nav-right:hover{background-color:#bb3d16}.jsCalendar.classic-theme.green thead .jsCalendar-nav-left:hover,.jsCalendar.classic-theme.green thead .jsCalendar-nav-right:hover,.jsCalendar.material-theme.green thead .jsCalendar-nav-left:hover,.jsCalendar.material-theme.green thead .jsCalendar-nav-right:hover{background-color:#639000}.jsCalendar.classic-theme thead{background-color:#52c9ff;margin:0;padding:4px 4px 0}.jsCalendar.classic-theme thead .jsCalendar-title,.jsCalendar.classic-theme thead .jsCalendar-title-row{display:block;width:100%}.jsCalendar.classic-theme thead .jsCalendar-title{position:relative}.jsCalendar.classic-theme thead .jsCalendar-title-name{color:#fff;font-size:16px;left:41px;position:absolute;right:41px;text-align:center;text-shadow:none}.jsCalendar.classic-theme thead .jsCalendar-nav-left,.jsCalendar.classic-theme thead .jsCalendar-nav-right{color:#fff;text-shadow:none}.jsCalendar.classic-theme thead .jsCalendar-week-days{background-color:#fff;display:block;margin:0 -4px}.jsCalendar.classic-theme thead .jsCalendar-week-days th{font-size:10px;height:20px;line-height:20px;text-shadow:none}.jsCalendar.classic-theme tbody td{border-left:1px solid #dadada;border-top:1px solid #dadada;margin:-1px 0 0 -1px;padding:1px 1px 0;width:38px}.jsCalendar.classic-theme tbody{margin:0}.jsCalendar.classic-theme tbody td.jsCalendar-selected{background-color:#ccefff;border-bottom:0;border-left:1px solid #dadada;border-right:0;border-top:1px solid #dadada;height:36px;line-height:36px}.jsCalendar.classic-theme tbody td.jsCalendar-current.jsCalendar-selected{background-color:#52c9ff;text-shadow:0 0 3px #000} .jsCalendar-nav-left,.jsCalendar-nav-right{ display: flex !important;}.jsCalendar-nav-right{justify-content: flex-end;}

.jsCalendar table{
    width: 100%;
    margin: 0px !important;
    table-layout: fixed;
    background-color: #E4F4FF;
}

.jsCalendar thead{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 2rem 0rem 2rem;
    margin:0px;

}


.jsCalendar tbody{
    display: flex;
    flex-direction: column;
    padding: 0px 2rem 3rem 2rem;
    gap: 3rem;
    margin:0px;
}

.jsCalendar-title-row{
    width:100%;
}

.jsCalendar-title{
    display: flex;
    justify-content: space-between;
    gap: 10.2rem;
    align-items: center;
    padding-bottom: 3rem;
    padding-top:0rem !important;
    justify-self: center;
    width:fit-content;
}

th .jsCalendar-title-name{
    padding:0px !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    font-family: var(--Font-Family-Primary-Name, "DSC Specter") !important;
    text-transform: uppercase !important;
    color: var(--color-dsc-blue, #142978) !important;
    line-height: 100% !important;
}

.jsCalendar tbody td, .jsCalendar-week-days th{
    padding:0.6rem !important;
    max-width: 6.6rem;
    width:100%;
}

.jsCalendar-week-days{
    padding-bottom: 3rem;
}

.jsCalendar-week-days, 
.jsCalendar-table tbody tr{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.jsCalendar-week-days th, 
.jsCalendar-table td{
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    line-height: 120% !important;
    text-transform: uppercase !important;
    font-family: 'Gelica', sans-serif !important;
    align-items: center !important;
    justify-content: center !important;
    display: flex !important;
    height:0.66rem !important;
}

.jsCalendar thead .jsCalendar-nav-left:after,
.jsCalendar thead .jsCalendar-nav-right:after {
    content: none !important;
}
.jsCalendar-nav-left, .jsCalendar-nav-right {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 2.4rem !important;
    height: 2.4rem !important;
}
.jsCalendar-nav-left svg{
    transform: rotate(-90deg);
    width: 2.4rem;
    height: 2.4rem;
    stroke: var(--color-dsc-blue, #142978);
}
.jsCalendar-nav-right svg{
    transform: rotate(-90deg);
    width: 2.4rem;
    height: 2.4rem;
    stroke: var(--color-dsc-blue, #142978);
}

.jsCalendar tbody td.jsCalendar-current {
    position: relative;
    background: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    z-index: 1;
}
.jsCalendar tbody td.jsCalendar-current::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2em;
    height: 2em;
    background: var(--color-dsc-blue, #142978);
    border-radius: 50%;
    z-index: -1;
}

.jsCalendar tbody td:not(.jsCalendar-current):hover {
    position: relative;
    z-index: 1;
    cursor: pointer;
}
.jsCalendar tbody td:not(.jsCalendar-current):hover::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2em;
    height: 2em;
    background: var(--color-dsc-blue, #142978);
    border-radius: 50%;
    z-index: -1;
    opacity: 0.15;
    transition: opacity 0.15s;
}
.jsCalendar tbody td:not(.jsCalendar-current):hover {
    color: var(--color-dsc-blue, #142978) !important;
}

.jsCalendar tbody td:hover{
    background-color: transparent;
}

@media screen and (max-width: 768px) {
    .jsCalendar thead{
        padding: 2rem 1.5rem 0rem 1.5rem; 
    }
    .jsCalendar tbody{
        padding: 0rem 1.5rem 2rem 1.5rem;
    }
    th .jsCalendar-title-name{
        font-size: 1.4rem !important;
        white-space: nowrap;
    }
    .jsCalendar-title{
        gap: 0px;
        width: 100%;
    }
}