.panel {
    border: 1px solid #e27d1f;
    color: #000;
}
.panel-heading {
    padding: 0;
    border:0;
}
.panel-title>a, .panel-title>a:active{
    display:block;
    padding:15px;
    color: #e27d1f;
    font-size: 12pt;
    text-decoration:none;
}
.panel-heading  a:before {
    font-family: 'Glyphicons Halflings';
    content: "\e114";
    float: right;
    transition: all 0.5s;
}
.panel-heading.active a:before {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
}

#cat {
    margin: 0 -3px 0 5px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    height: 42px;
}

#searchresults {
    border: 0px solid #ccc;
    margin-top: 10px;
    min-height: 100px;
}

#search_form_container {
    display: inline-block;
    width: 70%;
    margin-top: 15px;
    margin-left: 10px;
}

#searchoptions {
    vertical-align: top;
    display: inline-block;
    width: 25%;
}

#searchoptions input[type="checkbox"] {
    margin: 4px 8px 0;

}

.single_result {
    margin: 0;
    border: 2px solid orange;
    border-radius: 8px;
    min-height: 76px;
}

#search_form_container .dataTable tbody th, table.dataTable tbody td {
    padding: 0;
}
table.dataTable#searchResults tbody th, table.dataTable tbody td {
    padding: 3px 0;
}

input#q {
    height: 42px;
}

#state_container,
#program_tags_container,
#course_tags_container {
    column-count: 2;
}

.option_row {
    height: 20px;
}

#collapse_state .option_row {
    display: inline-block;
}

#collapse_state span {
  display: inline-block;
}

#filter_container_programs .option_row,
#filter_container_courses .option_row{
    display: flex;
    overflow: hidden; /* fix for Firefox */
    break-inside: avoid-column;
    -webkit-column-break-inside: avoid;
}
/*
#searchform select {
    max-width: 100%;
    padding: 11px 10px;
}
#searchform input[type="text"] {
    padding: 12px 10px;
    width: 450px;
    height: 34px;
    margin: 5px 0;
    border: 1px solid #d4d4d4;
    background-color: #f5f5f5;
    border-radius: 0;
    box-shadow: none;
    font-size: 1em;
    line-height: 1;
}
#searchform input[type="button"] {
    padding: 9px 25px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    margin: -3px;
}*/
input[type="submit"]#button_search {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    margin: -3px;
    padding: 14px 45px;
    height: 42px;
}

#filter_container_courses { display: none; }

#clear_filters_container { text-align: right; margin: 5px 0 20px; }

.dataTables_wrapper .dataTables_processing {
    height: 100px;
    margin-left: -50%;
    margin-top: -25px;
    padding-top: 20px;
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
    background-color: red;
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%)
}

.result_title a {
    color: #fff;
    text-decoration: none;
    font-style: normal;
    text-shadow: 1px 1px #b56a0d;
    display: block;
}
.result_title a:before {
    font-family: 'Glyphicons Halflings';
    margin-right:20px;
    color: #fff;
    content: "\e114";
    float: right;
    transition: all 0.5s;
}

.single_result a:before {
    font-family: 'Glyphicons Halflings';
    margin-right:20px;
    color: #fff;
    content: "\e114";
    float: right;
    transition: all 0.5s;
}
.single_result .collapse {
    margin-top: 10px;
    background-color: #fff;
   /* border-radius: 8px;*/
    color: #000;
    padding: 10px 20px;
}

.single_result table {
    width: 100%;
}
.single_result table tbody td.detail_label {
    border-top: 1px solid #cccccc;
    padding: 5px;
    text-align: right;
    vertical-align: top;
    width: 150px;
}

.single_result table tbody td.detail_value {
    border-top: 1px solid #cccccc;
    padding: 5px;
    vertical-align: top;
}
.single_result table tbody {
    /*border-radius: 8px;*/
}
.single_indented {
    border-style: solid;
    border-color: #ddd;
    border-width: 1px 0;
}
.single_subhead {
    padding-left: 30px;
}

.collapse .collapsed_content {
    display: none;
}
.collapse.in .collapsed_content {

}

.single_result_details {
    margin-top: 10px;
}

.values_chosen {
    color: #0038a0;
}

.single_result_heading {
    padding: 5px;
    background: #e27d1f;
    /* cursor: pointer; */
    color: white;
}

.detail_subheading {
    -webkit-box-shadow: 0px 6px 10px -4px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 6px 10px -4px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 6px 10px -4px rgba(0, 0, 0, 0.5);
    background: linear-gradient(to right, #e27d1f, #ffffff);
    padding: 5px;
    margin-top: 5px;
    font-weight: bold;
    color: white;
}


.result_count {
    font-size: 11pt;
    padding: 10px;
    display: inline-block;
}

.resultItem {
    margin-left: 10px;
    display: inline-block;
}

.result_title {
    font-weight: bold;
}

.field {
    margin-top: 4px;
}

.subitem_container {
    border: 1px solid #999;
    margin: 1px 0;
    padding: 3px;
}
.single_result .subitem_container td.detail_label {
    border-top: none;
}
.tag {
    border: 1px solid #888;
    border-radius: 5px;
    padding: 0 5px;
    margin: 1px 3px;
    display: inline-block;
}

/* region tree */
ul.tree {
    padding-left: 0;
}
ul.tree li {
    list-style-type: none;
    position: relative;
}

ul.tree li ul {
    display: none;
}

ul.tree li > div > a.expander:after {
    content: '+';
}

ul.tree li.open > div > a.expander:after {
    content: '-';
}

ul.tree li.open > ul {
    display: block;
}

ul.tree li a {
    color: black;
    text-decoration: none;
}

ul.tree li a:before {
    height: 1em;
    padding:0 .1em;
    font-size: .8em;
    display: block;
    position: absolute;
    left: -1.3em;
    top: .2em;
}

ul.tree li > a:not(:last-child):before {
    content: '+';
}
a.expander {
    font-size: 12pt;
    padding: 0 10px;
}