div.ccm-block-page-list-wrapper {
    position: relative;
}

div.ccm-block-page-list-page-entry-horizontal {
    display: table;
    width: 100%;
}

.vendor-pagelist-title {
font-size: 18px;
	line-height: 31px;
	color: #2f2f2f;
	font-weight: bold;
	border-bottom:1px solid #e0e0e0;
	padding-bottom: 5px;
	padding-top:5px;
	margin: 0 0 5px; 
}

.vendor-pagination-title{
    font-size: 16px;
    line-height: 31px;
    color: #2f2f2f;
    font-weight: bold;
    padding-bottom: 2px;
    padding-top: 2px;
    margin: 0 5px 0px;
    cursor: pointer;
}

.vendor-pagination-title.selected{
	color: #3155a5;
}
.vendor-col{
	position: relative;
}
a.vendor{
	color: #3155a5;
	display: block;
	margin-bottom: 5px; 
}
.taxonomy-dropdown{
	display:flex;

}

#taxonomy-topics, #taxonomy-topics option{
	cursor: pointer;
}

.filter-actions-top{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

#double-bar{
    display: flex;
    justify-content: space-around;
    padding: 5px 0;
    margin-bottom: 20px;
}

.search-form-vendors > div.form-group > i {
    position: absolute;
    padding-left:10px;
    top:-2px;
}

.input-search-vendors > input.vendor-search {
    padding-left: 35px;
    border: none;
    width: 250px;
    height: 38px;
	background-color: #f2f2f2;
	border-radius: 4px;
}

.search-form-vendors {
	position: relative;
	z-index: 1;
}

.search-form-vendors div.button {
	position: absolute;
	top: 14px;
	left: 27px;
	z-index: 1;
	padding: 0;
	background: transparent;
	outline: none;
	border: none;
	font-size: 14px;
}

@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; }

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

.icon-search:before {
	content: "";
    position: absolute;
    left: -15px;
    top: -2px;
}

.search-form-vendors i {
	font-family: "icomoon";
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
    color:#2F52A1;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 992px){

	#double-bar{
		overflow-x: scroll;
		justify-content: start;
	}
}

@media screen and (max-width: 600px){

	.filter-actions-top{
		display: block;
		margin-bottom: 1rem;
	}
}

.level-1 > .title {
    color: #32499c;
    font-weight: bold;
    font-size: 18px;
}

.level-1 > .title.last.open {
    border-bottom: unset;
}

.level-2  > .title.open {
    font-weight: bold;
    border-bottom: 1px solid #e0e0e0;
}

.level-3  > .title.open {
    font-weight: bold;
    border-bottom: 1px solid #e0e0e0;
}

.level-3 > .title {
    font-size: 14px;
}

.acd-fltr-op {
    padding-left:15px;
}

.title {
    font-size: 16px;
    padding: 7px 0px;
    border-top: 1px solid #e0e0e0;
	cursor: pointer;
}

.title.last {
    border-bottom: 1px solid #e0e0e0;
}

i.accord-button {
    float: right;
    font: icon;
    font-weight: 800;
}

i.accord-button.contract {
	display:none;
}

.title.open > i.accord-button.expand {
	display:none;
}
.title.open > i.accord-button.contract {
	display:block;
}
.acd-fltr-op {
	display:none;
}

.acd-fltr-op label {
    display: block;
    position: relative;
    padding-left: 25px;
    margin-bottom: 5px;
    cursor: pointer;
    font-size: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Hide the browser's default checkbox */
  .acd-fltr-op label input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
  }
  
  /* Create a custom checkbox */
  .acd-fltr-op > label > span {
    position: absolute;
    top: 5px;
    left: 0;
    height: 15px;
    width: 15px;
    background-color: white;
    border: black 1px solid;
  }
  
  /* On mouse-over, add a grey background color */
  .acd-fltr-op label:hover input ~ span {
	background-color: #e7e7e7;
  }
  
  
  /* Create the checkmark/indicator (hidden when not checked) */
  .acd-fltr-op > label > span:after {
	content: "";
	position: absolute;
	display: none;
  }
  
  /* Show the checkmark when checked */
  .acd-fltr-op label input:checked ~ span:after {
	display: block;
  }
  
  /* Style the checkmark/indicator */
  .acd-fltr-op label span:after {
    left: 1.5px;
    top: 2px;
    width: 10px;
    height: 10px;
    background: #32499c;
  }

  a.collapse-all {
    color:#32499c;
    font-size:16px;
    padding-top:15px;
  }

  .acd-fltr-op > label > div {
	font-weight: initial;
	padding-top:2px;
  }
  .filtered-by {
	background-color: #f2f2f2;
	padding: 15px;
	display:none;
  }
  .filtered-by > .top {
	display:flex;
	justify-content: space-between;
  }
  
  .clear {
    text-decoration: underline;
    color: #32499c;
    text-underline-offset: 2px;
	cursor: pointer;
  }

  .clear:hover {
    font-weight: bold;
  }

  .filter-x {
    color: #32499c;
	font-weight:900;
	cursor:pointer;
	padding-left: 10px;
	font-size: 10px;
  }
  .filtered-name {
	padding-right: 25px;
    text-wrap: nowrap;
  }

  .inner-title {
	max-width:90%;
  }
  .title {
	
    display: flex;
    justify-content: space-between;
  }
  .vendor-status h3 {
    text-align: center;
    font-size: 16px;
  }
  .vendor-status {    
    border-bottom: 2px solid #cbcbcb;
    border-top: 2px solid #cbcbcb;
    padding-top:10px;
    padding-bottom:10px;
  }

  .checkbox-icon {
    width: 25px;
    height: 25px;
    float: left;
  }

  .checkbox-icon.top {
    width: 50px;
    height: 50px;
    float: initial;
    margin: auto;
    display: block;
  }
  

  table.topic-branch th {
    text-align: center;
    padding: 30px;
    cursor: pointer;
    width: 100%;
    height: 92px;
}

table.topic-leaf {
    width: 100%;
}

table.topic-branch {
    width: 100%;
    margin-bottom: 40px;
}

table.topic-branch td {
    width: 25%;
}

table.topic-leaf td {
    width: 20%;
}

table.topic-branch td  div.topic-branch-node, table.topic-leaf td div.leaf-logo {
  border-style: solid;
  border-color: rgb(204, 204, 204);
  border-width: 1px;
}

table.topic-branch td  div.topic-branch-node {
    margin:5px;
    height: 70px;
    cursor: pointer;
    padding: 10px 10px 10px 10px;
}

table.topic-leaf td div.leaf-logo {
    margin: 15px;
    height: 70px;
    overflow:auto;
}

table.topic-leaf td div.leaf-logo img {
    height: 80px;
    margin: auto;
    cursor: pointer;
}

table.topic-branch td div.selected {
    color:white;
    background:#005a9c;
}

table.topic-branch td :hover {
    color:white;
    background:#005a9c;
}

table.topic-leaf th {
    text-align: center;
    border-bottom: 1px solid rgb(241, 241, 241);
    cursor: pointer;
}

table.topic-leaf th div {
    margin-right: 75px;
    margin-left: 75px;
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 18px;
    background-color: rgb(241, 241, 241);
}

div.topic-branch-node div {
    text-align: center;
    position: relative;
    top: 50%;
    transform: translate(0%, -50%);
}

div.topic-branch-node {
    min-width: 137px;
}

.fixed-center
{
    position: fixed;
    top: 152px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 3;
    width: 100%;
    background-color: white;
}

.fixed-center.topic-leaf
{
    top: 243px;
}

th.placeholder {
    display: none;
}

th.placeholder div {
    margin-right: 0px !important;
    margin-left: 0px !important;
}

th.expandable :after {
    content: '';
    font-size: 18px;
    right: 300px;
    position: absolute;
}

th.expandable.expand :after{
    content: 'view all';
}

td.no-rows-found {
    font-size: 20px;
    text-align: center;
}

.tree-vertical {
    margin-top: 10px;
}

.tree-vertical th {
    text-align: center;
}

.tree-vertical th:first-child, .tree-vertical td:first-child {
    padding: 10px 5px 10px 10px;
}

.tree-vertical th:nth-child(2), .tree-vertical td:nth-child(2) {
    padding: 10px 10px 10px 5px;
}

.tree-vertical th {
    background-color: #f6f6f6;
}

.vertical-level-one, .vertical-level-two {
    list-style-type: none;
    padding: 0px 0px 0px 0px;
}

div.level-one {
    min-height: 250px;
}

ul.vertical-level-one , ul.vertical-level-two {
    height: 500px;
    overflow-y: scroll;
    scrollbar-width: thin;
}

.vertical-level-one::-webkit-scrollbar, .vertical-level-two::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #f6f6f6; /* or add it to the track */
}

.vertical-level-one::-webkit-scrollbar-thumb, .vertical-level-two::-webkit-scrollbar-thumb {
    background: #a5a5a5;
}

li.tree-item {
    cursor: pointer;
    padding: 15px 10px;
    font-size: 16px;
    border-bottom: 1px solid #d8d8d8;
    margin-right: 5px;
    position:relative;
}
/* 
li.tree-item::after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
    padding-top: 5px;
    border-bottom: 1px solid #d8d8d8;
} */

li.tree-item.both-selected span {
    background-color: #2a488b;
    padding: 2px 3px 2px 3px;
    display: block;
}

li.tree-item.both-selected span a{
    color: white;
}


li.tree-item div {
    display: contents;
}

.vertical-level-one li:not(.selected):not(.filtered):hover, .vertical-level-two li:not(.selected):not(.filtered):hover {
    color: #337ab7;
    font-weight: bolder;
    background-color: #f6f6f6;
}

li.selected {
    font-size: 17px;
    background-color: #3155A4;
    color:white; 
    cursor:initial;
}

li.filtered {
    font-size: 17px;
    background-color: #3155A4;
    color:white;
}

.vertical-level-one li.filtered:not(.selected):hover, .vertical-level-two li.filtered:not(.selected):hover {
    background-color: #3155A4;
}

a.x-button {
    display: none;
    margin-right: 5px;
    cursor: pointer;
    padding-top: 2px;
    color: white;
}

a.x-button-pop-up {
    display: none;
    z-index: 2;
    position: absolute;
    right: -2px;
    top: 5px;
    font-size: 20px;
    cursor: pointer;
}

li.selected a.x-button {
    display: initial;
    float: right;
}

li.selected a {
    color: white;
    font-size: 15px;
}

table.tree-vertical th {
    font-size: 20px;
}

li.filtered a {
    color: white;
    font-size: 12px;
}

.container {
    max-width: 1370px !important;
}

.topic-tree-right > container {
    max-width: 500px;
}

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

.thinScroll::-webkit-scrollbar-thumb {
    background: #a5a5a5;
}


@media (min-width: 1380px) {
    .container {
        min-width: 1370px !important;
    }
}

a.view-all {
    display: block;
    width: 60px;
    height: 20px;
    cursor: pointer;
}

/* Default view only */

div.tree-buttons button {
    width: 50%;
    border: solid 2px #d8d8d8;
    background-color: #e2e2e2;
    height: 50px;
    font-weight: bold;
    outline: none;
}

div.tree-buttons button.selected {
    background-color: white;
    border: solid 2px #d8d8d8;
    outline: none;
    cursor: initial;
}

div.tree-buttons {
    display: flex;
    padding: 10px 10px 10px 0px;
}

div.tree-buttons.solve {
    padding-right: 0px;
    font-size: 15px;
}

div.tree-buttons.solve button.selected {
    background-color: #e2e2e2;
}

h2.tree-header {
    text-align: center;
    padding-top: 25px;
    padding-bottom: 20px;
    font-size: 22px;
}

h2.tree-header.placeholder {
    font-size: 0px;
    padding-bottom: 0px;
    padding-top: 10px !important;
}

.featuredimage {
    height: 95px;
    margin: auto;
    cursor: pointer;
    background-color: white;
    padding: 10px 0px;
}

.content-right {
    margin-top: 10px;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 850px;
    scrollbar-width: thin;
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    padding-right: 20px;
    gap: 21px;
}

.imageContainer {
    border: solid 1px rgb(204, 204, 204);
    width: 250px;
    vertical-align: top;
    text-align: center;
    position: relative;
    background-color: white;
    cursor:pointer;
    max-height: 268px;
}

.col-md-2 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.topic-tree-right div.leaf-content {
    background-color: #f6f6f6;
    padding:0px 10px 10px 10px;
}

.service-label {
    width:100%;
}

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


.leaf-pop-up {
    position: absolute;
    z-index: 2;
    display: none;
    background-color: #f6f6f6;
}

div.leaf-container.topic-tree-right  {
    padding-top: 35px;
}

div.topic-row {
    height: 96px;
    margin-left: 0px;
}
div.tree-block{
    padding-bottom: 30px;
}

img.tree-spinner {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.col-md-2.tree-col{
    padding-left: 0px !important;
    padding-right: 15px !important;
    width:inherit;
}

div.images-scroll {
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-width: thin;
    margin-top: 15px;
    height:530px;
}


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

div.images-scroll::-webkit-scrollbar-thumb {
    background: #a5a5a5;
}

.entryLogo {
    height: 25px;
    margin-right: 10px;
    padding-bottom: 3px;
    position: absolute;
}

div.scrollable {
    overflow-y:scroll;
}

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

div.scrollable::-webkit-scrollbar-thumb {
    background: #a5a5a5;
}

a.normal-font {
    color: white; 
    display:block;
}

a.normal-font:hover {
    color: white; 
}

/* Use table border within tree content */
.tree-block table td:not(.no-border) {
    border: solid black 1px !important;
}
.centered-content {
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.img-description {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

.tree-right-header{
    padding: 10px 0px 0px 10px;
    margin-left:25px;
    margin-right:10px;
    border-bottom-style: solid;
    border-color: #E7E7E7;
    border-width: thin;
    height: 55px;
  }

  .tree-right-desc{
      padding-top: 10px; 
      margin-left: 25px;
      margin-right: 20px;
      padding-bottom: 10px;
    }

    .tree-right-desc{
        padding-top: 10px; 
        margin-left: 25px;
        margin-right: 20px;
        padding-bottom: 10px;
      }

    .tree-right-header h2{
        line-height: 24px;
        font-size: 24px;
        padding-top: 5px;
      }

.input-search-solve{
	position:relative;
}

.search-form-solve > div.form-group > i {
    position: absolute;
    padding-left:10px;
    top:-2px;
}

.input-search-solve > input.solve-input {
    padding-left: 35px;
    border: none;
    width: 300px;
    height: 38px;
}

.search-form-solve {
	position: relative;
	z-index: 1;
}

.search-form-solve button {
	position: absolute;
	top: 14px;
	left: 27px;
	z-index: 1;
	padding: 0;
	background: transparent;
	outline: none;
	border: none;
	font-size: 14px;
}

@font-face {
	font-family: "icomoon";
	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;
}

.icon-search.solve:before {
	content: "";
    position: absolute;
    left: -15px;
    top: -2px;
}

.search-form-solve i {
	font-family: "icomoon";
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
    color:#2F52A1;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.input-search-solve > input.solve-input::-webkit-input-placeholder {
	color: #2F52A1;
}


.input-search-solve > input.solve-input:-moz-placeholder {
	color: #2F52A1;
}

.input-search-solve > input.solve-input:-ms-input-placeholder {
	color: #2F52A1;
}

.input-search-solve > input.solve-input {
	color: #2F52A1;
}


a.x-button-pop-up.solve{
    right:35px;
    top: 10px;
}

.leaf-pop-up.solve {
    top: 10px;
    height: 570px;
}

.vendor-pagelist-title {
    font-size: 18px;
	line-height: 31px;
	color: #2f2f2f;
	font-weight: bold;
	border-bottom:1px solid #e0e0e0;
	padding-bottom: 5px;
	padding-top:5px;
	margin: 0 0 5px; 
}

.topic-tree-right {
    background-color: #f6f6f6;
    margin-right: 30px;
}

.image-content {
    padding: 10px 0px 0px 0px;
    background: #f6f6f6;
}

.image-content > p {
    height: 48px;
    font-size:14px;
    line-height:16px;
    overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 3; /* number of lines to show */
           line-clamp: 3; 
   -webkit-box-orient: vertical;
   padding: 0px 15px;
   margin: 10px 0px;
   
}
.filter-bottom {
    display: flex;
    flex-wrap: wrap;
}

.image-content > h4 {
   padding: 0px 10px;
   height:44px;
}

.tile-bottom {
    display: flex;
    font-size: 12px;
    line-height: 14px;
    padding: 5px 2px 5px 2px;
    color:#3155A4;    
}
.tile-top {
    display: flex;
    font-size: 20px;
    line-height: 22px;
    padding: 10px 2px 5px 2px;
    color:#3155A4;    
    gap: 15px;
}
.tile-top > div {
    display:block;
}

.tile-top .service-levels{
    height: 35px;
    font-size: 24px;
    display: block;
    margin:auto;
    line-height: 25px;
}

.tile-bottom > div {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.service-levels {
    height: 25px;
    border: solid 2px;
    border-radius: 8px;
    padding: 3px;
    font-weight: 800;
    font-size: 14px;
    text-wrap: nowrap;
}
.leaf-header {
    margin: 0px 45px 20px 15px;
    display: flex;
    justify-content: space-between;
}