
/* ===================================================================
   BOOTSTRAP LITE
   PART 1
===================================================================*/

*,
*::before,
*::after{
    box-sizing:border-box;
}

.container{
    --bs-gutter-x:1.5rem;
    --bs-gutter-y:0;
    width:100%;
    padding-right:calc(var(--bs-gutter-x)*.5);
    padding-left:calc(var(--bs-gutter-x)*.5);
    margin-right:auto;
    margin-left:auto;
}

@media (min-width:576px){
.container{max-width:540px;}
}

@media (min-width:768px){
.container{max-width:720px;}
}

@media (min-width:992px){
.container{max-width:960px;}
}

@media (min-width:1200px){
.container{max-width:1140px;}
}

@media (min-width:1400px){
.container{max-width:1320px;}
}

/* Display */

.d-none{
    display:none!important;
}

.d-block{
    display:block!important;
}

.d-inline-block{
    display:inline-block!important;
}

.d-flex{
    display:flex!important;
}

.d-inline-flex{
    display:inline-flex!important;
}

/* Flex */

.flex-row{
    flex-direction:row!important;
}

.flex-column{
    flex-direction:column!important;
}

.flex-wrap{
    flex-wrap:wrap!important;
}

.flex-nowrap{
    flex-wrap:nowrap!important;
}

.flex-grow-0{
    flex-grow:0!important;
}

.flex-grow-1{
    flex-grow:1!important;
}

.flex-shrink-0{
    flex-shrink:0!important;
}

.flex-shrink-1{
    flex-shrink:1!important;
}

/* Justify */

.justify-content-start{
    justify-content:flex-start!important;
}

.justify-content-end{
    justify-content:flex-end!important;
}

.justify-content-center{
    justify-content:center!important;
}

.justify-content-between{
    justify-content:space-between!important;
}

.justify-content-around{
    justify-content:space-around!important;
}

.justify-content-evenly{
    justify-content:space-evenly!important;
}

/* Align */

.align-items-start{
    align-items:flex-start!important;
}

.align-items-end{
    align-items:flex-end!important;
}

.align-items-center{
    align-items:center!important;
}

.align-items-baseline{
    align-items:baseline!important;
}

.align-items-stretch{
    align-items:stretch!important;
}

.align-self-start{
    align-self:flex-start!important;
}

.align-self-center{
    align-self:center!important;
}

.align-self-end{
    align-self:flex-end!important;
}

/* Width */

.w-100{
    width:100%!important;
}

/* Text */

.text-white{
    color:#fff!important;
}

.text-center{
    text-align:center!important;
}

.small{
    font-size:.875em;
}

/* Margin */

.m-0{margin:0!important;}

.mt-0{margin-top:0!important;}
.mb-0{margin-bottom:0!important;}
.ms-0{margin-left:0!important;}
.me-0{margin-right:0!important;}

.mt-auto{margin-top:auto!important;}
.mb-auto{margin-bottom:auto!important;}
.ms-auto{margin-left:auto!important;}
.me-auto{margin-right:auto!important;}

/* Padding */

.p-0{
    padding:0!important;
}

.py-4{
    padding-top:1.5rem!important;
    padding-bottom:1.5rem!important;
}

.px-4{
    padding-left:1.5rem!important;
    padding-right:1.5rem!important;
}

/* Gap */

.gap-0{
    gap:0!important;
}

.gap-1{
    gap:.25rem!important;
}

.gap-2{
    gap:.5rem!important;
}

.gap-3{
    gap:1rem!important;
}

.gap-4{
    gap:1.5rem!important;
}

.gap-5{
    gap:3rem!important;
}

/* Radius */

.rounded{
    border-radius:.375rem!important;
}

.rounded-pill{
    border-radius:50rem!important;
}

/* ===================================================================
   BOOTSTRAP LITE
   PART 2 - BUTTONS + NAVBAR
===================================================================*/

/* ---------------------------------------------------
   BUTTONS
--------------------------------------------------- */

.btn{
    display:inline-block;
    font-weight:400;
    line-height:1.5;
    color:#212529;
    text-align:center;
    text-decoration:none;
    vertical-align:middle;
    cursor:pointer;
    user-select:none;
    background-color:transparent;
    border:1px solid transparent;
    padding:.375rem .75rem;
    font-size:1rem;
    border-radius:.375rem;
    transition:
        color .15s ease-in-out,
        background-color .15s ease-in-out,
        border-color .15s ease-in-out,
        box-shadow .15s ease-in-out;
}

.btn:hover{
    text-decoration:none;
}

.btn:focus{
    outline:0;
    box-shadow:none;
}

.btn-dark{
    color:#fff;
    background-color:#212529;
    border-color:#212529;
}

.btn-dark:hover{
    color:#fff;
    background:#1c1f23;
    border-color:#1c1f23;
}

.btn-dark:focus{
    color:#fff;
    background:#1c1f23;
}

/* ---------------------------------------------------
   NAV
--------------------------------------------------- */

.nav{
    display:flex;
    flex-wrap:wrap;
    padding-left:0;
    margin-bottom:0;
    list-style:none;
}

.nav-link{
    display:block;
    padding:.5rem 1rem;
    text-decoration:none;
    transition:color .15s ease-in-out;
}

.nav-link:hover{
    text-decoration:none;
}

/* ---------------------------------------------------
   NAVBAR
--------------------------------------------------- */

.navbar{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    padding:.5rem 0;
}

.navbar>.container{
    display:flex;
    flex-wrap:inherit;
    align-items:center;
    justify-content:space-between;
}

.navbar-brand{
    display:inline-block;
    padding-top:.3125rem;
    padding-bottom:.3125rem;
    margin-right:1rem;
    font-size:1.25rem;
    line-height:inherit;
    text-decoration:none;
    white-space:nowrap;
}

.navbar-nav{
    display:flex;
    flex-direction:column;
    padding-left:0;
    margin-bottom:0;
    list-style:none;
}

.navbar-nav .nav-link{
    padding-right:0;
    padding-left:0;
}

.nav-item{
    display:block;
}

.navbar-collapse{
    flex-grow:1;
    flex-basis:100%;
    align-items:center;
}

.navbar-text{
    display:inline-block;
    padding-top:.5rem;
    padding-bottom:.5rem;
}

/* ---------------------------------------------------
   COLLAPSE
--------------------------------------------------- */

.collapse:not(.show){
    display:none;
}

.collapsing{
    height:0;
    overflow:hidden;
    transition:height .35s ease;
}

/* ---------------------------------------------------
   TOGGLER
--------------------------------------------------- */

.navbar-toggler{
    padding:.25rem .75rem;
    font-size:1.25rem;
    line-height:1;
    background:transparent;
    border:1px solid transparent;
    border-radius:.375rem;
    cursor:pointer;
}

.navbar-toggler:hover{
    text-decoration:none;
}

.navbar-toggler:focus{
    outline:0;
    box-shadow:none;
}

.navbar-toggler-icon{
    display:inline-block;
    width:1.5em;
    height:1.5em;
    vertical-align:middle;
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
}

/* ===================================================================
   BOOTSTRAP LITE
   PART 3 - RESPONSIVE NAVBAR (XL)
===================================================================*/

/* ==========================================================
   Desktop (>=1200px)
========================================================== */

@media (min-width:1200px){

    .navbar-expand-xl{
        flex-wrap:nowrap;
        justify-content:flex-start;
    }

    .navbar-expand-xl > .container{
        flex-wrap:nowrap;
    }

    .navbar-expand-xl .navbar-nav{
        flex-direction:row;
        align-items:center;
    }

    .navbar-expand-xl .navbar-collapse{
        display:flex !important;
        flex-basis:auto;
    }

    .navbar-expand-xl .navbar-toggler{
        display:none;
    }

    .navbar-expand-xl .collapse{
        display:flex !important;
    }

}

/* ==========================================================
   Mobile (<1200px)
========================================================== */

@media (max-width:1199.98px){

    .navbar-expand-xl{
        flex-wrap:wrap;
    }

    .navbar-expand-xl > .container{
        flex-wrap:wrap;
    }

    .navbar-expand-xl .navbar-collapse{

        flex-basis:100%;
        flex-grow:1;
        width:100%;
    }

    .navbar-expand-xl .navbar-nav{

        flex-direction:column;
        width:100%;
    }

    .navbar-expand-xl .nav-item{

        width:100%;
    }

    .navbar-expand-xl .nav-link{

        display:block;
        width:100%;
    }

    .navbar-expand-xl .navbar-toggler{

        display:block;
    }

}

/* ==========================================================
   Collapse
========================================================== */

.collapse{

    display:none;
}

.collapse.show{

    display:block;
}

.navbar-collapse.show{

    display:block;
}

@media (min-width:1200px){

    .collapse{

        display:flex !important;
    }

}

/* ==========================================================
   Navbar Alignment
========================================================== */

.navbar>.container{

    display:flex;
    align-items:center;
    justify-content:space-between;
}

.navbar-collapse{

    justify-content:flex-end;
}

.navbar-nav{

    margin:0;
    padding:0;
}

/* ==========================================================
   Reset List
========================================================== */

.navbar-nav li{

    list-style:none;
}

/* ==========================================================
   Images
========================================================== */

.img-fluid{

    max-width:100%;
    height:auto;
}

/* ==========================================================
   Utility
========================================================== */

.position-relative{

    position:relative;
}

.position-absolute{

    position:absolute;
}

.overflow-hidden{

    overflow:hidden;
}

.h-100{

    height:100%;
}

.min-vh-100{

    min-height:100vh;
}

/* ===================================================================
   BOOTSTRAP LITE
   PART 4 - UTILITIES & FINAL HELPERS
===================================================================*/

/* ==========================================================
   Float
========================================================== */

.float-start{
    float:left!important;
}

.float-end{
    float:right!important;
}

.float-none{
    float:none!important;
}

/* ==========================================================
   Position
========================================================== */

.position-static{
    position:static!important;
}

.position-relative{
    position:relative!important;
}

.position-absolute{
    position:absolute!important;
}

.position-fixed{
    position:fixed!important;
}

.position-sticky{
    position:sticky!important;
}

/* ==========================================================
   Width / Height
========================================================== */

.w-auto{
    width:auto!important;
}

.h-auto{
    height:auto!important;
}

.vh-100{
    height:100vh!important;
}

.min-vh-100{
    min-height:100vh!important;
}

/* ==========================================================
   Overflow
========================================================== */

.overflow-hidden{
    overflow:hidden!important;
}

.overflow-auto{
    overflow:auto!important;
}

.overflow-visible{
    overflow:visible!important;
}

/* ==========================================================
   Cursor
========================================================== */

.pointer{
    cursor:pointer;
}

/* ==========================================================
   Images
========================================================== */

.img-fluid{
    max-width:100%;
    height:auto;
}

.img-thumbnail{
    max-width:100%;
    height:auto;
}

/* ==========================================================
   Navbar Toggler Icon
========================================================== */

.navbar-toggler-icon{

    display:inline-block;
    width:1.5em;
    height:1.5em;
    vertical-align:middle;

    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
}

/* ==========================================================
   Collapse Animation
========================================================== */

.collapsing{

    height:0;
    overflow:hidden;

    transition:
        height .35s ease;
}

/* ==========================================================
   Accessibility
========================================================== */

.visually-hidden{

    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

/* ==========================================================
   Reset
========================================================== */

.navbar a{

    text-decoration:none;
}

.navbar-nav{

    margin:0;
    padding:0;
}

.navbar-nav>.nav-item{

    margin:0;
    padding:0;
}

.navbar-nav>.nav-item>.nav-link{

    white-space:nowrap;
}

.navbar-collapse{

    transition:all .35s ease;
}

.navbar-toggler{

    outline:none;
    box-shadow:none;
}

.navbar-toggler:focus{

    outline:none;
    box-shadow:none;
}

/* ==========================================================
   End
========================================================== */