@charset "UTF-8";
:root {
    --bs-blue: #2937f0;
    --bs-indigo: #6610f2;
    --bs-purple: #9f1ae2;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #2937f0;
    --bs-secondary: #9f1ae2;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 41,55,240;
    --bs-secondary-rgb: 159,26,226;
    --bs-success-rgb: 25,135,84;
    --bs-info-rgb: 13,202,240;
    --bs-warning-rgb: 255,193,7;
    --bs-danger-rgb: 220,53,69;
    --bs-light-rgb: 248,249,250;
    --bs-dark-rgb: 33,37,41;
    --bs-white-rgb: 255,255,255;
    --bs-black-rgb: 0,0,0;
    --bs-body-color-rgb: 33,37,41;
    --bs-body-bg-rgb: 255,255,255;
    --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: Mulish,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 500;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff
}

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

@media (prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-family: Newsreader,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    font-weight: 600;
    line-height: 1.2
}

.h1, h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media (min-width:1200px) {
    .h1, h1 {
        font-size: 2.5rem
    }
}

.h2, h2 {
    font-size: calc(1.325rem + .9vw)
}

@media (min-width:1200px) {
    .h2, h2 {
        font-size: 2rem
    }
}

.h3, h3 {
    font-size: calc(1.3rem + .6vw)
}

@media (min-width:1200px) {
    .h3, h3 {
        font-size: 1.75rem
    }
}

.h4, h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width:1200px) {
    .h4, h4 {
        font-size: 1.5rem
    }
}

.h5, h5 {
    font-size: 1.25rem
}

.h6, h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

ul {
    padding-left: 2rem
}

ul {
    margin-top: 0;
    margin-bottom: 1rem
}

    ul ul {
        margin-bottom: 0
    }

b {
    font-weight: bolder
}

.small, small {
    font-size: .875em
}

a {
    color: #2937f0;
    text-decoration: underline
}

    a:hover {
        color: #212cc0
    }

    a:not([href]):not([class]), a:not([href]):not([class]):hover {
        color: inherit;
        text-decoration: none
    }

img, svg {
    vertical-align: middle
}

[role=button] {
    cursor: pointer
}

[list]::-webkit-calendar-picker-indicator {
    display: none
}

[type=button], [type=reset], [type=submit] {
    -webkit-appearance: button
}

    [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) {
        cursor: pointer
    }

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: textfield
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::-webkit-file-upload-button {
    font: inherit
}

::file-selector-button {
    font: inherit
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

[hidden] {
    display: none !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
}

@media (min-width:1200px) {
    .display-1 {
        font-size: 5rem
    }
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-2 {
        font-size: 4.5rem
    }
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-3 {
        font-size: 4rem
    }
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-4 {
        font-size: 3.5rem
    }
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-5 {
        font-size: 3rem
    }
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2
}

@media (min-width:1200px) {
    .display-6 {
        font-size: 2.5rem
    }
}

.container, .container-lg, .container-sm {
    width: 100%;
    padding-right: var(--bs-gutter-x,.75rem);
    padding-left: var(--bs-gutter-x,.75rem);
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {
    .container, .container-sm {
        max-width: 540px
    }
}

@media (min-width:768px) {
    .container, .container-sm {
        max-width: 720px
    }
}

@media (min-width:992px) {
    .container, .container-lg, .container-sm {
        max-width: 960px
    }
}

@media (min-width:1200px) {
    .container, .container-lg, .container-sm {
        max-width: 1140px
    }
}

@media (min-width:1400px) {
    .container, .container-lg, .container-sm {
        max-width: 1320px
    }
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x))
}

    .row > * {
        flex-shrink: 0;
        width: 100%;
        max-width: 100%;
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
        margin-top: var(--bs-gutter-y)
    }

.col {
    flex: 1 0 0%
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.gx-0 {
    --bs-gutter-x: 0
}

.gx-1 {
    --bs-gutter-x: 0.25rem
}

.gx-2 {
    --bs-gutter-x: 0.5rem
}

.gx-3 {
    --bs-gutter-x: 1rem
}

.gx-4 {
    --bs-gutter-x: 1.5rem
}

.gx-5 {
    --bs-gutter-x: 3rem
}

@media (min-width:576px) {
    .col-sm {
        flex: 1 0 0%
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.33333333%
    }

    .offset-sm-2 {
        margin-left: 16.66666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.33333333%
    }

    .offset-sm-5 {
        margin-left: 41.66666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.33333333%
    }

    .offset-sm-8 {
        margin-left: 66.66666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.33333333%
    }

    .offset-sm-11 {
        margin-left: 91.66666667%
    }

    .gx-sm-0 {
        --bs-gutter-x: 0
    }

    .gx-sm-1 {
        --bs-gutter-x: 0.25rem
    }

    .gx-sm-2 {
        --bs-gutter-x: 0.5rem
    }

    .gx-sm-3 {
        --bs-gutter-x: 1rem
    }

    .gx-sm-4 {
        --bs-gutter-x: 1.5rem
    }

    .gx-sm-5 {
        --bs-gutter-x: 3rem
    }
}

@media (min-width:992px) {
    .col-lg {
        flex: 1 0 0%
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .offset-lg-2 {
        margin-left: 16.66666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.33333333%
    }

    .offset-lg-5 {
        margin-left: 41.66666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.33333333%
    }

    .offset-lg-8 {
        margin-left: 66.66666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.33333333%
    }

    .offset-lg-11 {
        margin-left: 91.66666667%
    }

    .gx-lg-0 {
        --bs-gutter-x: 0
    }

    .gx-lg-1 {
        --bs-gutter-x: 0.25rem
    }

    .gx-lg-2 {
        --bs-gutter-x: 0.5rem
    }

    .gx-lg-3 {
        --bs-gutter-x: 1rem
    }

    .gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .gx-lg-5 {
        --bs-gutter-x: 3rem
    }
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #dc3545
}

.btn {
    display: inline-block;
    font-weight: 500;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .btn {
        transition: none
    }
}

.btn:hover {
    color: #212529
}

.btn:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(41,55,240,.25)
}

.btn.disabled, .btn:disabled {
    pointer-events: none;
    opacity: .65
}

.btn-primary {
    color: #fff;
    background-color: #2937f0;
    border-color: #2937f0
}

    .btn-primary:hover {
        color: #fff;
        background-color: #232fcc;
        border-color: #212cc0
    }

    .btn-primary:focus {
        color: #fff;
        background-color: #232fcc;
        border-color: #212cc0;
        box-shadow: 0 0 0 .25rem rgba(73,85,242,.5)
    }

    .btn-primary:active {
        color: #fff;
        background-color: #212cc0;
        border-color: #1f29b4
    }

        .btn-primary:active:focus {
            box-shadow: 0 0 0 .25rem rgba(73,85,242,.5)
        }

    .btn-primary.disabled, .btn-primary:disabled {
        color: #fff;
        background-color: #2937f0;
        border-color: #2937f0
    }

.btn-secondary {
    color: #fff;
    background-color: #9f1ae2;
    border-color: #9f1ae2
}

    .btn-secondary:hover {
        color: #fff;
        background-color: #8716c0;
        border-color: #7f15b5
    }

    .btn-secondary:focus {
        color: #fff;
        background-color: #8716c0;
        border-color: #7f15b5;
        box-shadow: 0 0 0 .25rem rgba(173,60,230,.5)
    }

    .btn-secondary:active {
        color: #fff;
        background-color: #7f15b5;
        border-color: #7714aa
    }

        .btn-secondary:active:focus {
            box-shadow: 0 0 0 .25rem rgba(173,60,230,.5)
        }

    .btn-secondary.disabled, .btn-secondary:disabled {
        color: #fff;
        background-color: #9f1ae2;
        border-color: #9f1ae2
    }

.btn-light {
    color: #000;
    background-color: #f8f9fa;
    border-color: #f8f9fa
}

    .btn-light:hover {
        color: #000;
        background-color: #f9fafb;
        border-color: #f9fafb
    }

    .btn-light:focus {
        color: #000;
        background-color: #f9fafb;
        border-color: #f9fafb;
        box-shadow: 0 0 0 .25rem rgba(211,212,213,.5)
    }

    .btn-light:active {
        color: #000;
        background-color: #f9fafb;
        border-color: #f9fafb
    }

        .btn-light:active:focus {
            box-shadow: 0 0 0 .25rem rgba(211,212,213,.5)
        }

    .btn-light.disabled, .btn-light:disabled {
        color: #000;
        background-color: #f8f9fa;
        border-color: #f8f9fa
    }

.btn-link {
    font-weight: 500;
    color: #2937f0;
    text-decoration: underline
}

    .btn-link:hover {
        color: #212cc0
    }

    .btn-link.disabled, .btn-link:disabled {
        color: #6c757d
    }

.btn-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem
}

.btn-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.page-link {
    position: relative;
    display: block;
    color: #2937f0;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .page-link {
        transition: none
    }
}

.page-link:hover {
    z-index: 2;
    color: #212cc0;
    background-color: #e9ecef;
    border-color: #dee2e6
}

.page-link:focus {
    z-index: 3;
    color: #212cc0;
    background-color: #e9ecef;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(41,55,240,.25)
}

.page-link {
    padding: .375rem .75rem
}

@-webkit-keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem
    }
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem
    }
}

@-webkit-keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

@-webkit-keyframes spinner-grow {
    0% {
        transform: scale(0)
    }

    50% {
        opacity: 1;
        transform: none
    }
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }

    50% {
        opacity: 1;
        transform: none
    }
}

@-webkit-keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

@keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

@-webkit-keyframes placeholder-wave {
    100% {
        -webkit-mask-position: -200% 0;
        mask-position: -200% 0
    }
}

@keyframes placeholder-wave {
    100% {
        -webkit-mask-position: -200% 0;
        mask-position: -200% 0
    }
}

.link-primary {
    color: #2937f0
}

    .link-primary:focus, .link-primary:hover {
        color: #212cc0
    }

.link-secondary {
    color: #9f1ae2
}

    .link-secondary:focus, .link-secondary:hover {
        color: #7f15b5
    }

.link-light {
    color: #f8f9fa
}

    .link-light:focus, .link-light:hover {
        color: #f9fafb
    }

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

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

.opacity-0 {
    opacity: 0 !important
}

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

.opacity-50 {
    opacity: .5 !important
}

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

.opacity-100 {
    opacity: 1 !important
}

.d-block {
    display: block !important
}

.d-none {
    display: none !important
}

.top-0 {
    top: 0 !important
}

.top-50 {
    top: 50% !important
}

.top-100 {
    top: 100% !important
}

.start-0 {
    left: 0 !important
}

.start-50 {
    left: 50% !important
}

.start-100 {
    left: 100% !important
}

.end-0 {
    right: 0 !important
}

.end-50 {
    right: 50% !important
}

.end-100 {
    right: 100% !important
}

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

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

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

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

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

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

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

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

.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
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.mb-0 {
    margin-bottom: 0 !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
}

.p-0 {
    padding: 0 !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
}

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

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

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

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

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

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

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

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

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .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
}

.fw-light {
    font-weight: 300 !important
}

.fw-normal {
    font-weight: 500 !important
}

.lh-1 {
    line-height: 1 !important
}

.lh-sm {
    line-height: 1.25 !important
}

.lh-lg {
    line-height: 2 !important
}

.text-start {
    text-align: left !important
}

.text-end {
    text-align: right !important
}

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

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb),var(--bs-text-opacity)) !important
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb),var(--bs-text-opacity)) !important
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb),var(--bs-text-opacity)) !important
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-black-rgb),var(--bs-text-opacity)) !important
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb),var(--bs-text-opacity)) !important
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb),var(--bs-text-opacity)) !important
}

.text-muted {
    --bs-text-opacity: 1;
    color: #6c757d !important
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: rgba(0,0,0,.5) !important
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255,255,255,.5) !important
}

.text-opacity-25 {
    --bs-text-opacity: 0.25
}

.text-opacity-50 {
    --bs-text-opacity: 0.5
}

.text-opacity-75 {
    --bs-text-opacity: 0.75
}

.text-opacity-100 {
    --bs-text-opacity: 1
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb),var(--bs-bg-opacity)) !important
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity)) !important
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb),var(--bs-bg-opacity)) !important
}

.bg-black {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-black-rgb),var(--bs-bg-opacity)) !important
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb),var(--bs-bg-opacity)) !important
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity)) !important
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1
}

.bg-opacity-25 {
    --bs-bg-opacity: 0.25
}

.bg-opacity-50 {
    --bs-bg-opacity: 0.5
}

.bg-opacity-75 {
    --bs-bg-opacity: 0.75
}

.bg-opacity-100 {
    --bs-bg-opacity: 1
}

.bg-gradient {
    background-image: var(--bs-gradient) !important
}

@media (min-width:576px) {
    .d-sm-block {
        display: block !important
    }

    .d-sm-none {
        display: none !important
    }

    .justify-content-sm-start {
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        justify-content: center !important
    }

    .justify-content-sm-between {
        justify-content: space-between !important
    }

    .align-items-sm-start {
        align-items: flex-start !important
    }

    .align-items-sm-end {
        align-items: flex-end !important
    }

    .align-items-sm-center {
        align-items: center !important
    }

    .align-content-sm-start {
        align-content: flex-start !important
    }

    .align-content-sm-end {
        align-content: flex-end !important
    }

    .align-content-sm-center {
        align-content: center !important
    }

    .align-content-sm-between {
        align-content: space-between !important
    }

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

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

    .mb-sm-2 {
        margin-bottom: .5rem !important
    }

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

    .mb-sm-4 {
        margin-bottom: 1.5rem !important
    }

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

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

    .p-sm-1 {
        padding: .25rem !important
    }

    .p-sm-2 {
        padding: .5rem !important
    }

    .p-sm-3 {
        padding: 1rem !important
    }

    .p-sm-4 {
        padding: 1.5rem !important
    }

    .p-sm-5 {
        padding: 3rem !important
    }

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

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

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

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

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

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

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

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

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

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

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

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

    .text-sm-start {
        text-align: left !important
    }

    .text-sm-end {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media (min-width:992px) {
    .d-lg-block {
        display: block !important
    }

    .d-lg-none {
        display: none !important
    }

    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }

    .justify-content-lg-center {
        justify-content: center !important
    }

    .justify-content-lg-between {
        justify-content: space-between !important
    }

    .align-items-lg-start {
        align-items: flex-start !important
    }

    .align-items-lg-end {
        align-items: flex-end !important
    }

    .align-items-lg-center {
        align-items: center !important
    }

    .align-content-lg-start {
        align-content: flex-start !important
    }

    .align-content-lg-end {
        align-content: flex-end !important
    }

    .align-content-lg-center {
        align-content: center !important
    }

    .align-content-lg-between {
        align-content: space-between !important
    }

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

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

    .mb-lg-2 {
        margin-bottom: .5rem !important
    }

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

    .mb-lg-4 {
        margin-bottom: 1.5rem !important
    }

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

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

    .p-lg-1 {
        padding: .25rem !important
    }

    .p-lg-2 {
        padding: .5rem !important
    }

    .p-lg-3 {
        padding: 1rem !important
    }

    .p-lg-4 {
        padding: 1.5rem !important
    }

    .p-lg-5 {
        padding: 3rem !important
    }

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

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

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

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

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

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

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

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

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

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

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

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

    .text-lg-start {
        text-align: left !important
    }

    .text-lg-end {
        text-align: right !important
    }

    .text-lg-center {
        text-align: center !important
    }
}

html {
    scroll-padding-top: 4.5rem
}

.bg-black {
    background-color: #000 !important
}

.bg-gradient-primary-to-secondary {
    background: linear-gradient(45deg,#2937f0,#9f1ae2) !important
}

.text-gradient {
    background: -webkit-linear-gradient(#2937f0,#9f1ae2);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

aside, section {
    padding-top: 5rem;
    padding-bottom: 5rem
}
/*!
 * html5-device-mockups (https://github.com/pixelsign/html5-device-mockups)
 * Copyright 2013 - 2017 pixelsign
 * Licensed under MIT (https://github.com/pixelsign/html5-device-mockups/blob/master/LICENSE.txt)
 * Last Build: Tue Nov 14 2017 12:40:57
 */

.device-wrapper {
    max-width: 300px;
    width: 100%
}

.device {
    position: relative;
    background-size: cover
}

    .device::after {
        position: absolute;
        background-size: cover;
        width: 100%;
        height: 100%;
        pointer-events: none
    }

    .device .screen {
        position: absolute;
        background-size: cover;
        pointer-events: auto
    }

    .device[data-device=iPhoneX][data-orientation=portrait][data-color=black] {
        padding-bottom: 198.898071625%
    }

        .device[data-device=iPhoneX][data-orientation=portrait][data-color=black] .screen {
            top: 3.1855955679%;
            left: 6.8870523416%;
            width: 86.2258953168%;
            height: 93.6288088643%
        }

        .device[data-device=iPhoneX][data-orientation=portrait][data-color=black]::after {
            content: "";
            background-image: url(../assets/img/portrait_black.png)
        }

.icon-feature {
    font-size: 4rem
}

.features-device-mockup {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

    .features-device-mockup .circle {
        position: absolute;
        left: 0;
        fill: url(#circleGradient);
        width: 70%;
        display: none
    }

        .features-device-mockup .circle .gradient-start-color {
            stop-color: #2937f0
        }

        .features-device-mockup .circle .gradient-end-color {
            stop-color: #9f1ae2
        }

    .features-device-mockup .shape-1 {
        position: absolute;
        height: 1rem;
        width: 1rem;
        transform: rotate(10deg);
        fill: #2937f0;
        top: 15%;
        right: 10%
    }

    .features-device-mockup .shape-2 {
        position: absolute;
        height: .75rem;
        width: .75rem;
        fill: #2937f0;
        bottom: 15%;
        left: 10%
    }

    .features-device-mockup .device-wrapper {
        max-width: 10rem
    }

@media (min-width:576px) {
    .features-device-mockup .circle {
        width: 70%;
        display: block;
        left: auto
    }

    .features-device-mockup .device-wrapper {
        max-width: 12.5rem
    }
}

@media (min-width:768px) {
    .features-device-mockup .circle {
        width: 60%;
        left: auto
    }

    .features-device-mockup .device-wrapper {
        max-width: 15rem
    }
}

@media (min-width:992px) {
    .features-device-mockup .circle {
        width: 90%;
        left: -25%
    }

    .features-device-mockup .shape-1 {
        top: 5%;
        right: -15%
    }

    .features-device-mockup .shape-2 {
        bottom: 10%;
        left: -10%
    }

    .features-device-mockup .device-wrapper {
        max-width: 15rem;
        margin-left: auto
    }
}

@media (min-width:1200px) {
    .features-device-mockup .circle {
        width: 75%;
        left: 0
    }

    .features-device-mockup .shape-2 {
        bottom: 15%;
        left: 10%
    }

    .features-device-mockup .device-wrapper {
        max-width: 15rem
    }
}

@media (min-width:1400px) {
    .features-device-mockup .circle {
        width: 80%;
        left: 0
    }

    .features-device-mockup .device-wrapper {
        max-width: 17rem
    }
}

footer a {
    color: rgba(255,255,255,.5);
    text-decoration: none
}

    footer a:active, footer a:focus, footer a:hover {
        color: rgba(255,255,255,.75);
        text-decoration: underline
    }

.masthead {
    background-color: #f8f9fa;
    padding-top: 5rem;
    padding-bottom: 5rem
}

    .masthead .masthead-device-mockup {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative
    }

        .masthead .masthead-device-mockup .circle {
            position: absolute;
            fill: url(#circleGradient);
            width: 70%;
            display: none
        }

            .masthead .masthead-device-mockup .circle .gradient-start-color {
                stop-color: #2937f0
            }

            .masthead .masthead-device-mockup .circle .gradient-end-color {
                stop-color: #9f1ae2
            }

        .masthead .masthead-device-mockup .shape-1 {
            position: absolute;
            height: 1rem;
            width: 1rem;
            transform: rotate(-10deg);
            fill: #2937f0;
            bottom: 15%;
            left: 10%
        }

        .masthead .masthead-device-mockup .shape-2 {
            position: absolute;
            height: .75rem;
            width: .75rem;
            fill: #2937f0;
            top: 15%;
            right: 10%
        }

        .masthead .masthead-device-mockup .device-wrapper {
            max-width: 10rem
        }

@media (min-width:576px) {
    .masthead .masthead-device-mockup .circle {
        width: 70%;
        display: block
    }

    .masthead .masthead-device-mockup .device-wrapper {
        max-width: 12.5rem
    }
}

@media (min-width:768px) {
    .masthead .masthead-device-mockup .circle {
        width: 60%
    }

    .masthead .masthead-device-mockup .device-wrapper {
        max-width: 15rem
    }
}

@media (min-width:992px) {
    .masthead .masthead-device-mockup .circle {
        width: 90%
    }

    .masthead .masthead-device-mockup .device-wrapper {
        max-width: 15rem
    }
}

@media (min-width:1200px) {
    .masthead .masthead-device-mockup .circle {
        width: 75%
    }

    .masthead .masthead-device-mockup .device-wrapper {
        max-width: 15rem
    }
}

@media (min-width:1400px) {
    .masthead .masthead-device-mockup .circle {
        width: 70%
    }

    .masthead .masthead-device-mockup .device-wrapper {
        max-width: 17rem
    }
}
