

/* ==================== */
/* Core Theme UTILITIES */
/* ==================== */





/* MISC Utils */
/* ---------------------------------------------- */
.circle-crop {
    border-radius: 50%;
    overflow: hidden;
}
#global-wrapper .disabled {
    opacity: 0.4;
    cursor: default;
    pointer-events: none;
}
.cursor-pointer {cursor: pointer;}
.opacity-50 {opacity: 50%;}





/* BG Image Mods */
/* ---------------------------------------------- */
.bg-cover {
    background-size: cover;
    background-position: center center;
    /*background-color: rgba(0,0,0,0.5);*/
}
@media only screen and (min-width: 1160px) {
    .bg-p-xl-center-center {
        background-position: center center;
    }
    .bg-p-xl-center-75 {
        background-position: center 75% !important;
    }
    .bg-p-xl-center-25 {
        background-position: center 25% !important;
    }
}





/* PADDING */
/* ---------------------------------------------- */
.pt-phi {
    padding-top: calc(100% * 5/8);
}
.pb-phi {
    padding-bottom: calc(100% * 5/8);
}




/* BACKGROUNDS */
/* ---------------------------------------------- */

.bg-grey-5  { background: #f2f2f2; }
.bg-grey-10 { background: #e5e5e5; }
.bg-grey-25 { background: #c0c0c0; }
.bg-grey-50 { background: #808080; }
.bg-grey-65 { background: #595959; }
.bg-grey-75 { background: #404040; }
.bg-grey-85 { background: #262626; }
.bg-grey-90 { background: #1a1a1a; }
.bg-grey-95 { background: #111111; }
/* Gradients */
.bg-grey-90-gradient {

    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1eb097+0,0db7bd+100 */
    background: #1a1a1a; /* Old browsers */
    background:
            -webkit-radial-gradient(rgba(0,0,0,0.1), transparent),
            -moz-linear-gradient(45deg, #1a1a1a 0%, #111111 100%); /* FF3.6-15 */
    background:
            -webkit-radial-gradient(rgba(0,0,0,0.1), transparent),
            -webkit-linear-gradient(45deg, #1a1a1a 0%,#111111 100%); /* Chrome10-25,Safari5.1-6 */
    background:
            radial-gradient(rgba(0,0,0,0.1), transparent),
            linear-gradient(45deg, #1a1a1a 0%,#111111 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1a1a1a', endColorstr='#111111',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}


.bg-white-90 { background: rgba(255,255,255,0.9); }
.bg-white-80 { background: rgba(255,255,255,0.8); }
.bg-white-75 { background: rgba(255,255,255,0.75); }
.bg-white-60 { background: rgba(255,255,255,0.6); }
.bg-white-50 { background: rgba(255,255,255,0.5); }
.bg-white-25 { background: rgba(255,255,255,0.25); }
.bg-white-20 { background: rgba(255,255,255,0.2); }
.bg-white-10 { background: rgba(255,255,255,0.1); }


.bg-black-90 { background: rgba(0,0,0,0.9); }
.bg-black-80 { background: rgba(0,0,0,0.8); }
.bg-black-70 { background: rgba(0,0,0,0.7); }
.bg-black-75 { background: rgba(0,0,0,0.75); }
.bg-black-60 { background: rgba(0,0,0,0.6); }
.bg-black-50 { background: rgba(0,0,0,0.5); }
.bg-black-40 { background: rgba(0,0,0,0.4); }
.bg-black-30 { background: rgba(0,0,0,0.3); }
.bg-black-25 { background: rgba(0,0,0,0.25); }
.bg-black-20 { background: rgba(0,0,0,0.2); }
.bg-black-10 { background: rgba(0,0,0,0.1); }
.bg-black-05 { background: rgba(0,0,0,0.05); }





/* BORDERS */
/* ---------------------------------------------- */

.b-grey-10 {
    border-color: #e5e5e5 !important;
}
.b-grey-25 {
    border-color: #c0c0c0 !important;
}
.b-grey-50 {
    border-color: #808080 !important;
}
.b-grey-65 {
    border-color: #595959 !important;
}
.b-grey-75 {
    border-color: #404040 !important;
}
.b-grey-80 {
    border-color: #333333 !important;
}

.b-white    { border-color: rgba(255,255,255,1)!important; }
.b-white-90 { border-color: rgba(255,255,255,0.9)!important; }
.b-white-80 { border-color: rgba(255,255,255,0.8)!important; }
.b-white-75 { border-color: rgba(255,255,255,0.75)!important; }
.b-white-60 { border-color: rgba(255,255,255,0.6)!important; }
.b-white-50 { border-color: rgba(255,255,255,0.5)!important; }
.b-white-25 { border-color: rgba(255,255,255,0.25)!important; }
.b-white-20 { border-color: rgba(255,255,255,0.2)!important; }
.b-white-10 { border-color: rgba(255,255,255,0.1)!important; }

.b-black    { border-color: rgba(0,0,0,1)!important; }
.b-black-90 { border-color: rgba(0,0,0,0.9)!important; }
.b-black-80 { border-color: rgba(0,0,0,0.8)!important; }
.b-black-75 { border-color: rgba(0,0,0,0.75)!important; }
.b-black-60 { border-color: rgba(0,0,0,0.6)!important; }
.b-black-50 { border-color: rgba(0,0,0,0.5)!important; }
.b-black-25 { border-color: rgba(0,0,0,0.25)!important; }
.b-black-20 { border-color: rgba(0,0,0,0.2)!important; }
.b-black-10 { border-color: rgba(0,0,0,0.1)!important; }
.b-black-05 { border-color: rgba(0,0,0,0.05)!important; }


.border-solid {
    border-style: solid !important;
}
.border-1 { border-width: 1px!important; }
.border-2 { border-width: 2px!important; }
.border-3 { border-width: 3px!important; }
.border-4 { border-width: 4px!important; }
.border-5 { border-width: 5px!important; }

.border-0 {
    border-top-width: 0px !important;
    border-bottom-width: 0px !important;
    border-top-style: none;
    border-bottom-style: none;
    border-left-width: 0px !important;
    border-right-width: 0px !important;
    border-left-style: none;
    border-right-style: none;
}

.border-top {
    border-top-width: 1px !important;
    border-top-style: solid;
}
.border-bottom {
    border-bottom-width: 1px !important;
    border-bottom-style: solid;
}
.border-left {
    border-left-width: 1px !important;
    border-left-style: solid;
}
.border-right {
    border-right-width: 1px !important;
    border-right-style: solid;
}
.border-top-solid {
    border-top-style: solid !important;
}
.border-bottom-solid {
    border-bottom-style: solid !important;
}
.border-left-solid {
    border-left-style: solid !important;
}
.border-right-solid {
    border-right-style: solid !important;
}

.border-top-0 {
    border-top-width: 0px !important;
    border-top-style: none;
}
.border-bottom-0 {
    border-bottom-width: 0px !important;
    border-bottom-style: none;
}
.border-left-0 {
    border-left-width: 0px !important;
    border-left-style: none;
}
.border-right-0 {
    border-right-width: 0px !important;
    border-right-style: none;
}
.border-y-0 {
    border-top-width: 0px !important;
    border-bottom-width: 0px !important;
    border-top-style: none;
    border-bottom-style: none;
}
.border-x-0 {
    border-left-width: 0px !important;
    border-right-width: 0px !important;
    border-left-style: none;
    border-right-style: none;
}

@media only screen and (min-width: 576px) {

    .border-sm-top {
        border-top-width: 1px !important;
        border-top-style: solid;
    }
    .border-sm-bottom {
        border-bottom-width: 1px !important;
        border-bottom-style: solid;
    }
    .border-sm-left {
        border-left-width: 1px !important;
        border-left-style: solid;
    }
    .border-sm-right {
        border-right-width: 1px !important;
        border-right-style: solid;
    }
}

@media only screen and (min-width: 768px) {

    .border-md-top {
        border-top-width: 1px !important;
        border-top-style: solid;
    }
    .border-md-bottom {
        border-bottom-width: 1px !important;
        border-bottom-style: solid;
    }
    .border-md-left {
        border-left-width: 1px !important;
        border-left-style: solid;
    }
    .border-md-right {
        border-right-width: 1px !important;
        border-right-style: solid;
    }
}






/* Custom WIDTH Utils */
/* ---------------------------------------------- */

.width-2 { width: 50% !important; }
.width-3 { width: 33.33% !important; }
.width-4 { width: 25% !important; }
.width-5 { width: 20% !important; }
.width-6 { width: 16.66% !important; }
.width-7 { width: 14.28% !important; }
.width-8 { width: 12.5% !important; }
.width-9 { width: 11.11% !important; }
.width-10 { width: 10% !important; }
.width-11 { width: 9.0909% !important; }
.width-12 { width: 8.33% !important; }
.width-phi-lrg { width: 61.8% !important; }
.width-phi-sml { width: 38.2% !important; }

.width-50 { width:50px !important; }
.width-100 { width:100px !important; }
.width-150 { width:150px !important; }
.width-180 { width:180px !important; }
.width-200 { width:200px !important; }
.width-250 { width:250px !important; }
.width-300 { width:300px !important; }
.width-350 { width:350px !important; }
.width-400 { width:400px !important; }
.width-450 { width:450px !important; }
.width-500 { width:500px !important; }
.width-550 { width:550px !important; }
.width-600 { width:600px !important; }
.width-650 { width:650px !important; }
.width-700 { width:700px !important; }
.width-750 { width:750px !important; }
.width-800 { width:800px !important; }
.width-850 { width:850px !important; }


.max-w-50 { max-width:50px !important; }
.max-w-100 { max-width:100px !important; }
.max-w-150 { max-width:150px !important; }
.max-w-180 { max-width:180px !important; }
.max-w-200 { max-width:200px !important; }
.max-w-250 { max-width:250px !important; }
.max-w-300 { max-width:300px !important; }
.max-w-350 { max-width:350px !important; }
.max-w-400 { max-width:400px !important; }
.max-w-450 { max-width:450px !important; }
.max-w-500 { max-width:500px !important; }
.max-w-550 { max-width:550px !important; }
.max-w-600 { max-width:600px !important; }
.max-w-650 { max-width:650px !important; }
.max-w-700 { max-width:700px !important; }
.max-w-750 { max-width:750px !important; }
.max-w-800 { max-width:800px !important; }
.max-w-850 { max-width:850px !important; }
.max-w-900 { max-width:900px !important; }
.max-w-950 { max-width:950px !important; }
.max-w-1000 { max-width:1000px !important; }
.max-w-1050 { max-width:1050px !important; }
.max-w-1100 { max-width:1100px !important; }

.max-w-25perc { max-width:25% !important; }
.max-w-33perc { max-width:33% !important; }
.max-w-50perc { max-width:50% !important; }
.max-w-75perc { max-width:75% !important; }
.max-w-80perc { max-width:80% !important; }
.max-w-100perc { max-width:100% !important; }



.max-w-6em  { max-width:6em !important; }
.max-w-8em  { max-width:8em !important; }
.max-w-10em { max-width:10em !important; }
.max-w-12em { max-width:12em !important; }
.max-w-14em { max-width:14em !important; }
.max-w-16em { max-width:16em !important; }
.max-w-18em { max-width:18em !important; }
.max-w-20em { max-width:20em !important; }
.max-w-25em { max-width:25em !important; }
.max-w-30em { max-width:30em !important; }
.max-w-35em { max-width:35em !important; }
.max-w-40em { max-width:40em !important; }
.max-w-45em { max-width:45em !important; }
.max-w-50em { max-width:50em !important; }











/* THE Grid */
/* ---------------------------------------------- */

/* rows */
.ez-row {
    width: 100%;
    display: table;
}
/* columns */
.ez-col {
    display: table-cell;
    vertical-align: middle;
}






/* BS - ovverride todo figure out what you actually need & move to override or extensions */
/* ---------------------------------------------- */

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mh-100 {
    max-height: 100% !important;
}

.min-vw-100 { min-width: 100vw !important; }



.min-vh-100 { min-height: 100vh !important; }
.min-vh-75 { min-height: 75vh !important; }
.min-vh-50 { min-height: 50vh !important; }


.vw-100 { width: 100vw !important; }







@media (min-width: 400px) {
    .w-xs-25 { width: 25% !important; }
    .w-xs-50 { width: 50% !important; }
    .w-xs-75 { width: 75% !important; }
    .w-xs-100 { width: 100% !important; }
    .w-xs-auto { width: auto !important; }


    .width-xs-50 { width: 50px; }
    .width-xs-100 { width: 100px !important; }
    .width-xs-150 { width: 150px !important; }
    .width-xs-180 { width: 180px !important; }
    .width-xs-200 { width: 200px !important; }
    .width-xs-250 { width: 250px !important; }
    .width-xs-300 { width: 300px !important; }
    .width-xs-350 { width: 350px !important; }
    .width-xs-400 { width: 400px !important; }
    .width-xs-450 { width: 450px !important; }
    .width-xs-500 { width: 500px !important; }
    .width-xs-550 { width: 550px !important; }
    .width-xs-600 { width: 600px !important; }
    .width-xs-650 { width: 650px !important; }
    .width-xs-700 { width: 700px !important; }
    .width-xs-750 { width: 750px !important; }
    .width-xs-800 { width: 800px !important; }
    .width-xs-850 { width: 850px !important; }

    .width-xs-2 { width: 50% !important; }
    .width-xs-3 { width: 33.33% !important; }
    .width-xs-4 { width: 25% !important; }
    .width-xs-5 { width: 20% !important; }
    .width-xs-6 { width: 16.66% !important; }
    .width-xs-7 { width: 14.28% !important; }
    .width-xs-8 { width: 12.5% !important; }
    .width-xs-9 { width: 11.11% !important; }
    .width-xs-10 { width: 10% !important; }
    .width-xs-11 { width: 9.0909% !important; }
    .width-xs-12 { width: 8.33% !important; }
    .width-xs-phi-lrg { width: 61.8% !important; }
    .width-xs-phi-sml { width: 38.2% !important; }
}



@media (min-width: 576px) {
    .w-sm-25 { width: 25% !important; }
    .w-sm-50 { width: 50% !important; }
    .w-sm-75 { width: 75% !important; }
    .w-sm-100 { width: 100% !important; }
    .w-sm-auto { width: auto !important; }

    .width-sm-50 { width: 50px !important; }
    .width-sm-100 { width: 100px !important; }
    .width-sm-150 { width: 150px !important; }
    .width-sm-180 { width: 180px !important; }
    .width-sm-200 { width: 200px !important; }
    .width-sm-250 { width: 250px !important; }
    .width-sm-300 { width: 300px !important; }
    .width-sm-350 { width: 350px !important; }
    .width-sm-400 { width: 400px !important; }
    .width-sm-450 { width: 450px !important; }
    .width-sm-500 { width: 500px !important; }
    .width-sm-550 { width: 550px !important; }
    .width-sm-600 { width: 600px !important; }
    .width-sm-650 { width: 650px !important; }
    .width-sm-700 { width: 700px !important; }
    .width-sm-750 { width: 750px !important; }
    .width-sm-800 { width: 800px !important; }
    .width-sm-850 { width: 850px !important; }


    .width-sm-2 { width: 50% !important; }
    .width-sm-3 { width: 33.33% !important; }
    .width-sm-4 { width: 25% !important; }
    .width-sm-5 { width: 20% !important; }
    .width-sm-6 { width: 16.66% !important; }
    .width-sm-7 { width: 14.28% !important; }
    .width-sm-8 { width: 12.5% !important; }
    .width-sm-9 { width: 11.11% !important; }
    .width-sm-10 { width: 10% !important; }
    .width-sm-11 { width: 9.0909% !important; }
    .width-sm-12 { width: 8.33% !important; }
    .width-sm-phi-lrg { width: 61.8% !important; }
    .width-sm-phi-sml { width: 38.2% !important; }
}



@media (min-width: 768px) {
    .w-md-25 { width: 25% !important; }
    .w-md-50 { width: 50% !important; }
    .w-md-75 { width: 75% !important; }
    .w-md-100 { width: 100% !important; }
    .w-md-auto { width: auto !important; }

    .width-md-50 { width: 50px !important; }
    .width-md-100 { width: 100px !important; }
    .width-md-150 { width: 150px !important; }
    .width-md-180 { width: 180px !important; }
    .width-md-200 { width: 200px !important; }
    .width-md-250 { width: 250px !important; }
    .width-md-300 { width: 300px !important; }
    .width-md-350 { width: 350px !important; }
    .width-md-400 { width: 400px !important; }
    .width-md-450 { width: 450px !important; }
    .width-md-500 { width: 500px !important; }
    .width-md-550 { width: 550px !important; }
    .width-md-600 { width: 600px !important; }
    .width-md-650 { width: 650px !important; }
    .width-md-700 { width: 700px !important; }
    .width-md-750 { width: 750px !important; }
    .width-md-800 { width: 800px !important; }
    .width-md-850 { width: 850px !important; }


    .width-md-auto { width: auto !important; }
    .width-md-2 { width: 50% !important; }
    .width-md-3 { width: 33.33% !important; }
    .width-md-4 { width: 25% !important; }
    .width-md-5 { width: 20% !important; }
    .width-md-6 { width: 16.66% !important; }
    .width-md-7 { width: 14.28% !important; }
    .width-md-8 { width: 12.5% !important; }
    .width-md-9 { width: 11.11% !important; }
    .width-md-10 { width: 10% !important; }
    .width-md-11 { width: 9.0909% !important; }
    .width-md-12 { width: 8.33% !important; }
    .width-md-phi-lrg { width: 61.8% !important; }
    .width-md-phi-sml { width: 38.2% !important; }
}



@media (min-width: 992px) {
    .w-md-25 { width: 25% !important; }
    .w-md-50 { width: 50% !important; }
    .w-md-75 { width: 75% !important; }
    .w-md-100 { width: 100% !important; }
    .w-md-auto { width: auto !important; }

    .width-lg-50 { width: 50px !important; }
    .width-lg-100 { width: 100px !important; }
    .width-lg-150 { width: 150px !important; }
    .width-lg-180 { width: 180px !important; }
    .width-lg-200 { width: 200px !important; }
    .width-lg-250 { width: 250px !important; }
    .width-lg-300 { width: 300px !important; }
    .width-lg-350 { width: 350px !important; }
    .width-lg-400 { width: 400px !important; }
    .width-lg-450 { width: 450px !important; }
    .width-lg-500 { width: 500px !important; }
    .width-lg-550 { width: 550px !important; }
    .width-lg-600 { width: 600px !important; }
    .width-lg-650 { width: 650px !important; }
    .width-lg-700 { width: 700px !important; }
    .width-lg-750 { width: 750px !important; }
    .width-lg-800 { width: 800px !important; }
    .width-lg-850 { width: 850px !important; }


    .width-lg-auto { width: auto !important; }
    .width-lg-2 { width: 50% !important; }
    .width-lg-3 { width: 33.33% !important; }
    .width-lg-4 { width: 25% !important; }
    .width-lg-5 { width: 20% !important; }
    .width-lg-6 { width: 16.66% !important; }
    .width-lg-7 { width: 14.28% !important; }
    .width-lg-8 { width: 12.5% !important; }
    .width-lg-9 { width: 11.11% !important; }
    .width-lg-10 { width: 10% !important; }
    .width-lg-11 { width: 9.0909% !important; }
    .width-lg-12 { width: 8.33% !important; }
    .width-lg-phi-lrg { width: 61.8% !important; }
    .width-lg-phi-sml { width: 38.2% !important; }
}















.vh-25 { height: 25vh !important; }
.vh-33 { height: 33vh !important; }
.vh-50 { height: 50vh !important; }
.vh-60 { height: 60vh !important; }
.vh-75 { height: 75vh !important; }
.vh-90 { height: 90vh !important; }
.vh-100 { height: 100vh !important; }
.vh-25-min { min-height: 25vh !important; }
.vh-33-min { min-height: 33vh !important; }
.vh-50-min { min-height: 50vh !important; }
.vh-60-min { min-height: 60vh !important; }
.vh-75-min { min-height: 75vh !important; }
.vh-90-min { min-height: 90vh !important; }
.vh-100-min { min-height: 100vh !important; }



@media (min-width: 576px) {

    .vh-sm-25 { height: 25vh !important; }
    .vh-sm-33 { height: 33vh !important; }
    .vh-sm-50 { height: 50vh !important; }
    .vh-sm-60 { height: 60vh !important; }
    .vh-sm-75 { height: 75vh !important; }
    .vh-sm-90 { height: 90vh !important; }
    .vh-sm-100 { height: 100vh !important; }
    .vh-sm-25-min { min-height: 25vh !important; }
    .vh-sm-33-min { min-height: 33vh !important; }
    .vh-sm-50-min { min-height: 50vh !important; }
    .vh-sm-60-min { min-height: 60vh !important; }
    .vh-sm-75-min { min-height: 75vh !important; }
    .vh-sm-90-min { min-height: 90vh !important; }
    .vh-sm-100-min { min-height: 100vh !important; }
}

@media (min-width: 768px) {

    .w-md-auto { width: auto !important}

    .vh-md-25 { height: 25vh !important; }
    .vh-md-33 { height: 33vh !important; }
    .vh-md-50 { height: 50vh !important; }
    .vh-md-60 { height: 60vh !important; }
    .vh-md-75 { height: 75vh !important; }
    .vh-md-90 { height: 90vh !important; }
    .vh-md-100 { height: 100vh !important; }
    .vh-md-25-min { min-height: 25vh !important; }
    .vh-md-33-min { min-height: 33vh !important; }
    .vh-md-50-min { min-height: 50vh !important; }
    .vh-md-60-min { min-height: 60vh !important; }
    .vh-md-75-min { min-height: 75vh !important; }
    .vh-md-90-min { min-height: 90vh !important; }
    .vh-md-100-min { min-height: 100vh !important; }
}

@media (min-width: 992px) {

    .vh-lg-25 { height: 25vh !important; }
    .vh-lg-33 { height: 33vh !important; }
    .vh-lg-50 { height: 50vh !important; }
    .vh-lg-60 { height: 60vh !important; }
    .vh-lg-75 { height: 75vh !important; }
    .vh-lg-90 { height: 90vh !important; }
    .vh-lg-100 { height: 100vh !important; }
    .vh-lg-25-min { min-height: 25vh !important; }
    .vh-lg-33-min { min-height: 33vh !important; }
    .vh-lg-50-min { min-height: 50vh !important; }
    .vh-lg-60-min { min-height: 60vh !important; }
    .vh-lg-75-min { min-height: 75vh !important; }
    .vh-lg-90-min { min-height: 90vh !important; }
    .vh-lg-100-min { min-height: 100vh !important; }
}


@media only screen and (min-width:1025px) {

    .vh-dt-lg-25 { height: 25vh !important; }
    .vh-dt-lg-33 { height: 33vh !important; }
    .vh-dt-lg-50 { height: 50vh !important; }
    .vh-dt-lg-60 { height: 60vh !important; }
    .vh-dt-lg-75 { height: 75vh !important; }
    .vh-dt-lg-90 { height: 90vh !important; }
    .vh-dt-lg-100 { height: 100vh !important; }
    .vh-dt-25-min { min-height: 25vh !important; }
    .vh-dt-33-min { min-height: 33vh !important; }
    .vh-dt-50-min { min-height: 50vh !important; }
    .vh-dt-lg-60-min { min-height: 60vh !important; }
    .vh-dt-lg-75-min { min-height: 75vh !important; }
    .vh-dt-lg-90-min { min-height: 90vh !important; }
    .vh-dt-lg-100-min { min-height: 100vh !important; }
}

@media only screen and (min-width:1160px) {

    .vh-xl-lg-25 { height: 25vh !important; }
    .vh-xl-lg-33 { height: 33vh !important; }
    .vh-xl-lg-50 { height: 50vh !important; }
    .vh-xl-lg-60 { height: 60vh !important; }
    .vh-xl-lg-75 { height: 75vh !important; }
    .vh-xl-lg-90 { height: 90vh !important; }
    .vh-xl-lg-100 { height: 100vh !important; }
    .vh-xl-25-min { min-height: 25vh !important; }
    .vh-xl-33-min { min-height: 33vh !important; }
    .vh-xl-50-min { min-height: 50vh !important; }
    .vh-xl-lg-60-min { min-height: 60vh !important; }
    .vh-xl-lg-75-min { min-height: 75vh !important; }
    .vh-xl-lg-90-min { min-height: 90vh !important; }
    .vh-xl-lg-100-min { min-height: 100vh !important; }
}



.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-none {
    float: none !important;
}

@media (min-width: 576px) {
    .float-sm-left {
        float: left !important;
    }
    .float-sm-right {
        float: right !important;
    }
    .float-sm-none {
        float: none !important;
    }
}

@media (min-width: 768px) {
    .float-md-left {
        float: left !important;
    }
    .float-md-right {
        float: right !important;
    }
    .float-md-none {
        float: none !important;
    }
}

@media (min-width: 992px) {
    .float-lg-left {
        float: left !important;
    }
    .float-lg-right {
        float: right !important;
    }
    .float-lg-none {
        float: none !important;
    }
}

@media (min-width: 1200px) {
    .float-xl-left {
        float: left !important;
    }
    .float-xl-right {
        float: right !important;
    }
    .float-xl-none {
        float: none !important;
    }
}

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}



.text-monospace {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
    text-align: justify !important;
}

.text-wrap {
    white-space: normal !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*.text-left {*/
    /*text-align: left !important;*/
/*}*/

/*.text-right {*/
    /*text-align: right !important;*/
/*}*/

/*.text-center {*/
    /*text-align: center !important;*/
/*}*/












@media (min-width: 480px) {
    .m-mp-0 {
        margin: 0 !important;
    }
    .mt-mp-0,
    .my-mp-0 {
        margin-top: 0 !important;
    }
    .mr-mp-0,
    .mx-mp-0 {
        margin-right: 0 !important;
    }
    .mb-mp-0,
    .my-mp-0 {
        margin-bottom: 0 !important;
    }
    .ml-mp-0,
    .mx-mp-0 {
        margin-left: 0 !important;
    }
    .m-mp-1 {
        margin: 0.25rem !important;
    }
    .mt-mp-1,
    .my-mp-1 {
        margin-top: 0.25rem !important;
    }
    .mr-mp-1,
    .mx-mp-1 {
        margin-right: 0.25rem !important;
    }
    .mb-mp-1,
    .my-mp-1 {
        margin-bottom: 0.25rem !important;
    }
    .ml-mp-1,
    .mx-mp-1 {
        margin-left: 0.25rem !important;
    }
    .m-mp-2 {
        margin: 0.5rem !important;
    }
    .mt-mp-2,
    .my-mp-2 {
        margin-top: 0.5rem !important;
    }
    .mr-mp-2,
    .mx-mp-2 {
        margin-right: 0.5rem !important;
    }
    .mb-mp-2,
    .my-mp-2 {
        margin-bottom: 0.5rem !important;
    }
    .ml-mp-2,
    .mx-mp-2 {
        margin-left: 0.5rem !important;
    }
    .m-mp-3 {
        margin: 1rem !important;
    }
    .mt-mp-3,
    .my-mp-3 {
        margin-top: 1rem !important;
    }
    .mr-mp-3,
    .mx-mp-3 {
        margin-right: 1rem !important;
    }
    .mb-mp-3,
    .my-mp-3 {
        margin-bottom: 1rem !important;
    }
    .ml-mp-3,
    .mx-mp-3 {
        margin-left: 1rem !important;
    }
    .m-mp-4 {
        margin: 1.5rem !important;
    }
    .mt-mp-4,
    .my-mp-4 {
        margin-top: 1.5rem !important;
    }
    .mr-mp-4,
    .mx-mp-4 {
        margin-right: 1.5rem !important;
    }
    .mb-mp-4,
    .my-mp-4 {
        margin-bottom: 1.5rem !important;
    }
    .ml-mp-4,
    .mx-mp-4 {
        margin-left: 1.5rem !important;
    }
    .m-mp-5 {
        margin: 3rem !important;
    }
    .mt-mp-5,
    .my-mp-5 {
        margin-top: 3rem !important;
    }
    .mr-mp-5,
    .mx-mp-5 {
        margin-right: 3rem !important;
    }
    .mb-mp-5,
    .my-mp-5 {
        margin-bottom: 3rem !important;
    }
    .ml-mp-5,
    .mx-mp-5 {
        margin-left: 3rem !important;
    }
    .p-mp-0 {
        padding: 0 !important;
    }
    .pt-mp-0,
    .py-mp-0 {
        padding-top: 0 !important;
    }
    .pr-mp-0,
    .px-mp-0 {
        padding-right: 0 !important;
    }
    .pb-mp-0,
    .py-mp-0 {
        padding-bottom: 0 !important;
    }
    .pl-mp-0,
    .px-mp-0 {
        padding-left: 0 !important;
    }
    .p-mp-1 {
        padding: 0.25rem !important;
    }
    .pt-mp-1,
    .py-mp-1 {
        padding-top: 0.25rem !important;
    }
    .pr-mp-1,
    .px-mp-1 {
        padding-right: 0.25rem !important;
    }
    .pb-mp-1,
    .py-mp-1 {
        padding-bottom: 0.25rem !important;
    }
    .pl-mp-1,
    .px-mp-1 {
        padding-left: 0.25rem !important;
    }
    .p-mp-2 {
        padding: 0.5rem !important;
    }
    .pt-mp-2,
    .py-mp-2 {
        padding-top: 0.5rem !important;
    }
    .pr-mp-2,
    .px-mp-2 {
        padding-right: 0.5rem !important;
    }
    .pb-mp-2,
    .py-mp-2 {
        padding-bottom: 0.5rem !important;
    }
    .pl-mp-2,
    .px-mp-2 {
        padding-left: 0.5rem !important;
    }
    .p-mp-3 {
        padding: 1rem !important;
    }
    .pt-mp-3,
    .py-mp-3 {
        padding-top: 1rem !important;
    }
    .pr-mp-3,
    .px-mp-3 {
        padding-right: 1rem !important;
    }
    .pb-mp-3,
    .py-mp-3 {
        padding-bottom: 1rem !important;
    }
    .pl-mp-3,
    .px-mp-3 {
        padding-left: 1rem !important;
    }
    .p-mp-4 {
        padding: 1.5rem !important;
    }
    .pt-mp-4,
    .py-mp-4 {
        padding-top: 1.5rem !important;
    }
    .pr-mp-4,
    .px-mp-4 {
        padding-right: 1.5rem !important;
    }
    .pb-mp-4,
    .py-mp-4 {
        padding-bottom: 1.5rem !important;
    }
    .pl-mp-4,
    .px-mp-4 {
        padding-left: 1.5rem !important;
    }
    .p-mp-5 {
        padding: 3rem !important;
    }
    .pt-mp-5,
    .py-mp-5 {
        padding-top: 3rem !important;
    }
    .pr-mp-5,
    .px-mp-5 {
        padding-right: 3rem !important;
    }
    .pb-mp-5,
    .py-mp-5 {
        padding-bottom: 3rem !important;
    }
    .pl-mp-5,
    .px-mp-5 {
        padding-left: 3rem !important;
    }
    .m-mp-n1 {
        margin: -0.25rem !important;
    }
    .mt-mp-n1,
    .my-mp-n1 {
        margin-top: -0.25rem !important;
    }
    .mr-mp-n1,
    .mx-mp-n1 {
        margin-right: -0.25rem !important;
    }
    .mb-mp-n1,
    .my-mp-n1 {
        margin-bottom: -0.25rem !important;
    }
    .ml-mp-n1,
    .mx-mp-n1 {
        margin-left: -0.25rem !important;
    }
    .m-mp-n2 {
        margin: -0.5rem !important;
    }
    .mt-mp-n2,
    .my-mp-n2 {
        margin-top: -0.5rem !important;
    }
    .mr-mp-n2,
    .mx-mp-n2 {
        margin-right: -0.5rem !important;
    }
    .mb-mp-n2,
    .my-mp-n2 {
        margin-bottom: -0.5rem !important;
    }
    .ml-mp-n2,
    .mx-mp-n2 {
        margin-left: -0.5rem !important;
    }
    .m-mp-n3 {
        margin: -1rem !important;
    }
    .mt-mp-n3,
    .my-mp-n3 {
        margin-top: -1rem !important;
    }
    .mr-mp-n3,
    .mx-mp-n3 {
        margin-right: -1rem !important;
    }
    .mb-mp-n3,
    .my-mp-n3 {
        margin-bottom: -1rem !important;
    }
    .ml-mp-n3,
    .mx-mp-n3 {
        margin-left: -1rem !important;
    }
    .m-mp-n4 {
        margin: -1.5rem !important;
    }
    .mt-mp-n4,
    .my-mp-n4 {
        margin-top: -1.5rem !important;
    }
    .mr-mp-n4,
    .mx-mp-n4 {
        margin-right: -1.5rem !important;
    }
    .mb-mp-n4,
    .my-mp-n4 {
        margin-bottom: -1.5rem !important;
    }
    .ml-mp-n4,
    .mx-mp-n4 {
        margin-left: -1.5rem !important;
    }
    .m-mp-n5 {
        margin: -3rem !important;
    }
    .mt-mp-n5,
    .my-mp-n5 {
        margin-top: -3rem !important;
    }
    .mr-mp-n5,
    .mx-mp-n5 {
        margin-right: -3rem !important;
    }
    .mb-mp-n5,
    .my-mp-n5 {
        margin-bottom: -3rem !important;
    }
    .ml-mp-n5,
    .mx-mp-n5 {
        margin-left: -3rem !important;
    }
    .m-mp-auto {
        margin: auto !important;
    }
    .mt-mp-auto,
    .my-mp-auto {
        margin-top: auto !important;
    }
    .mr-mp-auto,
    .mx-mp-auto {
        margin-right: auto !important;
    }
    .mb-mp-auto,
    .my-mp-auto {
        margin-bottom: auto !important;
    }
    .ml-mp-auto,
    .mx-mp-auto {
        margin-left: auto !important;
    }
}











/* BORDER (override bootstrap styles to allow more
   flexibility & shorter css class strings */
/* ---------------------------------------------- */

/* -- border style */
.b-solid {
    border-style: solid!important;
    border-color: #dee2e6;
    border-width: 0; /* should be used in combination with utilities below */
}

/* -- border width */
.b-1 {
    border-width: 1px !important;
}

.by-1,
.bt-1 {
    border-top-width: 1px !important;
}

.bx-1,
.br-1 {
    border-right-width: 1px !important;
}

.by-1,
.bb-1 {
    border-bottom-width: 1px !important;
}

.bx-1,
.bl-1 {
    border-left-width: 1px !important;
}

.b-md-0 {
    border: 0 !important;
}

.by-0,
.bt-0 {
    border-top-width: 0 !important;
}

.bx-0,
.br-0 {
    border-right-width: 0 !important;
}

.by-0,
.bb-0 {
    border-bottom-width: 0 !important;
}

.bx-0,
.bl-0 {
    border-left-width: 0 !important;
}

/* -- border width (responsive) */

@media only screen and (min-width: 576px){ /* use as needed */ }

@media only screen and (min-width: 768px) {

    .b-md-1 {
        border-width: 1px !important;
    }

    .by-md-1,
    .bt-md-1 {
        border-top-width: 1px !important;
    }

    .bx-md-1,
    .br-md-1 {
        border-right-width: 1px !important;
    }

    .by-md-1,
    .bb-md-1 {
        border-bottom-width: 1px !important;
    }

    .bx-md-1,
    .bl-md-1 {
        border-left-width: 1px !important;
    }

    .b-md-0 {
        border: 0 !important;
    }

    .by-md-0,
    .bt-md-0 {
        border-top: 0 !important;
    }

    .bx-md-0,
    .br-md-0 {
        border-right: 0 !important;
    }

    .by-md-0,
    .bb-md-0 {
        border-bottom: 0 !important;
    }

    .bx-md-0,
    .bl-md-0 {
        border-left: 0 !important;
    }
}

@media only screen and (min-width: 992px) { /* use as needed */ }

@media only screen and (min-width:1025px) { /* use as needed */ }

@media only screen and (min-width:1160px) { /* use as needed */ }





.v-align-top {
    vertical-align: top !important;
}

.v-align-middle {
    vertical-align: middle !important;
}

.v-align-bottom {
    vertical-align: bottom !important;
}





/* Opacity ----------------------------------- */

.opacity-0 {
    opacity: 0!important;
}

.opacity-5 {
    opacity: 0.05!important;
}

.opacity-10 {
    opacity: 0.1!important;
}

.opacity-15 {
    opacity: 0.15!important;
}

.opacity-20 {
    opacity: 0.2!important;
}

.opacity-25 {
    opacity: 0.25!important;
}

.opacity-30 {
    opacity: 0.3!important;
}

.opacity-35 {
    opacity: 0.35!important;
}

.opacity-40 {
    opacity: 0.4!important;
}

.opacity-45 {
    opacity: 0.45!important;
}

.opacity-50 {
    opacity: 0.5!important;
}

.opacity-55 {
    opacity: 0.55!important;
}

.opacity-60 {
    opacity: 0.6!important;
}

.opacity-65 {
    opacity: 0.65!important;
}

.opacity-70 {
    opacity: 0.7!important;
}

.opacity-75 {
    opacity: 0.75!important;
}

.opacity-80 {
    opacity: 0.8!important;
}

.opacity-85 {
    opacity: 0.85!important;
}

.opacity-90 {
    opacity: 0.9!important;
}