div.topic-tree-leaf {
    background-color: rgb(248 248 248);
    position: relative;
    padding: 10px 10px 10px 10px;
}

img.leaf-logo-full {
    display: block;
    margin-left: auto;
    margin-right: auto;
    overflow:auto;
}

div.topic-leaf-left {
    width:40%; 
    float:left;
    padding:0px 20px;
}
div.topic-leaf-left.on-page {
    width:40%; 
    float:left;
    padding:0px 20px;
}
div.topic-leaf-right.on-page {
    float: right;
    width: 60%;
}

div.leaf-reason {
    padding:0px 10px;
    position: relative;
    max-height: 300px;
    overflow-y: scroll;
    scrollbar-width: thin;
}
div.leaf-reason.on-page {
    max-height: unset;
    overflow-y: unset;
}

div.leaf-reason.two-column {
    max-height: 465px;
}

div.leaf-reason::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #f6f6f6; /* or add it to the track */
}

div.leaf-reason::-webkit-scrollbar-thumb {
    background: #a5a5a5;
}
div.leaf-reason::-webkit-scrollbar-track {
    margin-top: 30px;
}
@-moz-document url-prefix() { 
    div.leaf-reason {
        margin-top: 30px;
    }
}

a.back-to-top {
    position: absolute;
    display: none;
    right:25px;
    bottom: 10px;
}

div.topic-tree-dropdown:after {
    font-family: "icomoon";
    position: absolute;
    top: 40%;
    right: 3%;
    line-height: 1;
    font-size: 8px;
    color: #32499c;
    font-weight: 400;
	content: "";
}

div.topic-tree-leaf-filter:hover, ul.topic-tree-list li:hover {
    background-color: rgb(225 225 225);
}  

div.topic-tree-leaf-filter {
    background-color: rgb(248 248 248);
    width: 60%;
    position: relative;
    margin-left: 30px;
}

div.topic-tree-dropdown {
    padding:10px;
    text-align: left;
}

.topic-tree-dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 1;
    text-align: left;
    width:100%;
}
  
.show-dropdown {
    display: block;
}

ul.topic-tree-list::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #f6f6f6; /* or add it to the track */
}

ul.topic-tree-list::-webkit-scrollbar-thumb {
    background: #a5a5a5;
}
ul.topic-tree-list {
    list-style-type:none;
    padding-left: 0px;
    padding-right: 0px;
    overflow-y: scroll;
    max-height: 410px;
    scrollbar-width:thin;
    margin-bottom: 0px;
}
ul.topic-tree-list.on-page {
    overflow-y: unset;
    max-height: unset;
}

ul.topic-tree-list.two-column {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
}

ul.topic-tree-list li {
    display: inline-block;
    width: 100%;
    padding: 10px;
    border-bottom: 2px solid rgb(230 230 230);
    cursor: pointer;
}

ul.topic-tree-list li div a {
    display: block;
    position:relative;
}

ul.topic-tree-list li div a:before {
    content: "\e905";
    position: absolute;
    top: 50%;
    right: 0px;
    font-size: 9px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: icomoon;
    font-weight: 400;
    color: #2e55a5;
}

ul.topic-tree-list li.selected div a:before {
    color: white;
}

ul.topic-tree-list li.selected {
    background-color: #3155A4;
}

ul.topic-tree-list li.selected div a {
    color: white;
}

.row:after {
    content: "";
    display: table;
    clear: both;
}

div.leaf-reason h3 {
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    padding-bottom: 5px;
}

table.tree-vertical tbody tr td {
 vertical-align: top;
}

div.topic-tree-leaf.filtered {
    background-color:  #2a488b;
    color:white;
}

div.leaf-content {
    box-shadow: 10px 10px 5px rgb(204, 204, 204);
    height: 100%;
}
div.leaf-content.on-page {
    box-shadow: unset;
}

.leaf-header {
    padding-top:30px;
    padding-bottom:5px;
    text-align: left;
    font-size: 16px;
    margin-left: 35px;
}

.leaf-header::before {
    content: " ";
    display: block;
    position: absolute;
    height: 90px;
    background: darkgray;
    width: 1px;
    left:41%;
    top:30px;
}

div.leaf-reason li {
    text-indent: -1em;
    padding-left: 1em;
}

.leaf-content > div.topic-leaf-replace{
    padding:0px 10px;
    margin: 10px 0px;
    position: relative;
    max-height: 300px;
    overflow-y: scroll;
    scrollbar-width: thin;
}

.leaf-content > div.topic-leaf-replace::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #f6f6f6; /* or add it to the track */
}

.leaf-content .scroll-content {
    box-shadow: inset -5px -4px 12px -3px rgb(105 105 105 / 16%); 
}

.btn.btn-primary.solve {
    padding: 10px 15px 10px 35px;
    border-radius: initial;
}

@font-face {
	font-family: "icomoon-solve";
	src: url("../../../carahsoft_theme/themes/carahsoft/fonts/icomoon.eot?kz25s0");
	src: url("../../../carahsoft_theme/themes/carahsoft/fonts/icomoon.eot?icomoon.eot?kz25s0#iefix") format("embedded-opentype"), url("../../../carahsoft_theme/themes/carahsoft/fonts/icomoon.ttf?kz25s0") format("truetype"), url("../../../carahsoft_theme/themes/carahsoft/fonts/icomoon.woff?kz25s0") format("woff"), url("../../../carahsoft_theme/themes/carahsoft/fonts/icomoon.svg?kz25s0#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
  
  [class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon-solve' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.btn.btn-primary.solve > a {
    display:inline;
}

i.icon-arr-right:before {
	content: attr(data-icon);
    padding-top: 6px;
    float: right;
    padding-left: 10px;
    font-size: 10px;
}

i.icon-solve-ham:before {
	content: attr(data-icon);
}

.button-col-solve {
    padding-left:20px;
}

.learn-more {
    justify-content: center;
    float: left;
    width: 234px;
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    padding-right:15px;
    display: flex;
    align-items: center;
    height: 100%;
    padding-bottom: 12px;
}

.button-holder {
    height: 70px;
    display: flex;
    padding-top: 10px;
}

.back-to-all {
    margin: auto;
    text-align: center; 
    padding-top:10px; 
    color: #3155A4; 
    font-weight: 700;
    cursor: pointer;
}

.solve-resource-img {
    max-height: 140px;
    max-width: 160px;
    width: auto;
}
.leaf-resources-title {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.leaf-resources-holder {
    display: flex;
    border-top-style: solid;
    border-width: thin;
    border-color: #E7E7E7;
    padding: 10px 15px 20px 15px;
    margin: 20px 15px 0px 15px;
    border-bottom-style: solid;
}

.button-holder.fedramp > div {
    width:25%;
}

.topic-field-holder {
    display:flex; 
    border-left-style: solid;
    justify-content: center;
}

div.topic-field-button {
    width:20% !important;
    border-left-style: solid;
}
.topic-field-button > a {
    float: right;
    padding-top: 13px;
}

.topic-field-holder > div.topic-field-title {
    padding-top: 25px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase; 
    padding-right: 15px;
}

.topic-field-value {
    text-align: center;
    color: #3155A4;
    font-size: 12px;
    font-weight: 700; 
    line-height: 10px;
}

.button-border {
    border-top-style:solid;
    position: absolute;
    left: 10px;
    right: 10px;
}

.leaf-content div{
    border-color:#E7E7E7; 
    border-width:thin;
}
.leaf-buttons-holder {
    height:70px; 
    margin:0px 15px; 
    border-bottom-style:solid; 
}

.leaf-buttons-holder.no-resources {
    margin-top:15px;
    border-top-style:solid; 
}

.btn.btn-primary.solve a:hover, .btn.btn-primary.solve a:focus, .btn.btn-primary.solve a:active {
    text-decoration: none;
    color: inherit;
}

div.button-holder > div > a {
    display: block;
    height: 100%;
}

div.button-holder > div.first {
    margin: 0 auto 0 0;
}

div.button-holder > div.last {
    margin: 0 0 0 auto;
}

div.button-holder > div.middle {
    margin: 0 auto;
}

div.active-status-holder {
    border-left-style: solid;
    border-left-color: #E7E7E7;
    border-width: thin; width:33%; 
}

div.active-status-text-holder {
    float: left;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    width: 60%;
    display: flex;
    text-align: center;
}

div.active-status-text {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
}
div.active-status-caption {
    text-align: center; 
    line-height: 5px; 
    color: #3155A4;
    font-weight: 700;
}