.align-baseline
{
    vertical-align: baseline !important;
}

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

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

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

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

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

.bg-faded
{
    background-color: #f7f7f9;
}

.bg-primary
{
    background-color: #62b3e5 !important;
}

a.bg-primary:focus,
a.bg-primary:hover
{
    background-color: #369ede !important;
}

.bg-success
{
    background-color: #6cc04a !important;
}

a.bg-success:focus,
a.bg-success:hover
{
    background-color: #559f38 !important;
}

.bg-info
{
    background-color: #9acaeb !important;
}

a.bg-info:focus,
a.bg-info:hover
{
    background-color: #6fb4e3 !important;
}

.bg-warning
{
    background-color: #f78d2d !important;
}

a.bg-warning:focus,
a.bg-warning:hover
{
    background-color: #e87309 !important;
}

.bg-danger
{
    background-color: #e56385 !important;
}

a.bg-danger:focus,
a.bg-danger:hover
{
    background-color: #de3763 !important;
}

.bg-inverse
{
    background-color: #373a3c !important;
}

a.bg-inverse:focus,
a.bg-inverse:hover
{
    background-color: #1f2021 !important;
}

.rounded
{
    border-radius: .25rem;
}

.rounded-top
{
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
}

.rounded-right
{
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
}

.rounded-bottom
{
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem;
}

.rounded-left
{
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
}

.rounded-circle
{
    border-radius: 50%;
}

.clearfix::after
{
    display: table;
    clear: both;

    content: '';
}

.d-block
{
    display: block !important;
}

.d-inline-block
{
    display: inline-block !important;
}

.d-inline
{
    display: inline !important;
}

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

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

.float-xs-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;
    }
}

.sr-only
{
    position: absolute;

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

    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;

    border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus
{
    position: static;

    overflow: visible;
    clip: auto;

    width: auto;
    height: auto;
    margin: 0;
}

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

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

.mx-auto
{
    margin-right: auto !important;
    margin-left: auto !important;
}

.m-0
{
    margin: 0 0 !important;
}

.mt-0
{
    margin-top: 0 !important;
}

.mr-0
{
    margin-right: 0 !important;
}

.mb-0
{
    margin-bottom: 0 !important;
}

.ml-0
{
    margin-left: 0 !important;
}

.mx-0
{
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.my-0
{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.m-1
{
    margin: 1rem 1rem !important;
}

.mt-1
{
    margin-top: 1rem !important;
}

.mr-1
{
    margin-right: 1rem !important;
}

.mb-1
{
    margin-bottom: 1rem !important;
}

.ml-1
{
    margin-left: 1rem !important;
}

.mx-1
{
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}

.my-1
{
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.m-2
{
    margin: 1.5rem 1.5rem !important;
}

.mt-2
{
    margin-top: 1.5rem !important;
}

.mr-2
{
    margin-right: 1.5rem !important;
}

.mb-2
{
    margin-bottom: 1.5rem !important;
}

.ml-2
{
    margin-left: 1.5rem !important;
}

.mx-2
{
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
}

.my-2
{
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.m-3
{
    margin: 3rem 3rem !important;
}

.mt-3
{
    margin-top: 3rem !important;
}

.mr-3
{
    margin-right: 3rem !important;
}

.mb-3
{
    margin-bottom: 3rem !important;
}

.ml-3
{
    margin-left: 3rem !important;
}

.mx-3
{
    margin-right: 3rem !important;
    margin-left: 3rem !important;
}

.my-3
{
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.p-0
{
    padding: 0 0 !important;
}

.pt-0
{
    padding-top: 0 !important;
}

.pr-0
{
    padding-right: 0 !important;
}

.pb-0
{
    padding-bottom: 0 !important;
}

.pl-0
{
    padding-left: 0 !important;
}

.px-0
{
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.py-0
{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.p-1
{
    padding: 1rem 1rem !important;
}

.pt-1
{
    padding-top: 1rem !important;
}

.pr-1
{
    padding-right: 1rem !important;
}

.pb-1
{
    padding-bottom: 1rem !important;
}

.pl-1
{
    padding-left: 1rem !important;
}

.px-1
{
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}

.py-1
{
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.p-2
{
    padding: 1.5rem 1.5rem !important;
}

.pt-2
{
    padding-top: 1.5rem !important;
}

.pr-2
{
    padding-right: 1.5rem !important;
}

.pb-2
{
    padding-bottom: 1.5rem !important;
}

.pl-2
{
    padding-left: 1.5rem !important;
}

.px-2
{
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}

.py-2
{
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.p-3
{
    padding: 3rem 3rem !important;
}

.pt-3
{
    padding-top: 3rem !important;
}

.pr-3
{
    padding-right: 3rem !important;
}

.pb-3
{
    padding-bottom: 3rem !important;
}

.pl-3
{
    padding-left: 3rem !important;
}

.px-3
{
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.py-3
{
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

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

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

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

.text-truncate
{
    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.text-xs-left
{
    text-align: left !important;
}

.text-xs-right
{
    text-align: right !important;
}

.text-xs-center
{
    text-align: center !important;
}

@media (min-width: 576px)
{
    .text-sm-left
    {
        text-align: left !important;
    }
    .text-sm-right
    {
        text-align: right !important;
    }
    .text-sm-center
    {
        text-align: center !important;
    }
}

@media (min-width: 768px)
{
    .text-md-left
    {
        text-align: left !important;
    }
    .text-md-right
    {
        text-align: right !important;
    }
    .text-md-center
    {
        text-align: center !important;
    }
}

@media (min-width: 992px)
{
    .text-lg-left
    {
        text-align: left !important;
    }
    .text-lg-right
    {
        text-align: right !important;
    }
    .text-lg-center
    {
        text-align: center !important;
    }
}

@media (min-width: 1200px)
{
    .text-xl-left
    {
        text-align: left !important;
    }
    .text-xl-right
    {
        text-align: right !important;
    }
    .text-xl-center
    {
        text-align: center !important;
    }
}

.text-lowercase
{
    text-transform: lowercase !important;
}

.text-uppercase
{
    text-transform: uppercase !important;
}

.text-capitalize
{
    text-transform: capitalize !important;
}

.font-weight-normal
{
    font-weight: normal;
}

.font-weight-bold
{
    font-weight: bold;
}

.font-italic
{
    font-style: italic;
}

.text-white
{
    color: #fff !important;
}

.text-muted
{
    color: #818a91 !important;
}

a.text-muted:focus,
a.text-muted:hover
{
    color: #687077 !important;
}

.text-primary
{
    color: #62b3e5 !important;
}

a.text-primary:focus,
a.text-primary:hover
{
    color: #369ede !important;
}

.text-success
{
    color: #6cc04a !important;
}

a.text-success:focus,
a.text-success:hover
{
    color: #559f38 !important;
}

.text-info
{
    color: #9acaeb !important;
}

a.text-info:focus,
a.text-info:hover
{
    color: #6fb4e3 !important;
}

.text-warning
{
    color: #f78d2d !important;
}

a.text-warning:focus,
a.text-warning:hover
{
    color: #e87309 !important;
}

.text-danger
{
    color: #e56385 !important;
}

a.text-danger:focus,
a.text-danger:hover
{
    color: #de3763 !important;
}

.text-gray-dark
{
    color: #373a3c !important;
}

a.text-gray-dark:focus,
a.text-gray-dark:hover
{
    color: #1f2021 !important;
}

.text-hide
{
    font: 0/0 a;

    color: transparent;
    border: 0;
    background-color: transparent;
    text-shadow: none;
}

.invisible
{
    visibility: hidden !important;
}

.hidden-xs-up
{
    display: none !important;
}

@media (max-width: 575px)
{
    .hidden-xs-down
    {
        display: none !important;
    }
}

@media (min-width: 576px)
{
    .hidden-sm-up
    {
        display: none !important;
    }
}

@media (max-width: 767px)
{
    .hidden-sm-down
    {
        display: none !important;
    }
}

@media (min-width: 768px)
{
    .hidden-md-up
    {
        display: none !important;
    }
}

@media (max-width: 991px)
{
    .hidden-md-down
    {
        display: none !important;
    }
}

@media (min-width: 992px)
{
    .hidden-lg-up
    {
        display: none !important;
    }
}

@media (max-width: 1199px)
{
    .hidden-lg-down
    {
        display: none !important;
    }
}

@media (min-width: 1200px)
{
    .hidden-xl-up
    {
        display: none !important;
    }
}

.hidden-xl-down
{
    display: none !important;
}

.visible-print-block
{
    display: none !important;
}

@media print
{
    .visible-print-block
    {
        display: block !important;
    }
}

.visible-print-inline
{
    display: none !important;
}

@media print
{
    .visible-print-inline
    {
        display: inline !important;
    }
}

.visible-print-inline-block
{
    display: none !important;
}

@media print
{
    .visible-print-inline-block
    {
        display: inline-block !important;
    }
}

@media print
{
    .hidden-print
    {
        display: none !important;
    }
}

.pull-right
{
    float: right;
}

.pull-left
{
    float: left;
}

.reset-appearance
{
    line-height: inherit;

    margin: 0;
    padding: 0;

    border: 0 none;
    background: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.resize-none
{
    resize: none;
}

.resize-vertical
{
    min-height: 2em;

    resize: vertical;
}

.resize-horizontal
{
    max-width: 100%;

    resize: horizontal;
}

.resize-both
{
    max-width: 100%;
    min-height: 2em;

    resize: both;
}

.nowrap
{
    white-space: nowrap;
}

/**
 * @file
 * Alignment classes for text and block level elements.
 *
 * @todo Check if conflicts with Bootstarp + REFACTOR
 */
.text-align-left
{
    text-align: left;
}

.text-align-right
{
    text-align: right;
}

.text-align-center
{
    text-align: center;
}

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

/**
 * Alignment classes for block level elements (images, videos, blockquotes, etc.)
 */
.align-left
{
    float: left;
}

.align-right
{
    float: right;
}

.align-center
{
    display: block;

    margin-right: auto;
    margin-left: auto;
}

.caret-left::after,
.caret-right::after,
.caret-down::after,
.caret-up::after
{
    display: inline-block;

    width: 0;
    height: 0;

    content: ' ';
    vertical-align: middle;
}

.caret-left::after
{
    margin-left: .15em;

    border-top: .3em solid transparent;
    border-right: .3em solid #333;
    border-bottom: .3em solid transparent;
}

.caret-right::after
{
    margin-left: .15em;

    border-top: .3em solid transparent;
    border-bottom: .3em solid transparent;
    border-left: .3em solid #333;
}

.caret-down::after
{
    margin-left: .15em;

    border-top: .3em solid #333;
    border-right: .3em solid transparent;
    border-left: .3em solid transparent;
}

.caret-up::after
{
    margin-left: .15em;

    border-right: .3em solid transparent;
    border-bottom: .3em solid #333;
    border-left: .3em solid transparent;
}

/*
 * @file
 * Contain positioned elements.
 */
.position-container
{
    position: relative;
}
