.full-w
{
    width: 100%!important;
}
.full-min-w
{
    min-width: 100%!important;
}
.full-h
{
    height: 100%!important;
}
.full-w-h
{
    width: 100%!important;
    height: 100%!important;
}
.half-w
{
    width: 50%!important;
}
.half-h
{
    height: 50%!important;
}


.uppercase {
    text-transform: uppercase;
}

.align-middle
{
    vertical-align: middle!important;
}
.align-top
{
    vertical-align: top!important;
}
.align-bottom
{
    vertical-align: bottom!important;
}
.overflow-hidden
{
    overflow: hidden!important;
}

.spacer-left       { margin-left:    20px!important; }
.spacer-left-sm    { margin-left:    10px!important; }
.spacer-right      { margin-right:   20px!important; }
.spacer-right-sm   { margin-right:   10px!important; }
.spacer-top        { margin-top:     20px!important; }
.spacer-top-sm     { margin-top:     10px!important; }
.spacer-bottom     { margin-bottom:  20px!important; }
.spacer-bottom-sm  { margin-bottom:  10px!important; }



.margin-left       { margin-left:    20px!important; }
.margin-left-sm    { margin-left:    10px!important; }
.margin-left-lg    { margin-left:    60px!important; }
.margin-right      { margin-right:   20px!important; }
.margin-right-sm   { margin-right:   10px!important; }
.margin-right-lg   { margin-right:   60px!important; }
.margin-top        { margin-top:     20px!important; }
.margin-top-sm     { margin-top:     10px!important; }
.margin-top-lg     { margin-top:     60px!important; }
.margin-bottom     { margin-bottom:  20px!important; }
.margin-bottom-sm  { margin-bottom:  10px!important; }
.margin-bottom-lg  { margin-bottom:  60px!important; }


.padding-lg        { padding:        60px!important; }
.padding-md        { padding:        40px!important; }
.padding           { padding:        30px!important; }
.padding-sm        { padding:        20px!important; }

.padding-top-lg    { padding-top:    60px!important; }
.padding-top-md    { padding-top:    40px!important; }
.padding-top       { padding-top:    30px!important; }
.padding-top-sm    { padding-top:    20px!important; }

.padding-bottom-lg { padding-bottom: 60px!important; }
.padding-bottom-md { padding-bottom: 40px!important; }
.padding-bottom    { padding-bottom: 30px!important; }
.padding-bottom-sm { padding-bottom: 20px!important; }

.padding-right-lg  { padding-right:  60px!important; }
.padding-right-md  { padding-right:  40px!important; }
.padding-right     { padding-right:  30px!important; }
.padding-right-sm  { padding-right:  20px!important; }

.padding-left-lg   { padding-left:   60px!important; }
.padding-left-md   { padding-left:   40px!important; }
.padding-left      { padding-left:   30px!important; }
.padding-left-sm   { padding-left:   20px!important; }

.text-sm {
    font-size:86%;
    line-height:1.2em;
}

.text-gray {
    color:gray;
}

.text-white {
    color:white;
}

.text-black {
    color:black;
}

.text-uppercase {
    text-transform:uppercase;
}

.nowrap
{
    white-space: nowrap;
}

.no-padding{
    padding:0!important;
}

.no-margin{
    margin:0!important;
}

.no-top-margin, .no-margin-top {
    margin-top:0!important;
}

.no-bottom-margin, .no-margin-bottom {
    margin-bottom:0!important;
}

.relative
{
    position: relative!important;
}
.absolute
{
    position: absolute!important;
}
.fixed
{
    position: fixed!important;
}

.inline-block
{
    display: inline-block!important;
}
.block
{
    display: block!important;
}
.hidden
{
    display: none;
}
.visible
{
    display: block;
}

.anim
{
    -webkit-transition: all ease-out .2s;
       -moz-transition: all ease-out .2s;
        -ms-transition: all ease-out .2s;
         -o-transition: all ease-out .2s;
            transition: all ease-out .2s;
}

.cursor-default
{
    cursor: default!important;
}

.cursor-pointer
{
    cursor: pointer!important;
}

.cursor-help
{
    cursor: help!important;
}

.bg-gray, .bg-grey {
    background-color:grey!important;
}

.bg-light-gray, .bg-light-grey {
    background-color:#ddd!important;
}

.bg-white {
    background-color:white!important;
}

/* non scrollable */
.no-scroll {
    position:relative;
    overflow:hidden;
}

/* scrollable */
.scrollable { overflow-y: auto; }
.scrollable::-webkit-scrollbar {
    width: 8px;
    height: 16px; 
}
.scrollable::-webkit-scrollbar-thumb {
    background-color: rgba(106, 106, 106, 1);
    -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07); 
    border-radius:0.3em; 
    cursor:pointer;
    cursor:hand;
}
.scrollable::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none; 
}
.scrollable::-webkit-scrollbar-corner {
    background-color: transparent; 
}

/* Image Filters */
.img-grayscale {
    filter: grayscale(100%);
}

.no-wrap {
    white-space:nowrap;
}


.overflow-visible {
    overflow:visible;
}

.square {
    border-radius:0!important;
}
.square-top {
    border-top-right-radius:0!important;
    border-top-left-radius:0!important;
}
.square-bottom {
    border-bottom-right-radius:0!important;
    border-bottom-left-radius:0!important;
}

.vertical-center {

    display: table-cell;
    vertical-align: middle;
    float: none;
}

.text-shadow { text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.69)!important; }