info@54: // info@54: // Panels info@54: // -------------------------------------------------- info@54: info@54: info@54: // Base class info@54: .panel { info@54: margin-bottom: @line-height-computed; info@54: background-color: @panel-bg; info@54: border: 1px solid transparent; info@54: border-radius: @panel-border-radius; info@54: .box-shadow(0 1px 1px rgba(0,0,0,.05)); info@54: } info@54: info@54: // Panel contents info@54: .panel-body { info@54: padding: 15px; info@54: .clearfix(); info@54: } info@54: info@54: info@54: // List groups in panels info@54: // info@54: // By default, space out list group content from panel headings to account for info@54: // any kind of custom content between the two. info@54: info@54: .panel { info@54: > .list-group { info@54: margin-bottom: 0; info@54: info@54: .list-group-item { info@54: border-width: 1px 0; info@54: info@54: // Remove border radius for top one info@54: &:first-child { info@54: .border-top-radius(0); info@54: } info@54: // But keep it for the last one info@54: &:last-child { info@54: border-bottom: 0; info@54: } info@54: } info@54: } info@54: } info@54: // Collapse space between when there's no additional content. info@54: .panel-heading + .list-group { info@54: .list-group-item:first-child { info@54: border-top-width: 0; info@54: } info@54: } info@54: info@54: info@54: // Tables in panels info@54: // info@54: // Place a non-bordered `.table` within a panel (not within a `.panel-body`) and info@54: // watch it go full width. info@54: info@54: .panel { info@54: > .table, info@54: > .table-responsive > .table { info@54: margin-bottom: 0; info@54: } info@54: > .panel-body + .table, info@54: > .panel-body + .table-responsive { info@54: border-top: 1px solid @table-border-color; info@54: } info@54: > .table > tbody:first-child th, info@54: > .table > tbody:first-child td { info@54: border-top: 0; info@54: } info@54: > .table-bordered, info@54: > .table-responsive > .table-bordered { info@54: border: 0; info@54: > thead, info@54: > tbody, info@54: > tfoot { info@54: > tr { info@54: > th:first-child, info@54: > td:first-child { info@54: border-left: 0; info@54: } info@54: > th:last-child, info@54: > td:last-child { info@54: border-right: 0; info@54: } info@54: info@54: &:last-child > th, info@54: &:last-child > td { info@54: border-bottom: 0; info@54: } info@54: } info@54: } info@54: } info@54: > .table-responsive { info@54: border: 0; info@54: margin-bottom: 0; info@54: } info@54: } info@54: info@54: info@54: // Optional heading info@54: .panel-heading { info@54: padding: 10px 15px; info@54: border-bottom: 1px solid transparent; info@54: .border-top-radius(@panel-border-radius - 1); info@54: info@54: > .dropdown .dropdown-toggle { info@54: color: inherit; info@54: } info@54: } info@54: info@54: // Within heading, strip any `h*` tag of it's default margins for spacing. info@54: .panel-title { info@54: margin-top: 0; info@54: margin-bottom: 0; info@54: font-size: ceil((@font-size-base * 1.125)); info@54: color: inherit; info@54: info@54: > a { info@54: color: inherit; info@54: } info@54: } info@54: info@54: // Optional footer (stays gray in every modifier class) info@54: .panel-footer { info@54: padding: 10px 15px; info@54: background-color: @panel-footer-bg; info@54: border-top: 1px solid @panel-inner-border; info@54: .border-bottom-radius(@panel-border-radius - 1); info@54: } info@54: info@54: info@54: // Collapsable panels (aka, accordion) info@54: // info@54: // Wrap a series of panels in `.panel-group` to turn them into an accordion with info@54: // the help of our collapse JavaScript plugin. info@54: info@54: .panel-group { info@54: // Tighten up margin so it's only between panels info@54: .panel { info@54: margin-bottom: 0; info@54: border-radius: @panel-border-radius; info@54: overflow: hidden; // crop contents when collapsed info@54: + .panel { info@54: margin-top: 5px; info@54: } info@54: } info@54: info@54: .panel-heading { info@54: border-bottom: 0; info@54: + .panel-collapse .panel-body { info@54: border-top: 1px solid @panel-inner-border; info@54: } info@54: } info@54: .panel-footer { info@54: border-top: 0; info@54: + .panel-collapse .panel-body { info@54: border-bottom: 1px solid @panel-inner-border; info@54: } info@54: } info@54: } info@54: info@54: info@54: // Contextual variations info@54: .panel-default { info@54: .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border); info@54: } info@54: .panel-primary { info@54: .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border); info@54: } info@54: .panel-success { info@54: .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border); info@54: } info@54: .panel-warning { info@54: .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border); info@54: } info@54: .panel-danger { info@54: .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border); info@54: } info@54: .panel-info { info@54: .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border); info@54: }