.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;
}

.full-width     { width:     100%!important; }
.full-min-width { min-width: 100%!important; }
.full-height    { height:    100%!important; }
.half-width     { width:      50%!important; }
.half-height    { height:     50%!important; }


.uppercase {
    text-transform: uppercase!important;
}

.align-middle
{
    display: table-cell!important;
    vertical-align: middle!important;
}
.align-top
{
    display: table-cell!important;
    vertical-align: top!important;
}
.align-bottom
{
    display: table-cell!important;
    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-xs    { margin-left:     5px!important; }
.margin-left-lg    { margin-left:    40px!important; }
.margin-right      { margin-right:   20px!important; }
.margin-right-sm   { margin-right:   10px!important; }
.margin-right-xs   { margin-right:    5px!important; }
.margin-right-lg   { margin-right:   40px!important; }
.margin-top        { margin-top:     20px!important; }
.margin-top-sm     { margin-top:     10px!important; }
.margin-top-xs     { margin-top:      5px!important; }
.margin-top-lg     { margin-top:     40px!important; }
.margin-top-xl     { margin-top:     80px!important; }
.margin-bottom     { margin-bottom:  20px!important; }
.margin-bottom-sm  { margin-bottom:  10px!important; }
.margin-bottom-xs  { margin-bottom:   5px!important; }
.margin-bottom-lg  { margin-bottom:  40px!important; }
.margin-bottom-xl  { margin-bottom:  80px!important; }
.margin-bottom-2x  { margin-bottom:  120px!important; }
.margin-bottom-3x  { margin-bottom:  180px!important; }


.padding-xxl    { padding:    200px!important; }
.padding-xl    { padding:    100px!important; }
.padding-lg    { padding:    60px!important; }
.padding       { padding:    30px!important; }
.padding-sm    { padding:    20px!important; }
.padding-xs    { padding:    10px!important; }
.padding-xxs   { padding:     5px!important; }

.padding-top-xxl     { padding-top:    200px!important; }
.padding-top-xl     { padding-top:    100px!important; }
.padding-top-lg     { padding-top:    60px!important; }
.padding-top        { padding-top:    30px!important; }
.padding-top-sm     { padding-top:    20px!important; }
.padding-top-xs     { padding-top:    10px!important; }
.padding-top-xxs    { padding-top:     5px!important; }

.padding-bottom-xxl  { padding-bottom: 200px!important; }
.padding-bottom-xl  { padding-bottom: 100px!important; }
.padding-bottom-lg  { padding-bottom: 60px!important; }
.padding-bottom     { padding-bottom: 30px!important; }
.padding-bottom-sm  { padding-bottom: 20px!important; }
.padding-bottom-xs  { padding-bottom: 10px!important; }
.padding-bottom-xxs { padding-bottom:  5px!important; }

.padding-right-xxl   { padding-right:  200px!important; }
.padding-right-xl   { padding-right:  100px!important; }
.padding-right-lg   { padding-right:  60px!important; }
.padding-right      { padding-right:  30px!important; }
.padding-right-sm   { padding-right:  20px!important; }
.padding-right-xs   { padding-right:  10px!important; }
.padding-right-xxs  { padding-right:   5px!important; }

.padding-left-xxl    { padding-left:   200px!important; }
.padding-left-xl    { padding-left:   100px!important; }
.padding-left-lg    { padding-left:   60px!important; }
.padding-left       { padding-left:   30px!important; }
.padding-left-sm    { padding-left:   20px!important; }
.padding-left-xs    { padding-left:   10px!important; }
.padding-left-xxs   { padding-left:    5px!important; }

/* .padding-md
{
    padding-top:    12px!important;
    padding-bottom: 12px!important;
    padding-left:   20px!important;
    padding-right:  20px!important;
}
.padding-top-md    { padding-top:    12px!important; }
.padding-bottom-md { padding-bottom: 12px!important; }
.padding-left-md   { padding-left:   12px!important; }
.padding-right-md  { padding-right:  12px!important; } */

.text-sm {
    font-size:86%!important;
    line-height:1.2em!important;
}

.text-gray {
    color:gray!important;
}

.text-white {
    color:white!important;
}

.text-black {
    color:black!important;
}

.text-uppercase {
    text-transform:uppercase!important;
}

.text-bold {
    font-weight: bold!important;
}

.nowrap
{
    white-space: nowrap!important;
}

.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;
}

.no-margin-top-bottom { margin-top:   0!important; margin-bottom: 0!important; }
.no-margin-left       { margin-left:  0!important; }
.no-margin-right      { margin-right: 0!important; }
.no-margin-left-right { margin-left:  0!important; margin-right: 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!important;
}
.visible
{
    display: block!important;
}

.anim
{
    -webkit-transition: all ease-out .2s!important;
       -moz-transition: all ease-out .2s!important;
        -ms-transition: all ease-out .2s!important;
         -o-transition: all ease-out .2s!important;
            transition: all ease-out .2s!important;
}

.cursor-default
{
    /*cursor: default!important;*/
    cursor: context-menu!important;
}

.cursor-pointer
{
    cursor: pointer!important;
}

.cursor-help
{
    cursor: help!important;
}

.cursor-not-allowed
{
    cursor: not-allowed!important;
}

.bg-black {
    background-color: #000000!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;
}

.bg-fixed {
    background-attachment: fixed;
}

/* non scrollable */
.no-scroll {
    position:relative!important;
    overflow:hidden!important;
}

/* scrollable */
.scrollable { overflow-y: auto!important; }
.scrollable::-webkit-scrollbar {
    width: 8px!important;
    height: 16px!important; 
}
.scrollable::-webkit-scrollbar-thumb {
    background-color: rgba(106, 106, 106, 1)!important;
    -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07)!important; 
    border-radius:0.3em!important; 
    cursor:pointer!important;
    cursor:hand!important;
}
.scrollable::-webkit-scrollbar-button {
    width: 0!important;
    height: 0!important;
    display: none!important; 
}
.scrollable::-webkit-scrollbar-corner {
    background-color: transparent!important; 
}

/* Image Filters */
.img-grayscale {
    filter: grayscale(100%)!important;
}

.no-wrap {
    white-space:nowrap!important;
}

.text-wrap {
    white-space:normal!important;
}


.overflow-visible {
    overflow:visible!important;
}

.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;
}

.display-table { display: table!important; }

.vertical-center {

    display: table-cell!important;
    vertical-align: middle!important;
    float: none!important;
}

.div-center {
    margin: 0 auto;
}

.list-bullets, .list-bullet {
    /* margin-left: 25px!important; */
    list-style-type: none!important;
}

.rounded    { border-radius: 0.3em!important; }
.rounded-md { border-radius: 0.6em!important; }
.rounded-lg { border-radius:   1em!important; }

.circle { border-radius: 50%!important; }

.img-circle {
    width: 150px;
    height: 150px;
    position: relative!important;
    overflow: hidden!important;
    border-radius: 50%!important;
}
.img-circle img {
    display: inline!important;
    margin: 0 auto!important;
    width: 100%!important;
    height: auto!important;
}

.not-visible { display: none; }
.table-cell  { display: table-cell; }


table.no-border,
table.no-border thead,
table.no-border tbody,
table.no-border tr,
table.no-border th,
table.no-border td {
    border: 0!important;
}

.no-bold { font-weight: normal!important; }

.text-caps { text-transform: uppercase!important; }

.line-height-sm { line-height: 1.25em!important; }

.text-lg { font-size: 115%!important; }

.click-through { pointer-events: none!important; }

.auto-h { height: auto!important; }
.auto-w { width:  auto!important; }

.no-border { border: 0!important; }

.layer-1  { z-index:  1!important; }
.layer-2  { z-index:  2!important; }
.layer-3  { z-index:  3!important; }
.layer-4  { z-index:  4!important; }
.layer-5  { z-index:  5!important; }
.layer-6  { z-index:  6!important; }
.layer-7  { z-index:  7!important; }
.layer-8  { z-index:  8!important; }
.layer-9  { z-index:  9!important; }
.layer-10 { z-index: 10!important; }

.hr-thick {
    border: none!important;
    height: 4px!important;
    /* Set the hr color */
    color: #ddd!important; /* old IE */
    background-color: #ddd!important; /* Modern Browsers */
}

.text-left { text-align:left!important; }