.shape-bottom {
    right: 0;
    bottom: 0;
    left: 0;
}

.shape {
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

.shape>* {
    display: block
}

.shape:not([class*=shape-blur]) {
    overflow: hidden;
}

.shape:not([class*=shape-blur])>* {
    -webkit-transform: scale(2);
    transform: scale(2);
}

@media all and (-ms-high-contrast:none),
(-ms-high-contrast:active) {
    .shape>svg {
        display: none
    }
}

.shape-top {
    top: 0;
    right: 0;
    left: 0
}

.shape-top>* {
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center
}

.shape-right {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.shape-right>* {
    position: inherit;
    top: inherit;
    bottom: inherit;
    right: inherit;
    -webkit-transform-origin: center left;
    transform-origin: center left
}

.shape-bottom {
    right: 0;
    bottom: 0;
    left: 0;
}

.shape-bottom>* {
    -webkit-transform-origin: top center;
    transform-origin: top center
}

.shape-bottom-100 {
    right: 0;
    bottom: 100%;
    left: 0
}

.shape-bottom-100>* {
    -webkit-transform-origin: top center;
    transform-origin: top center
}

.shape-left {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.shape-left>* {
    position: inherit;
    top: inherit;
    bottom: inherit;
    left: inherit;
    -webkit-transform-origin: center right;
    transform-origin: center right
}

.shape-fluid-x>* {
    width: 100%;
    height: auto
}

.shape-fluid-y>* {
    width: auto;
    height: 100%
}

.shape-blur-1 {
    top: 0;
    right: 0;
    left: 0
}

@media (min-width:768px) {
    .shape-blur-1 {
        bottom: 0;
        left: 50%;
        right: auto
    }
}

.shape-blur-1>* {
    width: 100%;
    height: auto
}

@media (min-width:768px) {
    .shape-blur-1>* {
        width: auto;
        height: 100%
    }
}

.shape-blur-2 {
    top: 0;
    right: 0;
    left: 0
}

@media (min-width:768px) {
    .shape-blur-2 {
        bottom: 0;
        right: 50%;
        left: auto
    }
}

.shape-blur-2>* {
    width: 100%;
    height: auto
}

@media (min-width:768px) {
    .shape-blur-2>* {
        width: auto;
        height: 100%;
        float: right
    }
}

.shape-blur-3 {
    top: 0;
    right: 0;
    left: 0
}

.shape-blur-3>* {
    width: 100%;
    height: auto
}

.shape-blur-4 {
    top: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(1.3);
    transform: translateX(-50%) scale(1.3)
}

.shape-blur-4>* {
    width: auto;
    height: 100%
}

input {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

input {
    overflow: visible;
}

input[type=checkbox] {
    box-sizing: border-box;
    padding: 0;
}

.custom-control {
    position: relative;
    display: block;
    min-height: 1.7rem;
    padding-left: 1.5rem;
}

.custom-control-input {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 1rem;
    height: 1.35rem;
    opacity: 0;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #335eea;
    background-color: #335eea;
    box-shadow: none;
}

.custom-control-input:focus~.custom-control-label::before {
    box-shadow: none, none;
}

.custom-control-input:disabled~.custom-control-label {
    color: #869ab8;
}

.custom-control-input:disabled~.custom-control-label::before {
    background-color: #f1f4f8;
}

.custom-control-label {
    position: relative;
    margin-bottom: 0;
    vertical-align: top;
}

.custom-control-label::before {
    position: absolute;
    top: .35rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #d9e2ef;
    border: #abbcd5 solid 0;
    box-shadow: none;
}

.custom-control-label::after {
    position: absolute;
    top: .35rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50%/50% 50%;
}

.custom-switch {
    padding-left: 3rem;
}

.custom-switch .custom-control-label::before {
    left: -3rem;
    width: 2.5rem;
    pointer-events: all;
    border-radius: .5rem;
}

.custom-switch .custom-control-label::after {
    top: calc(.35rem + 0px);
    left: calc(-3rem + 0px);
    width: 1rem;
    height: 1rem;
    background-color: #abbcd5;
    border-radius: .5rem;
    -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out;
    transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
    .custom-switch .custom-control-label::after {
        -webkit-transition: none;
        transition: none;
    }
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
    background-color: #d9e2ef;
    -webkit-transform: translateX(1.5rem);
    transform: translateX(1.5rem);
}

.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before {
    background-color: rgba(51, 94, 234, .5);
}

.custom-control-label::before {
    -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
    .custom-control-label::before {
        -webkit-transition: none;
        transition: none;
    }
}

@media (min-width:768px) {
    .mb-md-9 {
        margin-bottom: 4rem!important;
    }
}

@media print {
    *,
     ::after,
     ::before {
        text-shadow: none!important;
        box-shadow: none!important;
    }
}

.custom-switch {
    min-height: 1.375rem;
}

.custom-switch .custom-control-label::before {
    top: .1625rem;
    height: 1.375rem;
    border-radius: .6875rem;
}

.custom-switch .custom-control-label::after {
    top: .35rem;
    left: -2.8125rem;
    background-color: #fff;
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
    background-color: #fff;
    -webkit-transform: translateX(1.125rem);
    transform: translateX(1.125rem);
}