.noise-calendar {
    padding : 10px;
}

.noise-calendar .noise-calendar-header {
    display: flex;
    font-size: 13px;
    line-height : 23px;
}

.noise-calendar .noise-calendar-header div:first-child,.noise-calendar .noise-calendar-header div:last-child {
    line-height : 20px;
}


.noise-table-calendar {
    padding : 8px;
    padding-top : 3px;
    border-spacing: 3px;
    border-collapse: separate;
}

.noise-table-calendar::before {
    content :  '';
    border-style: solid;
    border-width: 1px;
    margin-top : -9px;
    height : 3px;
    position: absolute;
    left : 0;
    right : 0;
}


.noise-table-calendar td {
    text-align: center;
    font-size: 13px;
    padding: 2px;
    font-weight: bold;
    margin : 3px;
}

.noise-table-calendar th {
    text-align: center;
    font-size: 13px;
    padding: 2px;
    padding-top : 0;
    padding-bottom : 10px;
    text-transform: uppercase;
    margin : 3px;
}

.noise-table-calendar tr {
    border-style: solid;
    border-width: 1px;
}


/* ==================== *
 * ## Event Calender ## 
 * ==================== */

.event-calendar-container { flex-direction: row; }
.event-calendar-container .calendar-news-items,
.event-calendar-container .casper-calendar-component {
    flex: 50% 0;
}

.event-calendar-container .calendar-news-items { order: 0; }
.event-calendar-container .casper-calendar-component  { order: 1; }

.casper-calendar-component .pika-single {
    background: transparent;
    border-width: 0px;
    font-family: 'Lato', sans-serif;
}

.casper-calendar-component .pika-lendar { padding: 0; }

.casper-calendar-component .pika-title { height: 40px; }

.casper-calendar-component .pika-title .pika-label {
    background-color: transparent;
    font-weight: normal;
    line-height: 40px;
    padding: 0 3px;
}

.casper-calendar-component .pika-next,
.casper-calendar-component .pika-prev {
    background-image: none;
    height: 100%;
    margin: 0;
    opacity: 1;
    position: absolute;
    top: 0;
    width: 40px;
}

.casper-calendar-component .pika-next { right: 0; }
.casper-calendar-component .pika-prev { left: 0; }

.casper-calendar-component .pika-next svg,
.casper-calendar-component .pika-prev svg {
    height: 100%;
    left: 0;
    padding: 14px;
    pointer-events: none;
    position: absolute;
    stroke-width: 6px;
    top: 0;
    width: 100%;
}

.casper-calendar-component .pika-table {
    border-collapse: separate;
    border-spacing: 3px;
    padding: 0 7px 21px 7px;
    position: relative;
}
.dropdown-component .casper-calendar-component .pika-table { padding-bottom: 7px; }

.casper-calendar-component .pika-table:before {
    border-style: solid;
    border-width: 0 0 1px 0;
    content: "";
    height: 31px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.casper-calendar-component .pika-table thead tr { height: 31px; }
.casper-calendar-component .pika-table th {
    font-size: 13px;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
    vertical-align: top;
}

.casper-calendar-component .pika-table .pika-button {
    border-radius: 0 !important;
    font-size: 13px;
    font-weight: bold;
    position: relative;
    text-align: center;
}

.casper-calendar-component.enabled-dates .pika-table td.is-selected .pika-button,
.casper-calendar-component.period-calendar.period-idle .pika-table .pika-button { cursor: default; }

.casper-calendar-component .pika-table .is-selected .pika-button { box-shadow: none; }
.casper-calendar-component:not(.period-idle) .pika-table .pika-button:hover { opacity: 1; }
.casper-calendar-component.enabled-dates .pika-table .is-disabled .pika-button { opacity: 1; }


.casper-calendar-component .pika-table .is-inperiod:not(.is-endperiod) .pika-button:after,
.casper-calendar-component .pika-table .is-startperiod + .is-endperiod .pika-button:before,
.casper-calendar-component .pika-table .is-startperiod + .is-inperiod .pika-button:before {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    width: 3px;
}
.casper-calendar-component .pika-table .is-startperiod + .is-endperiod .pika-button:before,
.casper-calendar-component .pika-table .is-startperiod + .is-inperiod .pika-button:before {
    right: 100%;
}
.casper-calendar-component .pika-table .is-inperiod:not(.is-endperiod) .pika-button:after { left: 100%; }

.casper-calendar-component .pika-table .is-startperiod .pika-button {
    border-bottom-left-radius: 50% !important;
    border-top-left-radius: 50% !important;
}
.casper-calendar-component .pika-table .is-endperiod .pika-button {
    border-bottom-right-radius: 50% !important;
    border-top-right-radius: 50% !important;
}


.casper-calendar-component .button-container {
    border-style: solid;
    border-width: 1px 0 0 0;
    float: left;
    padding: 7px;
    position: relative;
    width: 100%;
}
.casper-calendar-component .button-container + .button-container {
    border-width: 0px;
    padding-top: 0px;
}

.casper-calendar-component .calendar-button,
.casper-calendar-component .calendar-button .label {
    float: left;
    position: relative;
}

.casper-calendar-component .calendar-button {
    height: 30px;
    min-width: 20%;
    padding: 0 7px;

    transition: padding .33s, width .33s;
    -webkit-transition: padding .33s, width .33s;
}

.casper-calendar-component .calendar-button .label {
    font-weight: bold;
    font-size: 12px;
    height: 100%;
    line-height: 30px;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

.casper-calendar-component .period-clear-button .icon {
    float: left;
    height: 100%;
    padding: 8px;
    position: relative;
    stroke-width: 6px;
    width: 100%;
}

.casper-calendar-component.trigger-active .role-trigger,
.casper-calendar-component .calendar-button.period-mode-button,
.casper-calendar-component .period-clear-button {
    cursor: pointer;
}

.casper-calendar-component.period-from .period-mode-button.role-period-from,
.casper-calendar-component.period-upto .period-mode-button.role-period-upto,
.casper-calendar-component.trigger-inactive .role-trigger {
    cursor: default;
}

.casper-calendar-component .period-mode-button.role-period-upto { float: right; }

.casper-calendar-component.trigger-active .role-trigger .label { opacity: 1; }
.casper-calendar-component.trigger-inactive .role-trigger .label { opacity: .5; }

.casper-calendar-component .calendar-button.period-mode-button { width: 50%; }
.casper-calendar-component.period-active .calendar-button.period-mode-button { width: 40%; }

.casper-calendar-component .calendar-button.period-clear-button {
    left: 50%;
    min-width: 0%;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 0%;

    transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
}
.casper-calendar-component.period-active .calendar-button.period-clear-button {
    padding: 0 7px;
    width: 20%;
}


/* ======================== *
 * ## Calendar Newsitems ##
 * ======================== */

.calendar-news-items {
    padding-bottom: 24px;
    position: relative;
}

.calendar-news-items .news-item-container {
    float: left;
    height: 100%;
    padding-bottom: 40px;
    padding-top: 50px;
    position: relative;
    width: 100%;
}

.calendar-news-items .news-item-container .content-container,
.calendar-news-items .news-item-container .content,
.calendar-news-items .swiper-container,
.calendar-news-items .swiper-wrapper,
.calendar-news-items .news-item-container .title {
    float: left;
    position: relative;
    width: 100%;
}

.calendar-news-items .news-item-container .content-container,
.calendar-news-items .swiper-container,
.calendar-news-items .swiper-wrapper {
    height: 100%;
}

.calendar-news-items .news-item-container .content,
.calendar-news-items .news-item-container .title {
    font-weight: 700;
}

.calendar-news-items .news-item-container .content-container {
    overflow: hidden;
    padding: 0 16px;
}

.calendar-news-items .news-item-container .content {
    font-size: 18px;
    line-height: 22px;
    margin-top: 8px;
}

.calendar-news-items .news-item-container .content iframe,
.calendar-news-items .news-item-container .content img,
.calendar-news-items .news-item-container .content table {
    display: none !important;
}

.calendar-news-items .news-item-container .title {
    font-size: 12px;
    line-height: 15px;
}

.calendar-news-items .news-item-container a.read_more {
    bottom: 0;
    left: 0;
    position: absolute;
}

.calendar-news-items .control-bar {
    bottom: 0px;
    left: 0;
    height: 30px;
    position: absolute;
    width: 100%;
    z-index: 2;
}

.calendar-news-items .control-bar .swiper-button-container,
.calendar-news-items .control-bar .swiper-button {
    float: left;
    height: 100%;
    position: relative;
}

.calendar-news-items .control-bar .swiper-button {
    cursor: pointer;
    padding: 8px 0;
    width: 20px;

    transition: background-color .25s, width .25s;
    -webkit-transition: background-color .25s, width .25s;
}
.calendar-news-items .control-bar .swiper-button-disabled,
.calendar-news-items .swiper-container.swiper-no-slides .control-bar .swiper-button { width: 0; }

.calendar-news-items .control-bar .swiper-button .icon {
    height: 100%;
    float: left;
    position: relative;
    stroke-width: 5px;
    width: 100%;
}

.calendar-news-items .control-bar .news-item-next { float: right; }

.calendar-news-items .control-bar .role-read-more,
.calendar-news-items .control-bar .swiper-pagination-container {
    float: left;
    height: 100%;
    position: relative;
}
.calendar-news-items .control-bar .role-read-more,
.calendar-news-items .control-bar .role-swiper-pagination {
    font-size: 13px;
    line-height: 30px;
    padding: 0 10px;
}
.calendar-news-items .control-bar .role-read-more {
    cursor: pointer;
    max-width: 100px;
    overflow: hidden;

    transition: background-color .25s, max-width .33s, padding .33s;
    -webkit-transition: background-color .25s, max-width .33s, padding .33s;
}
.calendar-news-items .control-bar .role-swiper-pagination {
    bottom: 0;
    cursor: default;
    width: auto;
}

.calendar-news-items .control-bar .swiper-pagination-container {
    max-width: 50px;
    overflow: hidden;

    transition: max-width .33s;
    -webkit-transition: max-width .33s;
}
.calendar-news-items.no-data-url .control-bar .role-read-more,
.calendar-news-items .swiper-no-slides .control-bar .swiper-pagination-container,
.calendar-news-items .swiper-single-slide .control-bar .swiper-pagination-container {
    max-width: 0;
}

.calendar-news-items.no-data-url .control-bar .role-read-more { padding: 0; }


/* no slides */
.calendar-news-items .role-no-slides {
   display: none;
   height: 100%;
   overflow: hidden;
   position: absolute;
   width: 100%;
}
.calendar-news-items .swiper-no-slides + .role-no-slides { display: block; }