.qcc-calendar-container { position: relative; }
.qcc-calendar-container * { box-sizing: border-box; }
.qcc-calendar-container a { text-decoration: none; }
.qcc-calendar-container h2 { font-size: 18px; margin: 4px 0; }
.qcc-calendar-container h3 { font-size: 24px; line-height: 24px; margin: 5px 0; }
.qcc-calendar-container table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
}

.qcc-calendar .hd { position: relative; }

.qcc-calendar h2.month { text-align: center; }

.qcc-calendar td {
    height: 92px;
    width: calc(100% / 7);
    font-size: 16px;
    vertical-align: top;

    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.qcc-calendar thead { font-weight: 500; text-transform: uppercase; }

.qcc-calendar th,
.qcc-calendar td {
    border: 1px solid;
    border-color: #dddddd;
    text-align: right;
    padding: 8px;
}
.qcc-calendar tr:nth-child(odd) {
    background-color: rgb(0 0 0 / 5%);
}

.qcc-event { cursor: pointer; position: relative; }


.qcc-event:after {
    top: 0;
    display: block;
    content: '';
    height: 8px;
    right: 0;
    position: absolute;
    width: 8px;
    clip-path: polygon(0 0, 100% 100%, 100% 0);
}


.qcc-btn-prev, .qcc-btn-next { font-size: 22px; line-height: 1; margin: -16px; position: absolute; top: 50%; padding: 8px; }
.qcc-btn-prev:hover, .qcc-btn-next:hover { text-decoration: none !important; }
.qcc-btn-prev { left: 30px; }
.qcc-btn-next { right: 35px; }

.qcc-list { margin-top: 20px; }

.qcc-close { float: right; margin: -16px -16px 0 0; }

.qcc-day-event { width: 100%; padding: 24px; margin-bottom: 24px; display: none; text-align: left; border-radius: 3px; }
.qcc-day-event p { padding: 0 0 16px 0; }
.qcc-day-event-date { margin: 10px 0; font-size: smaller; }

.qcc-calendar-container .qcc-calendar tbody td.active,
.qcc-calendar-container .qcc-day-event {
    background-color: rgba(0, 0, 0, 0.15);
}
.qcc-calendar-container .qcc-current-day,
.qcc-calendar-container .qcc-btn-prev:hover,
.qcc-calendar-container .qcc-btn-next:hover {
    color: #f9f9f9;
}
.qcc-calendar-container .qcc-event.qcc-current-day:after {
    background-color: #f9f9f9;
}
.qcc-calendar-container .qcc-btn-prev:hover,
.qcc-calendar-container .qcc-btn-next:hover {
    background-color: #cbd1d2;
}

.qcc-form input[type="text"],
.qcc-form input[type="date"],
.qcc-form input[type="submit"],
.qcc-form input[type="datetime"],
.qcc-form textarea {
    width: 100%;
    font-family: inherit;
    font-size: inherit;
    padding: 8px;
    border: 1px solid lightgray;
    border-radius: 3px;
}
.qcc-form input[type="submit"] {
    padding: 8px 8px;
    width: 100%;
}
.qcc-form input[type="submit"]:hover {
    padding: 8px;
    border: 1px solid gray;
}
.qcc-form fieldset {
    margin: 2px 0;
    padding: 0;
}

.qcc-label {
    line-height: 1;
    font-size: 12px;
    text-align: left;
    color: #ffffff;
    display: block;
    padding: 4px;
    border-radius: 2px;
    margin: 2px;
}
.qcc-calendar-container .qcc-calendar tbody td:hover .qcc-label {
    background-color: #000000;
}


/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
/* STYLES GO HERE */
}

/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
/* STYLES GO HERE */
}

/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
/* STYLES GO HERE */
}

/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
/* STYLES GO HERE */
}

/* iPads (landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {
/* STYLES GO HERE */
}

/* iPads (portrait) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : portrait) {
/* STYLES GO HERE */
}

/* Desktops and laptops ----------- */
@media only screen
and (min-width : 1224px) {
/* STYLES GO HERE */
}

/* Large screens ----------- */
@media only screen
and (min-width : 1824px) {
/* STYLES GO HERE */
}

/* iPhone 5 (portrait & landscape)----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 568px) {
/* STYLES GO HERE */
}

/* iPhone 5 (landscape)----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 568px)
and (orientation : landscape) {
/* STYLES GO HERE */
}

/* iPhone 5 (portrait)----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 568px)
and (orientation : portrait) {
/* STYLES GO HERE */
}