/* ==========================================================
   Utilities
   ========================================================== */

/*--------------------------------------------------------------
# Text Alignment
--------------------------------------------------------------*/

.text-left{

    text-align:left;

}

.text-center{

    text-align:center;

}

.text-right{

    text-align:right;

}

/*--------------------------------------------------------------
# Display
--------------------------------------------------------------*/

.d-none{

    display:none !important;

}

.d-block{

    display:block !important;

}

.d-flex{

    display:flex !important;

}

.d-grid{

    display:grid !important;

}

/*--------------------------------------------------------------
# Flex
--------------------------------------------------------------*/

.align-center{

    align-items:center;

}

.justify-center{

    justify-content:center;

}

.justify-between{

    justify-content:space-between;

}

/*--------------------------------------------------------------
# Width
--------------------------------------------------------------*/

.w-100{

    width:100%;

}

/*--------------------------------------------------------------
# Margin
--------------------------------------------------------------*/

.mt-0{

    margin-top:0;

}

.mb-0{

    margin-bottom:0;

}

.mt-1{

    margin-top:1rem;

}

.mt-2{

    margin-top:2rem;

}

.mt-3{

    margin-top:3rem;

}

.mt-4{

    margin-top:4rem;

}

.mb-1{

    margin-bottom:1rem;

}

.mb-2{

    margin-bottom:2rem;

}

.mb-3{

    margin-bottom:3rem;

}

.mb-4{

    margin-bottom:4rem;

}

/*--------------------------------------------------------------
# Padding
--------------------------------------------------------------*/

.pt-0{

    padding-top:0;

}

.pb-0{

    padding-bottom:0;

}

.pt-1{

    padding-top:1rem;

}

.pb-1{

    padding-bottom:1rem;

}

.pt-2{

    padding-top:2rem;

}

.pb-2{

    padding-bottom:2rem;

}

.pt-3{

    padding-top:3rem;

}

.pb-3{

    padding-bottom:3rem;

}

.pt-4{

    padding-top:4rem;

}

.pb-4{

    padding-bottom:4rem;

}

/*--------------------------------------------------------------
# Visibility
--------------------------------------------------------------*/

.hidden{

    display:none !important;

}

.visible{

    display:block !important;

}

/*--------------------------------------------------------------
# Screen Readers
--------------------------------------------------------------*/

.screen-reader-text{

    position:absolute;

    width:1px;
    height:1px;

    padding:0;
    margin:-1px;

    overflow:hidden;

    clip:rect(0,0,0,0);

    white-space:nowrap;

    border:0;

}

.screen-reader-text:focus{

    position:fixed;

    top:20px;
    left:20px;

    width:auto;
    height:auto;

    padding:1rem 1.5rem;

    background:#fff;

    clip:auto;

    z-index:99999;

}