/* ============================================================
   Skolski kalendar - custom styles (override Bootstrap 3)
   ============================================================ */

/* Wrapper */
.container.kalendar {
    padding-top: 10px ;
}

.container.kalendar h2 {
    /* font-size: 22px ;
    font-weight: 700 ;
    color: #1a3a5c ; */
    /* margin-bottom: 20px ; */
    /* padding-bottom: 10px ; */
    border-bottom: 3px solid #2e7bcf ;

    font-size: 16px ;
    font-weight: 700 ;
    color: #1a3a5c ;
}

/* Tabs */
.container.kalendar .nav-tabs {
    border-bottom: 2px solid #2e7bcf ;
    margin-bottom: 0 ;
}

.container.kalendar .nav-tabs > li > a {
    border-radius: 6px 6px 0 0 ;
    border: 1px solid transparent ;
    color: #2e7bcf ;
    font-weight: 600 ;
    font-size: 13px ;
    padding: 9px 16px ;
    background: transparent ;
    transition: background 0.15s, color 0.15s;
}

.container.kalendar .nav-tabs > li > a:hover {
    background: #e8f1fb ;
    border-color: #c5d9f0 #c5d9f0 transparent ;
    color: #1a3a5c ;
}

.container.kalendar .nav-tabs > li > a:focus,
.container.kalendar .nav-tabs > li > a:active {
    outline: none ;
    box-shadow: none ;
}

.container.kalendar .nav-tabs > li.active > a,
.container.kalendar .nav-tabs > li.active > a:focus,
.container.kalendar .nav-tabs > li.active > a:hover {
    background: #2e7bcf ;
    border-color: #2e7bcf ;
    color: #fff ;
    font-weight: 700 ;
}

/* Tab content area */
.container.kalendar .tab-content {
    border: 1px solid #2e7bcf ;
    border-top: none ;
    border-radius: 0 0 8px 8px ;
    padding: 24px 20px 18px ;
    background: #fff ;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08) ;
}

.container.kalendar .tab-pane h4 {
    font-size: 16px ;
    font-weight: 700 ;
    color: #1a3a5c ;
    /* margin: 0 0 16px ; */
    /* padding-bottom: 8px ; */
    border-bottom: 1px solid #dde6f3 ;
}

/* Summary table */
.container.kalendar .table {
    margin-bottom: 22px ;
    border-radius: 6px ;
    overflow: hidden ;
    font-size: 13.5px ;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06) ;
}

.container.kalendar .table > tbody > tr > td {
    padding: 9px 13px ;
    vertical-align: middle ;
    border-color: #dde6f3 ;
}

.container.kalendar .table > tbody > tr > td:first-child {
    width: 42% ;
    background: #f4f8fd ;
    color: #1a3a5c ;
    font-weight: 600 ;
    white-space: nowrap ;
}

.container.kalendar .table > tbody > tr:hover > td {
    background: #eef4fc ;
}

.container.kalendar .table > tbody > tr:hover > td:first-child {
    background: #dce9f7 ;
}

.container.kalendar .table a {
    color: #2e7bcf ;
    text-decoration: none ;
    font-weight: 600 ;
}

.container.kalendar .table a:hover {
    text-decoration: underline ;
}

/* Panel group */
.container.kalendar .panel-group {
    margin-bottom: 6px ;
}

.container.kalendar .panel-group .panel {
    border: none ;
    border-radius: 6px ;
    margin-bottom: 10px ;
    box-shadow: 0 1px 5px rgba(0,0,0,0.09) ;
    overflow: hidden ;
    transition: box-shadow 0.2s;
}

.container.kalendar .panel-group .panel:hover {
    box-shadow: 0 3px 10px rgba(46,123,207,0.18) ;
}

.container.kalendar .panel-group .panel:hover > .panel-heading {
    background: #e4eef9 ;
}

.container.kalendar .panel-group .panel:has(a:not(.collapsed)):hover > .panel-heading {
    background: #2569b0 ;
}

.container.kalendar .panel-default > .panel-heading {
    background: #f4f8fd ;
    border: none ;
    padding: 0 ;
}

.container.kalendar .panel-heading .panel-title {
    font-size: 13.5px ;
    font-weight: 600 ;
}

.container.kalendar .panel-heading .panel-title a {
    display: block ;
    padding: 10px 36px 10px 14px ;
    color: #1a3a5c ;
    text-decoration: none ;
    position: relative ;
    transition: background 0.15s, color 0.15s;
}

.container.kalendar .panel-heading .panel-title a:hover {
    background: #e4eef9 ;
    color: #2e7bcf ;
}

.container.kalendar .panel-heading .panel-title a:focus,
.container.kalendar .panel-heading .panel-title a:active {
    outline: none ;
    box-shadow: none ;
    text-decoration: none ;
}

.container.kalendar .panel-heading .panel-title a::after {
    content: "\25be" ;
    position: absolute ;
    right: 14px ;
    top: 50% ;
    transform: translateY(-50%) rotate(0deg) ;
    transition: transform 0.2s;
    font-size: 16px ;
    color: #2e7bcf ;
    line-height: 1 ;
}

.container.kalendar .panel-heading .panel-title a.collapsed::after {
    transform: translateY(-50%) rotate(-90deg) ;
}

.container.kalendar .panel-heading .panel-title a:not(.collapsed) {
    background: #2e7bcf ;
    color: #fff ;
}

.container.kalendar .panel-heading .panel-title a:not(.collapsed) .text-muted {
    color: #fff ;
}

.container.kalendar .panel-heading .panel-title a:not(.collapsed)::after {
    color: #fff ;
}

/* Panel body */
.container.kalendar .panel-collapse > .panel-body {
    padding: 12px 16px ;
    font-size: 13.5px ;
    color: #444 ;
    background: #fff ;
    border-top: 1px solid #dde6f3 ;
    min-height: 36px ;
    box-shadow: none ;
}

/* Responsive */
@media (max-width: 600px) {
    .container.kalendar .nav-tabs > li > a {
        font-size: 12px ;
        padding: 7px 9px ;
    }

    .container.kalendar .tab-content {
        padding: 16px 12px ;
    }

    .container.kalendar .table > tbody > tr > td:first-child {
        width: 50% ;
        white-space: normal ;
    }
}