.SumoSelect * { box-sizing: border-box; }
.SumoSelect { width: 100%; display: inline-block;  position: relative; outline:none; }

.SumoSelect p { margin: 0; }
.SelectBox { padding: 11px 11px 11px 11px; height:44px; }
.sumoStopScroll { overflow:hidden; }

.SumoSelect .hidden { display:none; }
.SumoSelect .search-txt{ display:none; outline:none; }
.SumoSelect .search-txt::-webkit-search-cancel-button{ color:red; }

.SumoSelect .no-match{ display: none; padding: 11px 11px; font-size: 13px; line-height: 19px; }
.SumoSelect.open .search-txt{ display: inline-block; position: absolute; top: 0; bottom: 1px; left: 0; width: 100%; margin: 0; padding: 11px 11px 11px 11px; border: none; border-radius: 4px; border: 1px solid transparent;}
.SumoSelect.open > .search > span, 
.SumoSelect.open > .search > label{ visibility:hidden; }

.SelectClass, .SumoUnder { position: absolute; top: 0; left: 0; right: 0; height: 100%; width: 100%; border: none; opacity: 0; }
.SelectClass { z-index: 1; }

.SumoSelect > .optWrapper > .options  li.opt label,
.SumoSelect > .optWrapper > .options  li.opt span, 
.SumoSelect > .CaptionCont { user-select: none; -o-user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; }

.SumoSelect:hover > .CaptionCont { background-color:#f2f2f2; border-color: #999; color: #555; }
.SumoSelect:focus > .CaptionCont { background-color:#fff; border-color: #999; color: #333; outline: 0 none !important; }
.SumoSelect.open  > .CaptionCont { background-color:#fff; border-color: #999; color: #333;}
.SumoSelect > .CaptionCont { background-color: #f2f2f2; border: 1px solid; border-color: #d9d9d9; color:#555; font-size: 14px; line-height: 20px; min-height: 14px; border-radius: 4px; margin:0; position: relative; }
.SumoSelect > .CaptionCont { -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

.SumoSelect > .CaptionCont > span:first-of-type { display: block; padding-right: 20px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; cursor:default; }
.SumoSelect > .CaptionCont > span.placeholder { color: #666; font-style: italic; }
 
.SumoSelect > .CaptionCont > label { position: absolute; top: 0; right: 0; bottom: 0; width: 30px;}
.SumoSelect > .CaptionCont > label > i { width: 16px; height: 16px; opacity: 0.8; display: block; position: absolute; top: 1px; left: 0; right: 0; bottom: 0; margin: auto; }
.SumoSelect > .CaptionCont > label > i:after { font-size: 14px; line-height:18px; font-family: 'Font Awesome 6 Free'; content: "\f078"; font-weight:900; text-align:center; position: absolute; margin: auto; right: 0; left: 0; top: 0; bottom: 0; width: 16px; height:16px; font-style:normal; }

/* .SumoSelect > .CaptionCont > span:last-of-type { position: absolute; top: 0; right: 0; bottom: 0; width: 30px;} */
.SumoSelect > .CaptionCont > span:last-of-type > i { width: 16px; height: 16px; opacity: 0.8; display: block; position: absolute; top: 1px; left: 0; right: 0; bottom: 0; margin: auto; }
.SumoSelect > .CaptionCont > span:last-of-type > i:after { font-size: 14px; line-height:18px; font-family: 'Font Awesome 6 Free'; content: "\f078"; font-weight:900; text-align:center; position: absolute; margin: auto; right: 0; left: 0; top: 0; bottom: 0; width: 16px; height:16px; font-style:normal; }

.SumoSelect > .optWrapper { display:none; z-index: 1000; top:calc(100% + 1px); width: 100%; position: absolute; left: 0; background: #fff; border: 1px solid #ddd; box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.11); border-radius: 4px; overflow: hidden; }
.SumoSelect.open > .optWrapper { top:calc(100% + 1px); display:block; }
.SumoSelect.open > .optWrapper.up { top: auto; bottom: 100%; margin-bottom: 5px;}

.SumoSelect > .optWrapper ul { list-style: none; display: block; padding: 0; margin: 0; overflow: auto;}
.SumoSelect > .optWrapper > .options { border-radius: 4px; position:relative; max-height: 280px; }

.SumoSelect > .optWrapper > .options li label { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; cursor: pointer;}
/* .SumoSelect > .optWrapper > .options li span { display: none; } */
.SumoSelect > .optWrapper > .options li span { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; cursor: pointer;}

.SumoSelect > .optWrapper > .options  li.opt { font-size: 13px; line-height: 19px; padding: 6px 11px; position: relative; border-bottom: 1px solid #eee;}
.SumoSelect > .optWrapper > .options > li.opt:first-child { border-radius: 4px 4px 0 0; }
.SumoSelect > .optWrapper > .options > li.opt:last-child { border-radius: 0 0 4px 4px; border-bottom: none;}
.SumoSelect > .optWrapper > .options li.opt:hover { background-color: #e4e4e4; }
.SumoSelect > .optWrapper > .options li.opt.selected {color: #333; background: #f5f5f5; font-weight:700; }

.SumoSelect > .optWrapper > .options li.opt.disabled { background-color: inherit; pointer-events: none; }
.SumoSelect > .optWrapper > .options li.opt.disabled * { opacity: 0.5; }

.SumoSelect > .optWrapper > .options li.opt.sel { background-color: #eee; }


/* Multiselect Checkboxes */
.SumoSelect > .optWrapper.multiple > .options li.opt {
  display:flex;
  cursor:pointer;
}
.SumoSelect > .optWrapper.multiple > .options li span:last-child {
  flex:1;
}
.SumoSelect > .optWrapper.multiple > .options li span:first-child {
  width:19px;
  height:19px;
  margin: 0 10px 0 0;
  position: relative;
}
.SumoSelect > .optWrapper.multiple > .options li span:first-child i {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 19px;
  height: 19px;
  border-radius: 4px;
  border: 1px solid #ccc;
  background-color: #eee;
}
.SumoSelect > .optWrapper.multiple > .options li.opt.selected span:first-child i {
  border: 1px solid #222;
  background:#555;
}
.SumoSelect > .optWrapper.multiple > .options li.selected span:first-child i:after  {
  position:absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  margin:auto;
  width: 17px;
  height: 17px;
  line-height:11px;
  font-size:11px;
  display:flex;
  justify-content:ceter;
  align-items:center;
  content: "\f00c";
  font-family: 'Font Awesome 6 Free'; 
  font-weight:900;
  color:#fff;
}

/* Buttons OK & Cancel */
.SumoSelect > .optWrapper > .MultiControls { 
  display: none; 
  border-top: 1px solid #ddd; 
  background-color: #f5f5f6; 
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.0); 
  border-radius: 0 0 4px 4px; 
}
.SumoSelect > .optWrapper.multiple.isFloating > .MultiControls { 
  display: block; 
  margin-top: 5px; 
  position: absolute; 
  bottom: 0; 
  width: 100%; 
}
.SumoSelect > .optWrapper.multiple.okCancelInMulti > .MultiControls { 
  display: flex;
  justify-content:center;
  align-items:center; 
  padding: 5px;
}
.SumoSelect > .optWrapper.multiple.okCancelInMulti > .MultiControls > p { 
  flex:1;
  margin: 5px; 
}
.SumoSelect > .optWrapper.multiple > .MultiControls > p { 
  background-color:#f4f4f4;
  font-size:12px;
  line-height:16px;
  font-weight:700;
  text-transform:uppercase;
  cursor: pointer; 
  padding: 7px 5px; 
  text-align: center; 
  border-radius:8px;
  outline:none !important;
}
.SumoSelect > .optWrapper.multiple > .MultiControls > p.btnOk { 
  color: #fff;
  background:#222;
  border: 1px solid #222;
}
.SumoSelect > .optWrapper.multiple > .MultiControls > p.btnCancel { 
  color: #333;
  background:#ddd;
  border: 1px solid #ddd;
}
.SumoSelect > .optWrapper.multiple > .MultiControls > p:hover { 
  text-decoration:none;
  opacity:0.8;
}
.SumoSelect > .optWrapper.multiple.okCancelInMulti > .MultiControls > p:focus {
  text-decoration:none;
  opacity:0.8;
}

/*disabled state*/
.SumoSelect.disabled { opacity: 0.5;cursor: not-allowed;}
.SumoSelect.disabled > .CaptionCont{border-color:#ccc;box-shadow:none;}