/*=========== SITE DEFAULTS ==========*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
    height: 100%;
}
body {
    /*for pushlayout class*/
    display: flex;
    flex-direction: column;
    /*might not be needed; never had trouble without them, but define for now.*/
    align-items: center;
    justify-content: flex-start; 
    
    /*this is always defined when using pushlayout but might not be necessary*/
    min-height: 100%;
}
body.preventoverflow {
    overflow:hidden;
}
.pushlayout {
    /*for this to work, body must have
    display: flex;
    flex-direction: column;*/
    
    position: relative;
    flex: 1 0 auto;
}

/*FLEXBOXES*/
.flexbox {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.flexcolumn {
   -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; 
}

.flexrow {
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}
.flexright {
    -webkit-align-items: right;
    -ms-flex-align: right;
    align-items: right;
}
.flexbetween {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.flexaround {
    -webkit-justify-content: space-around;
    -ms-flex-pack: justify;
    justify-content: space-around;
}
.flexeven {
    -webkit-justify-content: space-evenly;
    -ms-flex-pack: justify;
    justify-content: space-evenly;
}

.flexstart {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.flexrowstart {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}
.flexcolumnend {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
}
.flexcolumnstart {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}
.flexfill {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;    
}
.flexbox.flexwrap,
.flexbox-row-center.flexwrap,
.flexbox-row-center-between.flexwrap,
.flexbox-row-center-around.flexwrap,
.flexbox-row-center-ends.flexwrap,
.flexbox-row-center-start.flexwrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/*END FLEXBOX*/


.noselect {
    -webkit-user-select: none;  /* Chrome all / Safari all */
    -moz-user-select: none;     /* Firefox all */
    -ms-user-select: none;      /* IE 10+ */
    user-select: none;          /* Likely future */ 
}

.noevents {
    pointer-events:none;
}

.relative {
    position:relative;
}


/* CUSTOM SELECT DROPDOWN */
.custom-dropdown {
  position: relative;
  display: block;
  vertical-align: middle;
}

.custom-dropdown select {
  padding-top: .7em;
  padding-right: 0;
  padding-bottom: 10px;
  margin: 0;
  text-overflow: '';
  
  background: none;
  border: none;

  /*-webkit-appearance: button;*/ /* hide default arrow in chrome OSX */

    -webkit-appearance: none;
    -moz-appearance: none;
 
}
/*For IE only*/
select::-ms-expand {
    display: none;
}

.custom-dropdown:not(.noimg):after {
  content: "";
  height: 13px;
  right: 9px;
  margin: 0;
  position: absolute;
  top: .9em;
  width: 14px;
  /*image will probably never be available here*/
  background: url(graphics/dropdown-triangle-small@2x.png) no-repeat center center;
  background-size: contain;
}

/* END CUSTOM SELECT DROPDOWN */

/*CLASSES THAT MUST EXIST ON THE TARGET SITE*/
/*fixes behavior when the top margin of a child element
causes the parent to inherit the same margin. This fix
should be placed on the parent*/
.fix-collapse-margin {
    padding-top:1px !important;    
}

a.disabled {
    cursor: default;
}

/*
.clearfix:after { 
   content: " ";
   display: block; 
   height: 0; 
   font-size: 1px;
   line-height: 0px;
   clear: both;
    *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML += '<div class="ie7-clear"></div>' );
}
*/
