/* MARGINS */

.m-0 { margin:0rem !important; }
.m-1 { margin:.25rem !important; }
.m-2 { margin:.5rem !important; }
.m-3 { margin:1rem !important; }
.m-4 { margin:1.5rem !important; }
.m-5 { margin:3rem !important; }
.m-auto { margin:auto !important; }

.mt-0 { margin-top:0rem !important; }
.mt-1 { margin-top:.25rem !important; }
.mt-2 { margin-top:.5rem !important; }
.mt-3 { margin-top:1rem !important; }
.mt-4 { margin-top:1.5rem !important; }
.mt-5 { margin-top:3rem !important; }
.mt-auto { margin-top:auto !important; }

.mb-0 { margin-bottom:0rem !important; }
.mb-1 { margin-bottom:.25rem !important; }
.mb-2 { margin-bottom:.5rem !important; }
.mb-3 { margin-bottom:1rem !important; }
.mb-4 { margin-bottom:1.5rem !important; }
.mb-5 { margin-bottom:3rem !important; }
.mb-auto { margin-bottom:auto !important; }

.ms-0 { margin-left:0rem !important; }
.ms-1 { margin-left:.25rem !important; }
.ms-2 { margin-left:.5rem !important; }
.ms-3 { margin-left:1rem !important; }
.ms-4 { margin-left:1.5rem !important; }
.ms-5 { margin-left:3rem !important; }
.ms-auto { margin-left:auto !important; }

.me-0 { margin-right:0rem !important; }
.me-1 { margin-right:.25rem !important; }
.me-2 { margin-right:.5rem !important; }
.me-3 { margin-right:1rem !important; }
.me-4 { margin-right:1.5rem !important; }
.me-5 { margin-right:3rem !important; }
.me-auto { margin-right:auto !important; }

.mx-0 { margin-left:0rem !important;   margin-right:0rem !important; }
.mx-1 { margin-left:.25rem !important; margin-right:.25rem !important; }
.mx-2 { margin-left:.5rem !important;  margin-right:.5rem !important; }
.mx-3 { margin-left:1rem !important;   margin-right:1rem !important;}
.mx-4 { margin-left:1.5rem !important; margin-right:1.5rem !important;}
.mx-5 { margin-left:3rem !important;   margin-right:3rem !important; }
.mx-auto { margin-left:auto !important;   margin-right:auto !important; }

.my-0 { margin-top:0rem !important;   margin-bottom:0rem !important}
.my-1 { margin-top:.25rem !important; margin-bottom:0.25rem !important}
.my-2 { margin-top:.5rem !important;  margin-bottom:0.5rem !important}
.my-3 { margin-top:1rem !important;   margin-bottom:1rem !important}
.my-4 { margin-top:1.5rem !important; margin-bottom:1.5rem !important}
.my-5 { margin-top:3rem !important;   margin-bottom:3rem !important}
.my-auto { margin-top:auto !important;   margin-bottom:auto !important}

/* PADDING */

.p-0 { padding:0rem !important; }
.p-1 { padding:.25rem !important; }
.p-2 { padding:.5rem !important; }
.p-3 { padding:1rem !important; }
.p-4 { padding:1.5rem !important; }
.p-5 { padding:3rem !important; }

.pt-0 { padding-top:0rem !important; }
.pt-1 { padding-top:.25rem !important; }
.pt-2 { padding-top:.5rem !important; }
.pt-3 { padding-top:1rem !important; }
.pt-4 { padding-top:1.5rem !important; }
.pt-5 { padding-top:3rem !important; }

.pb-0 { padding-bottom:0rem !important; }
.pb-1 { padding-bottom:.25rem !important; }
.pb-2 { padding-bottom:.5rem !important; }
.pb-3 { padding-bottom:1rem !important; }
.pb-4 { padding-bottom:1.5rem !important; }
.pb-5 { padding-bottom:3rem !important; }

.ps-0 { padding-left:0rem !important; }
.ps-1 { padding-left:.25rem !important; }
.ps-2 { padding-left:.5rem !important; }
.ps-3 { padding-left:1rem !important; }
.ps-4 { padding-left:1.5rem !important; }
.ps-5 { padding-left:3rem !important; }

.pe-0 { padding-right:0rem !important; }
.pe-1 { padding-right:.25rem !important; }
.pe-2 { padding-right:.5rem !important; }
.pe-3 { padding-right:1rem !important; }
.pe-4 { padding-right:1.5rem !important; }
.pe-5 { padding-right:3rem !important; }

.px-0 { padding-left:0rem !important;   padding-right:0rem !important; }
.px-1 { padding-left:.25rem !important; padding-right:.25rem !important; }
.px-2 { padding-left:.5rem !important;  padding-right:.5rem !important; }
.px-3 { padding-left:1rem !important;   padding-right:1rem !important;}
.px-4 { padding-left:1.5rem !important; padding-right:1.5rem !important;}
.px-5 { padding-left:3rem !important;   padding-right:3rem !important; }

.py-0 { padding-top:0rem !important;   padding-bottom:0rem !important}
.py-1 { padding-top:.25rem !important; padding-bottom:0.25rem !important}
.py-2 { padding-top:.5rem !important;  padding-bottom:0.5rem !important}
.py-3 { padding-top:1rem !important;   padding-bottom:1rem !important}
.py-4 { padding-top:1.5rem !important; padding-bottom:1.5rem !important}
.py-5 { padding-top:3rem !important;   padding-bottom:3rem !important}

/* DISPLAY */

.d-flex { display:flex;}
.d-block { display:block; }
.d-inline-block { display:inline-block; }
.d-inline { display:inline; }
.d-inline-flex { display:inline-flex; }
.d-none { display:none; }

/* FLEX */

.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.flex-wrap { flex-wrap: wrap; }
.justify-content-center { justify-content: center !important; }
.justify-content-around { justify-content: space-around !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-evenly { justify-content: space-evenly !important; }

/* TEXT */

.text-center { text-align: center !important; }
.text-end { text-align: right !important; }
.text-start { text-align: left !important; }
.text-justify { text-align: justify !important; }
.text-muted { color : rgba(33, 37, 41, 0.75) !important; }
.text-warning { color: #ffc107 !important; }
.text-danger { color: #dc3545 !important;}
.lead { font-size: 1.25rem; font-weight: 300; }

.display-1 { font-size:calc(1.625rem + 4.5vw); font-weight:300; line-height:1.2; }
.display-2 { font-size:calc(1.575rem + 3.9vw); font-weight:300; line-height:1.2; }
.display-3 { font-size:calc(1.525rem + 3.3vw); font-weight:300; line-height:1.2; }
.display-4 { font-size:calc(1.475rem + 2.7vw); font-weight:300; line-height:1.2; }
.display-5 { font-size:calc(1.425rem + 2.1vw); font-weight:300; line-height:1.2; }
.display-6 { font-size:calc(1.375rem + 1.5vw); font-weight:300; line-height:1.2; }

/* MISC */

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

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

.float-start { float: left !important; }
.float-end { float:right !important; }

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

*, ::after, ::before { box-sizing: border-box; }

/* HTML */
body { margin: 0; font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";	font-size: 1rem; font-weight: 400; line-height: 1.5; }
p {	margin-top: 0;	margin-bottom: 1rem;}
a { color: #0d6efd; text-decoration: underline; }
a:hover { color: #0a58ca;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 500; line-height: 1.2; }
h1,.h1 { font-size: calc(1.375rem + 1.5vw);}
h2,.h2 { font-size: calc(1.325rem + .9vw);}
h3,.h3 { font-size: calc(1.3rem + .6vw);}
h4,.h4 { font-size: calc(1.275rem + .3vw);}
h5,.h5 { font-size: 1.25rem;}
h6,.h6 { font-size: 1rem;}
hr { margin: 1rem 0; border:0; border-top : 1px solid; opacity: .25; }
ol,ul {  padding-left:2rem; }
dl,ol,ul {  margin-top:0;  margin-bottom:1rem; }
ol ol,ol ul,ul ol,ul ul {  margin-bottom:0; }
.small,small { font-size:.875em; }

/* FORMS */
[role=button] { cursor:pointer; }
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) {  cursor:pointer; }
button { border-radius:0; }
button:focus:not(:focus-visible) { outline:0; }
button,input,optgroup,select,textarea { margin:0; font-family:inherit; font-size:inherit; line-height:inherit }
button,select { text-transform:none }
select { word-wrap:normal }
select:disabled { opacity:1 }
textarea { resize:vertical }

/* TABLE */

img,svg {  vertical-align:middle; }
table {  caption-side:bottom;  border-collapse:collapse; }
caption {  padding-top:.5rem;  padding-bottom:.5rem;  color: #6c757d;  text-align:left; }
th { text-align:inherit; }
tbody,td,tfoot,th,thead,tr {  border-color:inherit;  border-style:solid;  border-width:0; }


/* RESPONSIVE */

.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { width:100%;  padding-right:.75rem;  padding-left:.75rem;  margin-right:auto;  margin-left:auto }

@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 540px;
    }
    .flex-sm-row { flex-direction: row !important; }
    .d-sm-flex { display: flex !important; }
    .d-sm-block { display:block; }
    .d-sm-inline-block { display:inline-block; }
    .d-sm-inline { display:inline; }
    .d-sm-inline-flex { display:inline-flex }
    .float-sm-start { float: left !important; }
    .float-sm-end { float: right !important; }
    .text-sm-end { text-align: right !important; }
    .text-sm-start { text-align: center !important; }
}

@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 720px;
    }
    .flex-md-row { flex-direction: row !important; }
    .d-md-flex { display: flex !important; }
    .d-md-block { display:block; }
    .d-md-inline-block { display:inline-block; }
    .d-md-inline { display:inline; }
    .d-md-inline-flex { display:inline-flex }
    .float-md-start { float: left !important; }
    .float-md-end { float: right !important; }
    .text-md-end { text-align: right !important; }
    .text-md-start { text-align: center !important; }
}

@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 960px;
    }
    .flex-lg-row { flex-direction: row !important; }
    .d-lg-flex { display: flex !important; }
    .d-lg-block { display:block; }
    .d-lg-inline-block { display:inline-block; }
    .d-lg-inline { display:inline; }
    .d-lg-inline-flex { display:inline-flex }
    .float-lg-start { float: left !important; }
    .float-lg-end { float: right !important; }
    .text-lg-end { text-align: right !important; }
    .text-lg-start { text-align: center !important; }
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
    	max-width: 1140px;
    }
    .flex-xl-row { flex-direction: row !important; }
    .d-xl-flex { display: flex !important; }
    .d-xl-block { display:block; }
    .d-xl-inline-block { display:inline-block; }
    .d-xl-inline { display:inline; }
    .d-xl-inline-flex { display:inline-flex }
    .float-xl-start { float: left !important; }
    .float-xl-end { float: right !important; }
    .text-xl-end { text-align: right !important; }
    .text-xl-start { text-align: center !important; }

    .display-1 { font-size:5rem; }
    .display-2 { font-size:4.5rem; }
    .display-3 { font-size:4rem; }
    .display-4 { font-size:3.5rem; }
    .display-5 { font-size:3rem; }
    .display-6 { font-size:2.5rem; }

    h1,.h1 { font-size: 2.5rem;}
    h2,.h2 { font-size: 2rem;}
    h3,.h3 { font-size: 1.75rem;}
    h4,.h4 { font-size: 1.5rem;}
}