.calendar {
    position: relative;
    display: block;

    background: var(--box-bg);
    box-shadow: var(--box-shadow);
    border-radius: 20px;
    padding: 20px;
}

.calendar > .card {
    position: relative;
    display: block;
    
}

.calendar > .card > .calendar-header {
    position: relative;
    display: table;
    width: 100%;
    padding: 10px 0px;
}

.calendar > .card > .calendar-header > h3 {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    font-style: normal;
    font-weight: normal;
    font-size: 40px;
}


ul.caption {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    font-style: normal;
    font-weight: normal;
    color:var(--text-color);
}


ul.caption > li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    font-size: 12px;
    font-weight: normal;
    padding-left: 20px;
    color:var(--text-color);
}

ul.caption.inline > li {
    display: inline-block;
    padding-right: 10px;
    padding-left: 0px;
    font-size: 10px;
    padding-top:10px
}

ul.caption > li:before {
    position: relative;
    display: block;
    vertical-align: middle;
    width: 60px;
    height: 10px;
    border-radius: 20px;
    margin-bottom: 10px;
    background-color: red;;
    content:'';
}

.calendar > .card > .calendar-header > nav {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: right;
}

.calendar > .card > .calendar-header > nav > ul {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    border:solid 1px  var(--selector-color);
    border-radius: 20px;
    overflow: hidden;
}

.calendar > .card > .calendar-header > nav > ul > li {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 12px;
}

.calendar > .card > .calendar-header > nav > ul > li > a {
    position: relative;
    display: block;
    font-size: 12px;
    color:var(--text-color);
    min-width: 50px;
    text-align: center;
}

.calendar > .card > .calendar-header > nav > ul > li.active {
    background-color:  var(--selector-color);
}

.calendar > .card > .calendar-header > nav > ul > li.active > a{
    color:  var(--highlight-color);
}

.calendar > .card > table:not(#calendar-head) {
    position: relative;
    display: block;
    border: solid 1px var(--selector-color);
    padding: 0px;
    border-radius: 20px;
    overflow: hidden;
}

.calendar > .card > table > thead,
.calendar > .card > table > tbody {
    position: relative;
    display: block;
    display: table;
    width: 100%;
    table-layout: fixed;
}

.calendar > .card > table > thead {
    background-color: #22DB7F;
    color:#000;
    border-radius: 10px;
    margin: 10px 0px;
}

.calendar > .card > table > thead > tr > th {
    padding: 10px;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
}

.calendar > .card > table tr {
    position: relative;
    display: table-row;
    table-layout: fixed;
}

.calendar > .card > table tr > th,
.calendar > .card > table tr > td {
    position: relative;
    display: table-cell;
    vertical-align: top;
    
    font-size: 20px;
    width: 30px;
}

.calendar > .card > table tr > td {
    border: solid 1px var(--selector-color);
    border-top: none;
    border-left: none;
    padding: 10px 10px 10px 10px;
    height: 120px;
}

.calendar > .card > table tr > td:nth-child(n + 7) {
    border-right: none;
}

.calendar > .card > table tr:nth-child(5) > td {
    border-bottom: none;
}

.calendar > .card > .calendar-footer {
    position: relative;
    display: table;
    padding: 20px 0px;

    width: 100%;
    text-align: right;
}

.calendar > .card > .calendar-footer > *{
    position: relative;
    display: table-cell;
    vertical-align: middle;
    display: none;
}

.calendar > .card > .calendar-footer > .form-inline > select,
.calendar > .card > .calendar-footer > .form-inline > button {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: auto;
    margin-left: 10px;
}

.transparent {
    color:transparent;
    font-size: 8px !important;
}