.min-width-60 { min-width: 60px !important; }
.min-width-80 { min-width: 80px !important; }    
.min-width-100 { min-width: 100px !important; }
.min-width-120 { min-width: 120px !important; }

.display-none { display: none; }
.panel-body.panel-collapsed { display:none; }
.border-top-none { border-top: none !important; }
.no-padding { padding: 0px !important; }
.no-margin { margin: 0px !important; }
.padding0 { padding: 0px; }
.padding2 { padding: 2px; }
.padding5 { padding: 5px; }
.padding10 { padding: 10px; }
.padding-right-10 { padding-right: 10px; }
.padding-right-20 { padding-right: 20px; }
.padding-left-10 { padding-left: 10px; }
.margin-right-10 { margin-right: 10px; }
.margin-top-5 { margin-top: 5px; }
.bold { font-weight: bold; }
.clickable { cursor: hand; cursor: pointer;  }
.TableHeader.text-left { text-align: left; }
.text-bolder { font-weight: 600; }
.no-border-bottom { border-bottom: none !important; }

/* Fixes for the tab strip menu content */
.tab-menu NOBR IMG
{
  display: none;
}

.tab-menu .tMnuBorder
{
  min-width: 1px;
  width: 1px;
  max-width: 1px;
}

.tab-menu .tMnuBack
{
  min-width: 2px;
  width: 2px;
  max-width: 2px;
}
/****************************************/

/* responsive tabs */
.tabs {
    background-color: transparent;
    padding: 0 5px;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

    .tabs div.menu-item {
        background-color: Transparent;
        display: inline-block;
        margin: 10px 0 -1px 5px;
    }

    .tabs a {
        display: block;
        padding: 8px 16px;
        /*text-decoration: none;*/
    }

        .tabs a:hover {
            /*text-decoration: underline;*/
            cursor: hand;
        }

    .tabs div.menu-item.active {
    }

    .tabs .menu-item a.active,
    .tabs .menu-item a.active:hover {
        color: inherit;
        text-decoration: none !important;
        cursor: text !important;
    }

@media (max-width: 769px) {
    .tabs a {
        padding: 8px 15px;
    }
}

.pickClassesGridContainer,
.selector-grid-container
{
    overflow: auto;
    height: 300px;
    width: 100%;
}

.selector-grid-container {
    height: auto;
}

div.ResponsiveButtonHolder {
}

div.ResponsiveButtonHolder .btnSpacer {
    width: 1em;
    display: inline-block;
}

table.ResponsiveButtonHolder td.btnSpacer {
    width: 1em;
}

TABLE.ResponsiveTable.narrow-only,
.ResponsiveTable .narrow-only
{
  display: none;
}

@media screen and (min-width: 721px) {
    .auto-width-wide-only {
        width: auto !important;
        max-width: none !important;
        min-width: 0px !important;
    }
}

.row
{
  margin-right: 0px;
  margin-left: 0px;
}

.control-row
{
  display: block;
  float: none;
}

.control-row:before,
.control-row:after
{
  display: table;
  content: " ";
}

.col-label-control
{
  float: left;
  white-space: nowrap;
  padding: 4px;
}

/* applies the vertical align for the inner div containers using flex layout */
/* SG: flexbox is limited to modern browsers. It doesn't work with the iOS 8.x 
    or android 4.4 browsers
    It is really critical
    so it is replaced with the table-cell display for the inner elements in result
*/
/*
.col-label-control {
    display: flex;
    align-items: center;
}
*/

.col-label
{
  /*float: left;*/
  white-space: nowrap;
  padding-right: 3px;
  display: table-cell;
  vertical-align: middle;
}

.col-control
{
  /*float: left;*/
  white-space: nowrap;
  min-width: 130px;
  display: table-cell;
  vertical-align: middle;
}

.col-button
{
  float: left;
  padding: 4px;
  padding-top: 3px;
}

.col-button INPUT
{
  /*width: 70px;*/
  /*width: 4em;*/
  min-width: 5em;
}

.col-label-control .col-control SELECT
{
   width: 100%;
   max-width: 150px;
}

/* Improved Filters Panel with the selectize DDL controls */
.row.filters-panel {
    width: 100%;
}

.filters-panel[data-filter-count='1'] .col-label-control .col-label {
    display: inline-block;
    min-width: 0 !important;
}

.filters-panel.no-labels .col-label-control .col-label,
.filters-panel .no-labels .col-label-control .col-label {
    display: none;
}

.filters-panel.button-hidden .col-button {
    display: none;
}

.filters-panel {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

    .filters-panel .col-label-control {
        min-width: 200px;
        max-width: 450px;
        width: 100%;
    }

        .filters-panel .col-label-control .col-control {
            display: inline-block;
            width: 100%;
        }

.filters-panel .col-label-control .col-control .txtEditable {
    max-width: none;
}

.filters-panel[data-filter-count='6'] .col-label-control,
.filters-panel[data-filter-count='3'] .col-label-control,
.filters-panel[data-filter-count='2'] .col-label-control,
.filters-panel[data-filter-count='1'] .col-label-control {
    max-width: none;
    width: 33.3%;
}

.filters-panel[data-filter-count='4'] .col-label-control {
    max-width: none;
    width: 25%;
}
.filters-panel[data-filter-count='5'] .col-label-control {
    min-width: 130px;
    max-width: none;
    width: 20%;
}

.txtEditable.selectize-control {
    width: auto;
}

.modal-dialog
{
   width: auto !important;
   max-width: 900px;
   min-width: 300px;

   border-radius: 6px;
}

.modal-header
{
  padding: 10px;
}
.modal-header.TableHeader
{
  text-align: left;
  font-size: 110%;

  -webkit-background-clip: padding-box;
          background-clip: padding-box;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, .2);
  outline: 0;

  -webkit-border-top-left-radius: 6px;
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topleft: 6px;
  -moz-border-radius-topright: 6px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.popover
{
  max-width: 768px;
  min-width: 200px;
}

.popover-footer
{
  padding: 5px;
  padding-bottom: 0px;
}

table.wideEditForm.contactControls td.label,
table.wideEditForm.studentControls td.label {
    white-space: nowrap;
}

.classes2Selector .row.classesFilters .col-label-control:first-child .col-label
{
 min-width: 5.5em;
}

.classSelector .registrantClasses .remove-btn-narrow
{
  display: none;
}

.meetingsSelector .filtersControls .col-label
{
  display: block;
  float: none;    
}

.meetingsSelector .availabilityFilters SELECT
{
  width: auto !important;      
}

.meetingsSelector .availabilityFilters .col-label
{
  float: left;    
}

DIV.meetingsSelector .filtersControls td.filtersContainer
{
  width: auto;    
}

.removeRegistrantLink span.narrow-only {
    display: none;
}

/* MSS-6301
a.register.wide-only {

}

input.register.narrow-only,
input.dropin.narrow-only {
    display: none;
}*/

div.narrow-468-only {
    display: none;
}

@media (max-width: 768px) {
  .col-label-control,
  .col-button
  {
    min-width: 99%;
  }
  
  .col-label
  {
    min-width: 100px !important;    
  }
}

@media (max-width: 468px) {

  .Classes2SelectorGrid tr td
  {
    white-space: normal !important;
  }

  .col-button:before,
  .col-button:after
  {
    display: table;
    content: " ";
  }

  .ResponsiveTable TH.wide-only,
  .ResponsiveTable TD.wide-only
  {
    display: none; 
  }

  .ResponsiveTable TH.narrow-only,
  .ResponsiveTable TD.narrow-only
  {
    display: table-cell; 
  }

  .ui-dialog-buttonpane,
  .modal-footer
  {
    display: none;
  }

  .classSelector .registrantClasses
  {
    width: 100%;
  }

  .classSelector .registrantClasses TR.row-top-spacer,
  .classSelector .registrantClasses TR.row-top-spacer TD
  {
     padding: 0px;
     height: auto !important;	
  }

  .classSelector .registrantClasses TR.row-spacer,
  .classSelector .registrantClasses TR.row-spacer TD
  {
    display: none;
  }

  .classSelector .registrantClasses TR TD.sep
  {
    padding: 0px;
    height: 5px !important;
  }

  .classSelector .registrantClasses TD.remove-btn-wide
  {
    display: none;
  }

  .classSelector .registrantClasses .remove-btn-narrow
  {
    display: block;
    float: right;
  }
}


/* misc */
.clickable{
    cursor: pointer;   
}

#classesSelectorFilters .panel-heading {
  padding: 5px;
  text-align: left;
}

#classesSelectorFilters .panel-body {
  padding: 2px;
}

#classesSelectorFilters .panel-heading span {
	margin-top: 2px;
        margin-right: 2px;
	font-size: 15px;
}

.window-header .close,
.modal-header .close 
{
  font-size: 21px;
  color: #000;
  filter: alpha(opacity=100);
  opacity: 1;
  background-color: #fff;
  border: solid 1px #000;
  padding: 0px;
  margin: 0px;
  margin-top: -2px;
  
  width: 21px;
  height: 21px;
  background-image: url('../img/times.png');
  background-repeat: no-repeat;
  background-position: center center;
  
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.window-header .close
{
  margin-top: -1px;    
}

.window-header .close *,
.modal-header .close *
{
  display: none;    
}

.window-header .close:hover,
.window-header .close:focus,
.modal-header .close:hover,
.modal-header .close:focus {
  color: #fff;
  filter: alpha(opacity=100);
  opacity: 1;
  background-color: #ccc;
}

.feeGridContainer
{
  zoom: 1; 
  overflow: auto; 
  overflow-x: hidden; 
  width: auto; 
  height: 410px;
}

.feeGridContainer .scroller
{
  margin-bottom: 10px;
  overflow: hidden;
}

.dropdown.shopping_cart_container .dropdown-menu {
    min-width: 80px;
}