.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; }

table.message td {
    width: auto !important;
    display: table-cell;
}

IMG.res-img
{
  width: 100% !important;   
  height: auto !important; 
}

.txtValidator img
{
  min-width: 15px !important;    
}

.txtEditable:not(select):not(textarea) {
    width: 100%;
    max-width: 15.5em;
}

.txtEditable.narrow
{
  width: 10em;  
}

INPUT[type=text].txtEditable.wide {
    max-width: 25em;
}

.txtEditable.narrow.regDOB,
.txtEditable.narrow.dob {
    width: 7.5em;
}

.contactInfoControls .registrationControls,
.txtEditable.registrationControls 
{
  width: 100%;
  max-width: 250px;    
}

INPUT.wide.udf_memo.txtEditable,
TEXTAREA.wide.udf_memo.txtEditable,
INPUT.wide,
TEXTAREA.wide
{
    width: 90%;
    max-width: none;
}

TR.TablePager TABLE TR TD A,
TR.TablePager TABLE TR TD SPAN,
.customPager A,
.customPager SPAN
{
  display: inline-block;
  padding: 2px 7px;    
  margin-left: 5px;
}

.customPager .pageHeader
{
  padding-top: 2px;    
}

.storeCategories
{
  white-space: normal !important;    
}

/*
SG: not sure if it is ok use this style here    
@media screen and (min-width: 721px) {
    .storeCategories {
        width: 25%;
    }
}*/

.ResponsiveTable INPUT.center.res-select
{
  margin: 5px auto;
  display: block;
}

TABLE.ResponsiveTable.narrow-only,
.ResponsiveTable .narrow-only
{
  display: none;
}

DIV.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: 150px;
  display: table-cell;
  vertical-align: middle;
}

.col-button
{
  float: left;
  padding: 4px;
  padding-top: 3px;
}

.col-button INPUT
{
  /*width: 70px;*/
  width: 4em;
}

.col-label-control .col-control SELECT
{
   width: 100%;
   max-width: 150px;
}

.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;
}

.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: 2px;    
}

.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;
}

@media screen and (min-width: 469px) {
    table.wideEditForm.contactControls td.label {
        white-space: nowrap;
    }
}

@media screen and (min-width: 420px) {
    table.wideEditForm.studentControls td.label {
        white-space: nowrap;
    }
}

.regPrices.ResponsiveTable.narrow-only TR TD
{
  width: auto;    
}

.regPrices.ResponsiveTable.narrow-only TR TD.PricesTableHeader
{
   width: 1%;    
   text-align: left;
}

.regPrices.ResponsiveTable.narrow-only TR.itemLastRow TD
{
   border-bottom-width: 2px;
}

.productLine TD .txtEditable,
.product TD .txtEditable
{
  width: auto;
}

.product .fountInContent
{
  padding-left: 2px !important;    
}

.ResponsiveTable.narrow-only .productLine TD.price
{
  width: 90% !important;        
}

.ResponsiveTable.narrow-only .productLine TD.qty
{
  text-align: right;    
}

.ResponsiveTable.narrow-only .productLine TD.qty INPUT
{
  width: 100% !important;
  text-align: left;    
}

.ResponsiveTable.narrow-only .productLine TD.actions
{
  text-align: right !important;    
}

.ResponsiveTable.narrow-only .productLine .PricesTableHeader
{
  text-align: left;
  white-space: nowrap;
}

.shipToPopupControls .modal-dialog
{
  max-width: 450px;    
}

TABLE.ccForm .addressContainer INPUT
{
  width: auto !important;    
  min-width: 200px;
  max-width: 200px;
}

.classSelector .registrantClasses .remove-btn-narrow
{
  display: none;
}

#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;
}

.classesSelector .classesGrid.small-only
{
  min-width: 290px !important;    
  width: 100% !important;    
}

.classesSelector .classesGrid.small-only .rbtLabel.narrow-only
{
  display: inline !important;
}

.classesSelector .classesGrid.small-only TD.st-key
{
  border-right: none;
  border-top: none;
  border-bottom: none;
}
.classesSelector .classesGrid.small-only TD.st-val
{
  border-left: none;
  border-top: none;
  border-bottom: none;
}

.classesSelector .classesGrid .st-head-row
{
  text-align: left;    
}

.classesSelector .classesGrid .st-key
{
  font-weight: bold;    
  width: 1% !important;
  white-space: nowrap;
}

.classesSelector .classesGrid .st-key,
.classesSelector .classesGrid .st-value
{
  text-align: left;   
  padding: 2px !important;     
}

.classes2Selector .row.classesFilters .col-label-control:first-child .col-label
{
  /*min-width: 70px;*/       
  min-width: 5.5em;
}

.classTableGroupTR.st-group .st-group-row HR
{
  display: none;    
}

.classTable.stacktable.small-only .st-key
{
  text-align: left;
  padding-right: 5%;
  padding-left: 5%;
}

@media screen and (min-width: 601px) {
    .classTable.stacktable.small-only .st-key {
        width: 25%;
    }
}

.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;
}

.calendar-close-link
{
  display: block;
  text-align: center;
  padding: 0px;
  font-size: 70%;
  margin-bottom: 5px;
  height: 20px;
  width: 150px;
  max-width: 150px;    
}

.calendar-close-link .glyphicon
{
  top: 0px;    
}

.calendarLink.narrow-only, .calendarLinkHighlighted.narrow-only
{
  margin: 0px;
  padding: 0px;
}

TABLE.subscribe_content
{
  width: auto;
  /*max-width: 300px;*/
  min-width: 250px;
}

TD.subscribe_content
{
  padding-left: 5px;        
  padding-right: 5px;
}

.feeGridContainer
{
  position: relative;

  zoom: 1; 
  overflow: auto; 
  overflow-x: hidden; 
  width: auto; 
}

.feeGridContainer .scroller
{
  margin-bottom: 10px;
  overflow: hidden;
}

a.register.wide-only,
a.dropin.wide-only {
}

input.register.narrow-only,
input.dropin.narrow-only {
    display: none;
}

@media screen and (min-width: 768px)
{
  .feeGridContainer
  {
    height: 410px;
  }
}

.feeGridContainer .TableWithBorders tr td
{
  white-space: normal !important;
}

.productSelector .stiOptValue
{
    max-width: 200px;    
}


@media screen and (min-width: 769px) 
{
   .CalendarTable TR.CalendarHiddenEntriesRow TD.CalendarEntry
   {
     display: none !important;    
   }
}

@media screen and (max-width: 769px) 
{
  .no-padding-xs-plus
  {
    padding: 0px !important;    
  }  

  .padding-xs-plus-right-10 { padding-right: 10px; }
  
  .desc-popup-container
  {
    overflow: hidden !important;
    max-height: 9999px !important;
  }
}

@media screen and (max-width: 767px) 
{
  .no-padding-xs-minus
  {
    padding: 0px !important;    
  }

  DIV.pull-none-xs-minus
  {
    float: none !important;
  }

  .margin-bottom-xs-10 {
    margin-bottom: 10px;
  } 

  .margin-bottom-xs-20 {
    margin-bottom: 20px;
  } 
}

@media screen and (max-width:768px) {
    .rbtOptions .rbtOption:not(:first-child),
    .chkOptions .chkOption:not(:first-child) {
        padding-top: 1em;
    }

    .rbtOptions .rbtOption.with-control-on-row:not(:first-child),
    .chkOptions .chkOption.with-control-on-row:not(:first-child) {
        padding-top: 0.5em;
    }

    /* second level of option tree */
    .rbtOptions .rbtSubOption:not(:first-child),
    .chkOptions .chkSubOption:not(:first-child) {
        padding-top: 0.5em;
    }

    .rbtOptions .rbtSubOption.with-control-on-row:not(:first-child),
    .chkOptions .chkSubOption.with-control-on-row:not(:first-child) {
        padding-top: 0.5em;
    }

  .no-padding-xs
  {
    padding: 0px !important;    
  }

  .col-label-control,
  .col-button
  {
    max-width: 99%;
  }
  
  .col-label
  {
    min-width: 6.3em !important;    
  }
  
  .classCalendarTable.ResponsiveTable .wide-only,
  .CalendarTable.ResponsiveTable .wide-only
  {
    display: none !important;    
  }

  .classCalendarTable.ResponsiveTable .narrow-only,  
  .CalendarTable.ResponsiveTable .narrow-only
  {
    display: block !important;    
  }

    a.register.wide-only,
    a.dropin.wide-only {
        display: none;
    }

    input.register.narrow-only,
    input.dropin.narrow-only {
        display: inline-block;
        *display: block;
    }

  .CalendarTable .CalendarWeekCell,
  .CalendarTable .CalendarWeekCellHighlighted
  {
    vertical-align: top;
  }
  
  .productSelector .stiOptValue
  {
    max-width: 150px;    
  }

  .ccForm .wide-only.copy-primary-contact-info 
  {
      display: none;
  }

  .ccForm td.narrow-only.copy-primary-contact-info 
  {
      display: table-cell;
  }

    /*
        Teacher gallery grid and images
    */
    .teachersPage .teacherTable > tbody > tr > td {
        width: 100% !important;
        max-width:none !important;
        display: block;
    }

    .teachersPage .teacherTable > tbody > tr > td.teacherPhotoTd img {
        margin: 0px auto;
        display: block;
        margin-bottom: 1em;
    }

    .teachersPage #section-main .teacherTable .teacherNameSpan {
        padding-left: 0px !important;
        width: 100% !important;
    }

    .teachersPage #section-main .teacherTable .teacherDescriptionSpan {
        padding-left: 0px !important;
        margin-left: 0px;
    }
}

.visible-720-block
{
  display: none;
}

div.ResponsiveButtonHolder {

}

div.ResponsiveButtonHolder .btnSpacer {
    width: 1em;
    display: inline-block;
}

table.ResponsiveButtonHolder td.btnSpacer {
    width: 1em;
}

@media screen and (min-width: 721px) {
    .auto-width-wide-only {
        width: auto !important;
        max-width: none !important;
        min-width: 0px !important;
    }
}

/*
  Login Box styles update
*/
@media screen and (max-width: 720px) {
    /*
        It fixes the iPhone zooming problems (for landscape mode)
        SG: it also makes the button greater and it is possible a good think for the small devices
      */
    select, textarea,
    input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"],
    input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"],
    input[type="search"], input[type="tel"], input[type="color"],
    input[type="submit"], input[type="button"] {
        font-size: 16px;
    }

  .loginContainer .subHeader
  {
    font-size: 16px !important;
    display: block !important;
    text-align: left; 
  }

  TABLE.loginControls
  {
    margin: 0px auto;
    min-width: 200px;
  }
  
  TABLE.noAccountLoginControls
  {
    min-width: 200px;  
    width: auto !important;
  }

  .noAccountLoginControls TR TD
  {
    text-align: center !important;
  }

  .visible-720-block
  {
    display: block;
  }

  .hidden-720-block
  {
    display: none;
  }

  .cell-as-block-720
  {
    display: block;
    width: auto !important;
  }

  .oldie .cell-as-block-720
  {
    /* Old IE fix */
    float: left;
    clear: both;
  }

  TABLE.ResponsiveTable.loginContainer .wide-only
  {
    display: none !important; 
  }

  .ResponsiveTable.loginContainer .narrow-only
  {
    display: block; 
  }

  TABLE.ResponsiveTable.loginContainer .wide-only
  {
    display: none !important; 
  }
  
  TD.addToCartTD
  {
    text-align: left !important;    
  }

  SELECT { max-width: 300px; width: 100% !important; }
  input.wide { max-width: 300px; width: 100% !important; }


  .classSelection { white-space: normal !important; }

    .product .image {
        text-align: center;
    }

    .product .product-content img {
        float: none !important;
        display: block;
        margin: 0 auto;
    }
}

@media screen and (max-width: 580px) {
  .cell-as-block-580
  {
    display: block;
    width: auto !important;
  }

  .oldie .cell-as-block-580
  {
    /* Old IE fix */
    float: left;
    clear: both;
  }

    .wide-only-580 {
        display: none !important;
    }

    .classesSelector .cell-as-block-580.regIndex
    {
      font-weight: bold;    
    }
}

div.narrow-468-only {
    display: none;
}

@media screen and (max-width: 468px) 
{
    div.narrow-468-only {
        display: block;
    }

  .loginContainer .noAccountSection span.desc-part
  {
    white-space: nowrap;
  }

  INPUT.wide.udf_memo.txtEditable,
  TEXTAREA.wide.udf_memo.txtEditable,
  INPUT.wide,
  TEXTAREA.wide
  {
    width: 15em;
  }

  SELECT.udf_combo
  {
    max-width: 15em;
  }

  .spaceBox.frameContent
  {
    padding-left: 0px;
    padding-right: 0px;    
  }

  .Classes2SelectorGrid tr td
  {
    white-space: normal !important;
  }
  
  .CalendarTable .CalendarEntry
  {
    vertical-align: middle !important;     
  }
  
  .CalendarTable .calendarDayItemResponsive
  {
    float: none !important;    
  }

  .CalendarTable .TableHeader TD
  {
    text-align: center;
  }

  .CalendarTable .CalendarWeekCell,
  .CalendarTable .CalendarWeekCellHighlighted
  {
    white-space: nowrap;
    vertical-align: top;
    text-align: center;
  }
  
  .CalendarTable.ResponsiveTable TR TD
  {
    padding-left: 2px;    
    padding-right: 2px;    
  }

  .col-button:before,
  .col-button:after
  {
    display: table;
    content: " ";
  }
  
  .narrow-right
  {
    float: right;    
  }

  TABLE.ResponsiveTable.wide-only,
  TABLE.ResponsiveTable .wide-only
  {
    display: none !important; 
  }

  TABLE.ResponsiveTable.narrow-only
  {
    display: table;   
  }
  
  .ResponsiveTable .narrow-only
  {
    display: block; 
  }

  .ResponsiveTable TH.narrow-only,
  .ResponsiveTable TD.narrow-only
  {
    display: table-cell; 
  }

  TD.cell-as-block-narrow
  {
    display: block;
    width: auto !important;
  }

  .oldie .cell-as-block-narrow
  {
    /* Old IE fix */
    float: left;
    clear: both;
    width: 100% !important;
  }
  
  .editForm TD.cell-as-block-narrow.label
  {
    padding-top: 5px;    
    padding-bottom: 1px;    
  }
  
  .editForm TD.cell-as-block-narrow.control
  {
     padding-top: 1px;    
  }

  .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;
  }

  .classTable.stacktable.small-only .st-key
  {
    white-space: normal;
  }
  
  TABLE.contactInfoControls TD
  {
    width: 100%;    
  }

  TABLE.contactInfoControls > TBODY > TR > TD + TD
  {
     display: none;     
  }
  TABLE.contactInfoControls TD.cell-as-block-narrow
  {
    display: block;      
  }
  
  .addCouponControls SPAN,
  .addCouponControls INPUT, 
  .addCouponControls A
  { 
      display: block; 
      float: left;
      clear: both;
  }
  
  .shipToPopupControls INPUT[type=text]
  {
    width: 100% !important;    
  }
  
  .paymentProfileListContainer SELECT
  {
    width: 100% !important;          
  }
  
  .registrationTable td.itemPrice
  {
    width: auto !important;    
  }

    TABLE.ccForm INPUT[type=text],
    TABLE.ccForm SELECT,
    TABLE.ccForm .braintree-form-control {
        max-width: 150px;
    }

    TABLE.ccForm .addressContainer INPUT
    {
      width: auto !important;    
      min-width: 150px;
      max-width: 400px;
    }

    TABLE.ccForm .cidContainer .customLink
    {
      display: block;  
    }
    
    .makePayment .paymentAmountContainer INPUT[type=text]
    {
      display: block;
      margin-left: 5px;    
      width: 80% !important;
    }
    
    .makePayment .paymentProfileContainer SELECT,
    .billingProfile .paymentProfileContainer SELECT
    {
      display: block;
      margin-left: 5px;    
      width: 95% !important;
    }
    
    .classesSelector .regIndex
    {
      font-weight: bold;    
    }

    .meetingsSelector .availabilityFilters .col-control {
        padding-left: 1em;
    }
  
  DIV.blog .blogPosts .postBy
  {
    white-space: normal;    
  }
  
  DIV.blogPostComments .commentsModerationEnabled
  {
      margin-top: 5px;
      display: block;    
  }
  
  /* bottom buttons holder */
  TABLE.ResponsiveButtonHolder TR TD
  {
    display: block;
    float: left;
    width: 100% !important;    
    
    padding: 0px;
    
    text-align: left !important;
  }
  
  TABLE.ResponsiveButtonHolder TR TD + TD
  {
    padding-top: 10px;      
  }
  
  TABLE.ResponsiveButtonHolder TR TD.btnDescription
  {
    padding-top: 0px;  
    padding-bottom: 10px;    
  }

  TD.ResponsiveButtonHolder
  {
    padding-top: 5px;  
  }
  
  DIV.ResponsiveButtonHolder INPUT[type=submit],
  DIV.ResponsiveButtonHolder INPUT[type=button],
  TD.ResponsiveButtonHolder  INPUT[type=submit],
  TD.ResponsiveButtonHolder  INPUT[type=button]
  {
    padding: 5px;  
    min-width: 80px;
  }

    div.ResponsiveButtonHolder .btnSpacer {
        display: block;
        width: 100%;
        padding: 10px;
    }
    
    div.ResponsiveButtonHolder INPUT[type=submit],
    div.ResponsiveButtonHolder INPUT[type=button],
    TABLE.ResponsiveButtonHolder TR TD INPUT[type=submit],
    TABLE.ResponsiveButtonHolder TR TD INPUT[type=button] {
        min-width: 200px;
        width: auto !important;
        padding: 5px;

        float: none !important;
    }
  
  TABLE.ResponsiveButtonHolder TR TD.btnSpacer
  {
    display: none;    
  }

  /*
    It fixes the iPhone zooming problems
    SG: it also makes the button greater and it is possible a good think for the small devices
  */
  select, textarea, 
  input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], 
  input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], 
  input[type="search"], input[type="tel"], input[type="color"],
  input[type="submit"], input[type="button"]
  { 
    font-size: 16px;   
  }

  .productSelector > TABLE TR TD
  {
    width: auto !important;    
  }
  .productSelector .captionLabel
  {
    white-space: normal !important;    
  }
  .productSelector .stiOptValue
  {
    width: 120px !important;
    max-width: 120px;    
  }
}

@media screen and (max-width: 400px) 
{
  TR.TablePager TABLE TR TD A,
  TR.TablePager TABLE TR TD SPAN,
  .customPager A,
  .customPager SPAN
  {
    padding: 2px 4px;    
  }

  TABLE.ccForm .addressContainer INPUT
  {
     max-width: 150px;
  }

    .meetingsSelector .availabilityFilters .col-label-control .col-label,
    .meetingsSelector .availabilityFilters .col-label-control .col-control {
        float: none !important;
    }

  A.calendarDayContentBtn 
  {
     width: 28px;
     height: 28px;
     line-height: 26px;
  }

}

@media screen and (max-width: 375px) 
{
  TABLE.MenuButton
  {
    width:140px;
    height:90px;
  }
      
  #content
  {
     padding: 5px;    
  }
  
  .loginControls TD,
  .registrantControls TD
  {
     display: block;
     width: 100% !important;
     height: auto;    
  }

    .existingStudentControls div.rbtOption.existing .studentControlContainer {
        display: block;
        float: none;
        margin-top: 3px;
    }
  
  .registrantControls TD.captionLabel
  {
    padding-top: 5px;
    padding-bottom: 0px;    
  } 

  .ccForm { font-size: 90%; }

  SELECT { max-width: 250px; }
  input.wide { max-width: 250px; }
}


/* keeps images away from menu and shopping cart */
/* SG: commented due to updated logo generation  */
/*.siteTitle IMG
{
  max-width: 70% !important;
}*/

/*******************************************************/
/* stacktable styles */

.stacktable { width: 100%; }
.st-head-row { padding: 5px; }
.st-head-row.st-head-row-main { font-size: 1.5em; padding-top: 0; }
.st-key { width: 49%; text-align: right; padding-right: 1%; }
.st-val { width: 49%; padding-left: 1%; }

TABLE.stacktable.large-only { display: table; }
TABLE.stacktable.small-only { display: none; }

.st-key TABLE.sortTable,
.st-key TABLE.sortTable TR TD
{
  width: auto !important;    
}
.st-key TABLE.sortTable TR TD
{
  border: none !important;    
}

TABLE.st-left-headers.small-only .st-key
{
  text-align: left;    
  font-weight: bold;
}

TABLE.st-left-headers.small-only .st-key,
TABLE.st-left-headers.small-only .st-val
{
  width: auto; 
  padding: 4px !important;
  text-align: left;   
}

TABLE.small-only .sortTable TBODY TR TD:first-child
{
  padding-right: 5px;    
}

TABLE.st-table-no-borders.small-only,
.st-table-no-borders.small-only TD.st-spacer
{
  border: none;    
}

@media screen and (max-width: 768px) {
  TABLE.stacktable.large-only { display: none; }
  TABLE.stacktable.small-only { display: table; }
  
  .st-head-row-main
  {
    display: none;    
  }
}
/*******************************************************/
#header .popover
{
  padding: 0px;    
}

#header .popover-content,
#pageContent .popover-content
{
  background-color: #fff;
  color: #666;
  
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}


div.menuItemL2 TABLE
{
  width: 100%;
  min-width: 200px;
}

@media screen and (min-width: 768px) {
  table.mainMenu.menuHorizontal.wrap-items {
      width: 100%;
  }
  table.mainMenu.menuHorizontal.wrap-items > tbody tr > td {
    display: inline-block;
  }
}

/* 
  Safari for Mac menu fix (issue with the min-width selected used above)
  http://stackoverflow.com/questions/15939775/css-hack-for-safari-5
*/
::i-block-chrome,div.menuItemL2 TABLE {
  display: block; /* makes the min-width start to work */
}
::i-block-chrome,.menuItemL2 A { padding-right: 7px; }
::i-block-chrome,.menuItemL2 A:active { padding-right: 7px; }
::i-block-chrome,.menuItemL2 A:hover { padding-right: 7px; }
::i-block-chrome,.menuItemL2 A:visited { padding-right: 7px; }

@media only print {
  .social-media-icons,
  .print-hidden {
    display: none !important;
  }
}

.dropdown.shopping_cart_container .dropdown-menu {
    min-width: 80px;
}

.shopping-cart-btn-clear {
    display: none;
}

/* Selector grid special styles */
/* narrow screens */
.selector-grid-container .TableWithBorders TR TD {
    white-space: nowrap !important;
}

/* wide screens */
@media screen and (min-width: 768px) {
        .selector-grid-container .TableWithBorders TR TD {
            white-space: normal !important;
        }
}