/*=========== SITE DEFAULTS ==========*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html.w-mod-touch * {
  background-attachment: scroll !important;
}


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;
}




/* 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;    
}

/*
.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>' );
}
*/
