Loading menubar.....

Difference between revisions of "Team:Tuebingen/Software"

Line 1: Line 1:
{{Tuebingen}}
+
<html lang="en" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/html">
<html>
+
<div class="clear"></div>
+
  
 +
<meta charset="UTF-8"/>
  
<div class="column full_size">
+
<style>
<h1>Software</h1>
+
        /* Paste this css to your style sheet file or under head tag */
 +
        /* This only works with JavaScript,
 +
        if it's not present, don't show loader */
 +
        .js #loader {
 +
            display: block;
 +
            position: absolute;
 +
            left: 100px;
 +
            top: 0;
 +
        }
 +
 
 +
        .se-pre-con {
 +
            position: fixed;
 +
            left: 0px;
 +
            top: 0px;
 +
            width: 100%;
 +
            height: 100%;
 +
            z-index: 9999;
 +
            background: #2B2B35;
 +
        }
 +
 
 +
        .se-pre-con img {
 +
            width: 40%;
 +
            height: 40%;
 +
            margin-left: 30%;
 +
            margin-top: 15%;
 +
        }
 +
 
 +
        @media screen and (min-width: 1500px ) {
 +
            .se-pre-con img {
 +
                margin-top: 20%;
 +
                width: 25%;
 +
                height: 15%;
 +
                margin-left: 35%;
 +
            }
 +
        }
 +
 
 +
        @media screen and (max-width: 1100px ) {
 +
            .se-pre-con img {
 +
                margin-top: 20%;
 +
                height: 30%;
 +
                width: 50%;
 +
                margin-left: 25%;
 +
            }
 +
        }
 +
 
 +
        @media screen and (max-width: 700px ) {
 +
            .se-pre-con img {
 +
                margin-top: 18%;
 +
                height: 20%;
 +
            }
 +
        }
 +
    </style>
 +
</head>
 +
<body>
 +
<div class="se-pre-con">
 +
    <img src="https://2019.igem.org/wiki/images/8/83/T--Tuebingen--preloader.gif">
 
</div>
 
</div>
<div class="column two_thirds_size">
+
<script src="https://2019.igem.org/Team:Tuebingen/jqueryLoadJS?action=raw&ctype=text/javascript"></script>
<h3>Best Software Tool Special Prize</h3>
+
<script src="https://2019.igem.org/Team:Tuebingen/jmodernizerJS?action=raw&ctype=text/javascript"></script>
<p>Regardless of the topic, iGEM projects often create or adapt computational tools to move the project forward. Because they are born out of a direct practical need, these software tools (or new computational methods) can be surprisingly useful for other teams. Without necessarily being big or complex, they can make the crucial difference to a project's success. This award tries to find and honor such "nuggets" of computational work.
+
<script>
 +
    $(window).load(function () {
 +
        setTimeout(removeLoader, 1000);
 +
    }); //wait for page load PLUS one seconds.
 +
    function removeLoader() {
 +
        $(".se-pre-con").fadeOut(500, function () {
 +
            // fadeOut complete. Remove the loading div
 +
            $(".se-pre-con").remove(); //makes page more lightweight
 +
        });
 +
    }
 +
</script>
 +
</body>
  
 +
<style>
 +
    /*!
 +
* Bootstrap v4.1.0 (https://getbootstrap.com/)
 +
* Copyright 2011-2018 The Bootstrap Authors
 +
* Copyright 2011-2018 Twitter, Inc.
 +
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 +
*/
 +
    :root {
 +
        --blue: #007bff;
 +
        --indigo: #6610f2;
 +
        --purple: #6f42c1;
 +
        --pink: #e83e8c;
 +
        --red: #dc3545;
 +
        --orange: #fd7e14;
 +
        --yellow: #ffc107;
 +
        --green: #28a745;
 +
        --teal: #20c997;
 +
        --cyan: #17a2b8;
 +
        --white: #fff;
 +
        --gray: #6c757d;
 +
        --gray-dark: #343a40;
 +
        --primary: #007bff;
 +
        --secondary: #6c757d;
 +
        --success: #28a745;
 +
        --info: #17a2b8;
 +
        --warning: #ffc107;
 +
        --danger: #dc3545;
 +
        --light: #f8f9fa;
 +
        --dark: #343a40;
 +
        --breakpoint-xs: 0;
 +
        --breakpoint-sm: 576px;
 +
        --breakpoint-md: 768px;
 +
        --breakpoint-lg: 992px;
 +
        --breakpoint-xl: 1200px;
 +
        --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
 +
        --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
 +
    }
  
<br><br>
+
    *, ::after, ::before {
To compete for the <a href="https://2019.igem.org/Judging/Awards">Best Software Tool prize</a>, please describe your work on this page and also fill out the description on the <a href="https://2019.igem.org/Judging/Judging_Form">judging form</a>.
+
        box-sizing: border-box
<br><br>
+
    }
To be eligible, your software has to be documented and made available under an OSI approved open source license. You must also delete the alert box on the top of this page to be eligible for this prize.
+
</p>
+
  
 +
    html {
 +
        font-family: sans-serif;
 +
        line-height: 1.15;
 +
        -webkit-text-size-adjust: 100%;
 +
        -ms-text-size-adjust: 100%;
 +
        -ms-overflow-style: scrollbar;
 +
        -webkit-tap-highlight-color: transparent
 +
    }
  
 +
    @-ms-viewport {
 +
        width: device-width
 +
    }
 +
 +
    article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
 +
        display: block
 +
    }
 +
 +
    body {
 +
        margin: 0;
 +
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
 +
        font-size: 1rem;
 +
        font-weight: 400;
 +
        line-height: 1.5;
 +
        color: #212529;
 +
        text-align: left;
 +
        background-color: #fff
 +
    }
 +
 +
    [tabindex="-1"]:focus {
 +
        outline: 0 !important
 +
    }
 +
 +
    hr {
 +
        box-sizing: content-box;
 +
        height: 0;
 +
        overflow: visible
 +
    }
 +
 +
    h1, h2, h3, h4, h5, h6 {
 +
        margin-top: 0;
 +
        margin-bottom: .5rem
 +
    }
 +
 +
    p {
 +
        margin-top: 0;
 +
        margin-bottom: 1rem;
 +
        color: #F4F0DE;
 +
    }
 +
 +
    abbr[data-original-title], abbr[title] {
 +
        text-decoration: underline;
 +
        -webkit-text-decoration: underline dotted;
 +
        text-decoration: underline dotted;
 +
        cursor: help;
 +
        border-bottom: 0
 +
    }
 +
 +
    address {
 +
        margin-bottom: 1rem;
 +
        font-style: normal;
 +
        line-height: inherit
 +
    }
 +
 +
    dl, ol, ul {
 +
        margin-top: 0;
 +
        margin-bottom: 1rem
 +
    }
 +
 +
    ol ol, ol ul, ul ol, ul ul {
 +
        margin-bottom: 0
 +
    }
 +
 +
    dt {
 +
        font-weight: 700
 +
    }
 +
 +
    dd {
 +
        margin-bottom: .5rem;
 +
        margin-left: 0
 +
    }
 +
 +
    blockquote {
 +
        margin: 0 0 1rem
 +
    }
 +
 +
    dfn {
 +
        font-style: italic
 +
    }
 +
 +
    b, strong {
 +
        font-weight: bolder
 +
    }
 +
 +
    small {
 +
        font-size: 80%
 +
    }
 +
 +
    sub, sup {
 +
        position: relative;
 +
        font-size: 75%;
 +
        line-height: 0;
 +
        vertical-align: baseline
 +
    }
 +
 +
    sub {
 +
        bottom: -.25em
 +
    }
 +
 +
    sup {
 +
        top: -.5em
 +
    }
 +
 +
    a {
 +
        color: #007bff;
 +
        text-decoration: none;
 +
        background-color: transparent;
 +
        -webkit-text-decoration-skip: objects
 +
    }
 +
 +
    a:hover {
 +
        color: #0056b3;
 +
        text-decoration: underline
 +
    }
 +
 +
    a:not([href]):not([tabindex]) {
 +
        color: inherit;
 +
        text-decoration: none
 +
    }
 +
 +
    a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
 +
        color: inherit;
 +
        text-decoration: none
 +
    }
 +
 +
    a:not([href]):not([tabindex]):focus {
 +
        outline: 0
 +
    }
 +
 +
    code, kbd, pre, samp {
 +
        font-family: monospace, monospace;
 +
        font-size: 1em
 +
    }
 +
 +
    pre {
 +
        margin-top: 0;
 +
        margin-bottom: 1rem;
 +
        overflow: auto;
 +
        -ms-overflow-style: scrollbar
 +
    }
 +
 +
    figure {
 +
        margin: 0 0 1rem
 +
    }
 +
 +
    img {
 +
        vertical-align: middle;
 +
        border-style: none
 +
    }
 +
 +
    svg:not(:root) {
 +
        overflow: hidden
 +
    }
 +
 +
    table {
 +
        border-collapse: collapse
 +
    }
 +
 +
    caption {
 +
        padding-top: .75rem;
 +
        padding-bottom: .75rem;
 +
        color: #6c757d;
 +
        text-align: left;
 +
        caption-side: bottom
 +
    }
 +
 +
    th {
 +
        text-align: inherit
 +
    }
 +
 +
    label {
 +
        display: inline-block;
 +
        margin-bottom: .5rem
 +
    }
 +
 +
    button {
 +
        border-radius: 0
 +
    }
 +
 +
    button:focus {
 +
        outline: 1px dotted;
 +
        outline: 5px auto -webkit-focus-ring-color
 +
    }
 +
 +
    button, input, optgroup, select, textarea {
 +
        margin: 0;
 +
        font-family: inherit;
 +
        font-size: inherit;
 +
        line-height: inherit
 +
    }
 +
 +
    button, input {
 +
        overflow: visible
 +
    }
 +
 +
    button, select {
 +
        text-transform: none
 +
    }
 +
 +
    [type=reset], [type=submit], button, html [type=button] {
 +
        -webkit-appearance: button
 +
    }
 +
 +
    [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
 +
        padding: 0;
 +
        border-style: none
 +
    }
 +
 +
    input[type=checkbox], input[type=radio] {
 +
        box-sizing: border-box;
 +
        padding: 0
 +
    }
 +
 +
    input[type=date], input[type=datetime-local], input[type=month], input[type=time] {
 +
        -webkit-appearance: listbox
 +
    }
 +
 +
    textarea {
 +
        overflow: auto;
 +
        resize: vertical
 +
    }
 +
 +
    fieldset {
 +
        min-width: 0;
 +
        padding: 0;
 +
        margin: 0;
 +
        border: 0
 +
    }
 +
 +
    legend {
 +
        display: block;
 +
        width: 100%;
 +
        max-width: 100%;
 +
        padding: 0;
 +
        margin-bottom: .5rem;
 +
        font-size: 1.5rem;
 +
        line-height: inherit;
 +
        color: inherit;
 +
        white-space: normal
 +
    }
 +
 +
    progress {
 +
        vertical-align: baseline
 +
    }
 +
 +
    [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
 +
        height: auto
 +
    }
 +
 +
    [type=search] {
 +
        outline-offset: -2px;
 +
        -webkit-appearance: none
 +
    }
 +
 +
    [type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
 +
        -webkit-appearance: none
 +
    }
 +
 +
    ::-webkit-file-upload-button {
 +
        font: inherit;
 +
        -webkit-appearance: button
 +
    }
 +
 +
    output {
 +
        display: inline-block
 +
    }
 +
 +
    summary {
 +
        display: list-item;
 +
        cursor: pointer
 +
    }
 +
 +
    template {
 +
        display: none
 +
    }
 +
 +
    [hidden] {
 +
        display: none !important
 +
    }
 +
 +
    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
 +
        margin-bottom: .5rem;
 +
        font-family: inherit;
 +
        font-weight: 500;
 +
        line-height: 1.2;
 +
        color: inherit
 +
    }
 +
 +
    .h1, h1 {
 +
        font-size: 2.5rem
 +
    }
 +
 +
    .h2, h2 {
 +
        font-size: 2rem
 +
    }
 +
 +
    .h3, h3 {
 +
        font-size: 1.75rem
 +
    }
 +
 +
    .h4, h4 {
 +
        font-size: 1.5rem
 +
    }
 +
 +
    @media screen and (max-width: 500px){
 +
        h4{
 +
            font-size: 1.0rem;
 +
        }
 +
    }
 +
 +
    .h5, h5 {
 +
        font-size: 1.25rem
 +
    }
 +
 +
    .h6, h6 {
 +
        font-size: 1rem
 +
    }
 +
 +
    .lead {
 +
        font-size: 1.25rem;
 +
        font-weight: 300
 +
    }
 +
 +
    .display-1 {
 +
        font-size: 6rem;
 +
        font-weight: 300;
 +
        line-height: 1.2
 +
    }
 +
 +
    .display-2 {
 +
        font-size: 5.5rem;
 +
        font-weight: 300;
 +
        line-height: 1.2
 +
    }
 +
 +
    .display-3 {
 +
        font-size: 4.5rem;
 +
        font-weight: 300;
 +
        line-height: 1.2
 +
    }
 +
 +
    .display-4 {
 +
        font-size: 3.5rem;
 +
        font-weight: 300;
 +
        line-height: 1.2
 +
    }
 +
 +
    hr {
 +
        margin-top: 1rem;
 +
        margin-bottom: 1rem;
 +
        border: 0;
 +
        border-top: 1px solid rgba(0, 0, 0, .1)
 +
    }
 +
 +
    .small, small {
 +
        font-size: 80%;
 +
        font-weight: 400
 +
    }
 +
 +
    .mark, mark {
 +
        padding: .2em;
 +
        background-color: #fcf8e3
 +
    }
 +
 +
    .list-unstyled {
 +
        padding-left: 0;
 +
        list-style: none
 +
    }
 +
 +
    .list-inline {
 +
        padding-left: 0;
 +
        list-style: none
 +
    }
 +
 +
    .list-inline-item {
 +
        display: inline-block
 +
    }
 +
 +
    .list-inline-item:not(:last-child) {
 +
        margin-right: .5rem
 +
    }
 +
 +
    .initialism {
 +
        font-size: 90%;
 +
        text-transform: uppercase
 +
    }
 +
 +
    .blockquote {
 +
        margin-bottom: 1rem;
 +
        font-size: 1.25rem
 +
    }
 +
 +
    .blockquote-footer {
 +
        display: block;
 +
        font-size: 80%;
 +
        color: #6c757d
 +
    }
 +
 +
    .blockquote-footer::before {
 +
        content: "\2014 \00A0"
 +
    }
 +
 +
    .img-fluid {
 +
        max-width: 100%;
 +
        height: auto
 +
    }
 +
 +
    .img-thumbnail {
 +
        padding: .25rem;
 +
        background-color: #fff;
 +
        border: 1px solid #dee2e6;
 +
        border-radius: .25rem;
 +
        max-width: 100%;
 +
        height: auto
 +
    }
 +
 +
    .figure {
 +
        display: inline-block
 +
    }
 +
 +
    .figure-img {
 +
        margin-bottom: .5rem;
 +
        line-height: 1
 +
    }
 +
 +
    .figure-caption {
 +
        font-size: 90%;
 +
        color: #6c757d
 +
    }
 +
 +
    code, kbd, pre, samp {
 +
        font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
 +
    }
 +
 +
    code {
 +
        font-size: 87.5%;
 +
        color: #e83e8c;
 +
        word-break: break-word
 +
    }
 +
 +
    a > code {
 +
        color: inherit
 +
    }
 +
 +
    kbd {
 +
        padding: .2rem .4rem;
 +
        font-size: 87.5%;
 +
        color: #fff;
 +
        background-color: #212529;
 +
        border-radius: .2rem
 +
    }
 +
 +
    kbd kbd {
 +
        padding: 0;
 +
        font-size: 100%;
 +
        font-weight: 700
 +
    }
 +
 +
    pre {
 +
        display: block;
 +
        font-size: 87.5%;
 +
        color: #212529
 +
    }
 +
 +
    pre code {
 +
        font-size: inherit;
 +
        color: inherit;
 +
        word-break: normal
 +
    }
 +
 +
    .pre-scrollable {
 +
        max-height: 340px;
 +
        overflow-y: scroll
 +
    }
 +
 +
    .container {
 +
        width: 100%;
 +
        padding-right: 15px;
 +
        padding-left: 15px;
 +
        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
 +
        }
 +
    }
 +
 +
    .container-fluid {
 +
        width: 100%;
 +
        padding-right: 15px;
 +
        padding-left: 15px;
 +
        margin-right: auto;
 +
        margin-left: auto
 +
    }
 +
 +
    .row {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        margin-right: -15px;
 +
        margin-left: -15px
 +
    }
 +
 +
    .no-gutters {
 +
        margin-right: 0;
 +
        margin-left: 0
 +
    }
 +
 +
    .no-gutters > .col, .no-gutters > [class*=col-] {
 +
        padding-right: 0;
 +
        padding-left: 0
 +
    }
 +
 +
    .col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
 +
        position: relative;
 +
        width: 100%;
 +
        min-height: 1px;
 +
        padding-right: 15px;
 +
        padding-left: 15px
 +
    }
 +
 +
    .col {
 +
        -ms-flex-preferred-size: 0;
 +
        flex-basis: 0;
 +
        -ms-flex-positive: 1;
 +
        flex-grow: 1;
 +
        max-width: 100%
 +
    }
 +
 +
    .col-auto {
 +
        -ms-flex: 0 0 auto;
 +
        flex: 0 0 auto;
 +
        width: auto;
 +
        max-width: none
 +
    }
 +
 +
    .col-1 {
 +
        -ms-flex: 0 0 8.333333%;
 +
        flex: 0 0 8.333333%;
 +
        max-width: 8.333333%
 +
    }
 +
 +
    .col-2 {
 +
        -ms-flex: 0 0 16.666667%;
 +
        flex: 0 0 16.666667%;
 +
        max-width: 16.666667%
 +
    }
 +
 +
    .col-3 {
 +
        -ms-flex: 0 0 25%;
 +
        flex: 0 0 25%;
 +
        max-width: 25%
 +
    }
 +
 +
    .col-4 {
 +
        -ms-flex: 0 0 33.333333%;
 +
        flex: 0 0 33.333333%;
 +
        max-width: 33.333333%
 +
    }
 +
 +
    .col-5 {
 +
        -ms-flex: 0 0 41.666667%;
 +
        flex: 0 0 41.666667%;
 +
        max-width: 41.666667%
 +
    }
 +
 +
    .col-6 {
 +
        -ms-flex: 0 0 50%;
 +
        flex: 0 0 50%;
 +
        max-width: 50%
 +
    }
 +
 +
    .col-7 {
 +
        -ms-flex: 0 0 58.333333%;
 +
        flex: 0 0 58.333333%;
 +
        max-width: 58.333333%
 +
    }
 +
 +
    .col-8 {
 +
        -ms-flex: 0 0 66.666667%;
 +
        flex: 0 0 66.666667%;
 +
        max-width: 66.666667%
 +
    }
 +
 +
    .col-9 {
 +
        -ms-flex: 0 0 75%;
 +
        flex: 0 0 75%;
 +
        max-width: 75%
 +
    }
 +
 +
    .col-10 {
 +
        -ms-flex: 0 0 83.333333%;
 +
        flex: 0 0 83.333333%;
 +
        max-width: 83.333333%
 +
    }
 +
 +
    .col-11 {
 +
        -ms-flex: 0 0 91.666667%;
 +
        flex: 0 0 91.666667%;
 +
        max-width: 91.666667%
 +
    }
 +
 +
    .col-12 {
 +
        -ms-flex: 0 0 100%;
 +
        flex: 0 0 100%;
 +
        max-width: 100%
 +
    }
 +
 +
    .order-first {
 +
        -ms-flex-order: -1;
 +
        order: -1
 +
    }
 +
 +
    .order-last {
 +
        -ms-flex-order: 13;
 +
        order: 13
 +
    }
 +
 +
    .order-0 {
 +
        -ms-flex-order: 0;
 +
        order: 0
 +
    }
 +
 +
    .order-1 {
 +
        -ms-flex-order: 1;
 +
        order: 1
 +
    }
 +
 +
    .order-2 {
 +
        -ms-flex-order: 2;
 +
        order: 2
 +
    }
 +
 +
    .order-3 {
 +
        -ms-flex-order: 3;
 +
        order: 3
 +
    }
 +
 +
    .order-4 {
 +
        -ms-flex-order: 4;
 +
        order: 4
 +
    }
 +
 +
    .order-5 {
 +
        -ms-flex-order: 5;
 +
        order: 5
 +
    }
 +
 +
    .order-6 {
 +
        -ms-flex-order: 6;
 +
        order: 6
 +
    }
 +
 +
    .order-7 {
 +
        -ms-flex-order: 7;
 +
        order: 7
 +
    }
 +
 +
    .order-8 {
 +
        -ms-flex-order: 8;
 +
        order: 8
 +
    }
 +
 +
    .order-9 {
 +
        -ms-flex-order: 9;
 +
        order: 9
 +
    }
 +
 +
    .order-10 {
 +
        -ms-flex-order: 10;
 +
        order: 10
 +
    }
 +
 +
    .order-11 {
 +
        -ms-flex-order: 11;
 +
        order: 11
 +
    }
 +
 +
    .order-12 {
 +
        -ms-flex-order: 12;
 +
        order: 12
 +
    }
 +
 +
    .offset-1 {
 +
        margin-left: 8.333333%
 +
    }
 +
 +
    .offset-2 {
 +
        margin-left: 16.666667%
 +
    }
 +
 +
    .offset-3 {
 +
        margin-left: 25%
 +
    }
 +
 +
    .offset-4 {
 +
        margin-left: 33.333333%
 +
    }
 +
 +
    .offset-5 {
 +
        margin-left: 41.666667%
 +
    }
 +
 +
    .offset-6 {
 +
        margin-left: 50%
 +
    }
 +
 +
    .offset-7 {
 +
        margin-left: 58.333333%
 +
    }
 +
 +
    .offset-8 {
 +
        margin-left: 66.666667%
 +
    }
 +
 +
    .offset-9 {
 +
        margin-left: 75%
 +
    }
 +
 +
    .offset-10 {
 +
        margin-left: 83.333333%
 +
    }
 +
 +
    .offset-11 {
 +
        margin-left: 91.666667%
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .col-sm {
 +
            -ms-flex-preferred-size: 0;
 +
            flex-basis: 0;
 +
            -ms-flex-positive: 1;
 +
            flex-grow: 1;
 +
            max-width: 100%
 +
        }
 +
 +
        .col-sm-auto {
 +
            -ms-flex: 0 0 auto;
 +
            flex: 0 0 auto;
 +
            width: auto;
 +
            max-width: none
 +
        }
 +
 +
        .col-sm-1 {
 +
            -ms-flex: 0 0 8.333333%;
 +
            flex: 0 0 8.333333%;
 +
            max-width: 8.333333%
 +
        }
 +
 +
        .col-sm-2 {
 +
            -ms-flex: 0 0 16.666667%;
 +
            flex: 0 0 16.666667%;
 +
            max-width: 16.666667%
 +
        }
 +
 +
        .col-sm-3 {
 +
            -ms-flex: 0 0 25%;
 +
            flex: 0 0 25%;
 +
            max-width: 25%
 +
        }
 +
 +
        .col-sm-4 {
 +
            -ms-flex: 0 0 33.333333%;
 +
            flex: 0 0 33.333333%;
 +
            max-width: 33.333333%
 +
        }
 +
 +
        .col-sm-5 {
 +
            -ms-flex: 0 0 41.666667%;
 +
            flex: 0 0 41.666667%;
 +
            max-width: 41.666667%
 +
        }
 +
 +
        .col-sm-6 {
 +
            -ms-flex: 0 0 50%;
 +
            flex: 0 0 50%;
 +
            max-width: 50%
 +
        }
 +
 +
        .col-sm-7 {
 +
            -ms-flex: 0 0 58.333333%;
 +
            flex: 0 0 58.333333%;
 +
            max-width: 58.333333%
 +
        }
 +
 +
        .col-sm-8 {
 +
            -ms-flex: 0 0 66.666667%;
 +
            flex: 0 0 66.666667%;
 +
            max-width: 66.666667%
 +
        }
 +
 +
        .col-sm-9 {
 +
            -ms-flex: 0 0 75%;
 +
            flex: 0 0 75%;
 +
            max-width: 75%
 +
        }
 +
 +
        .col-sm-10 {
 +
            -ms-flex: 0 0 83.333333%;
 +
            flex: 0 0 83.333333%;
 +
            max-width: 83.333333%
 +
        }
 +
 +
        .col-sm-11 {
 +
            -ms-flex: 0 0 91.666667%;
 +
            flex: 0 0 91.666667%;
 +
            max-width: 91.666667%
 +
        }
 +
 +
        .col-sm-12 {
 +
            -ms-flex: 0 0 100%;
 +
            flex: 0 0 100%;
 +
            max-width: 100%
 +
        }
 +
 +
        .order-sm-first {
 +
            -ms-flex-order: -1;
 +
            order: -1
 +
        }
 +
 +
        .order-sm-last {
 +
            -ms-flex-order: 13;
 +
            order: 13
 +
        }
 +
 +
        .order-sm-0 {
 +
            -ms-flex-order: 0;
 +
            order: 0
 +
        }
 +
 +
        .order-sm-1 {
 +
            -ms-flex-order: 1;
 +
            order: 1
 +
        }
 +
 +
        .order-sm-2 {
 +
            -ms-flex-order: 2;
 +
            order: 2
 +
        }
 +
 +
        .order-sm-3 {
 +
            -ms-flex-order: 3;
 +
            order: 3
 +
        }
 +
 +
        .order-sm-4 {
 +
            -ms-flex-order: 4;
 +
            order: 4
 +
        }
 +
 +
        .order-sm-5 {
 +
            -ms-flex-order: 5;
 +
            order: 5
 +
        }
 +
 +
        .order-sm-6 {
 +
            -ms-flex-order: 6;
 +
            order: 6
 +
        }
 +
 +
        .order-sm-7 {
 +
            -ms-flex-order: 7;
 +
            order: 7
 +
        }
 +
 +
        .order-sm-8 {
 +
            -ms-flex-order: 8;
 +
            order: 8
 +
        }
 +
 +
        .order-sm-9 {
 +
            -ms-flex-order: 9;
 +
            order: 9
 +
        }
 +
 +
        .order-sm-10 {
 +
            -ms-flex-order: 10;
 +
            order: 10
 +
        }
 +
 +
        .order-sm-11 {
 +
            -ms-flex-order: 11;
 +
            order: 11
 +
        }
 +
 +
        .order-sm-12 {
 +
            -ms-flex-order: 12;
 +
            order: 12
 +
        }
 +
 +
        .offset-sm-0 {
 +
            margin-left: 0
 +
        }
 +
 +
        .offset-sm-1 {
 +
            margin-left: 8.333333%
 +
        }
 +
 +
        .offset-sm-2 {
 +
            margin-left: 16.666667%
 +
        }
 +
 +
        .offset-sm-3 {
 +
            margin-left: 25%
 +
        }
 +
 +
        .offset-sm-4 {
 +
            margin-left: 33.333333%
 +
        }
 +
 +
        .offset-sm-5 {
 +
            margin-left: 41.666667%
 +
        }
 +
 +
        .offset-sm-6 {
 +
            margin-left: 50%
 +
        }
 +
 +
        .offset-sm-7 {
 +
            margin-left: 58.333333%
 +
        }
 +
 +
        .offset-sm-8 {
 +
            margin-left: 66.666667%
 +
        }
 +
 +
        .offset-sm-9 {
 +
            margin-left: 75%
 +
        }
 +
 +
        .offset-sm-10 {
 +
            margin-left: 83.333333%
 +
        }
 +
 +
        .offset-sm-11 {
 +
            margin-left: 91.666667%
 +
        }
 +
    }
 +
 +
    @media (min-width: 768px) {
 +
        .col-md {
 +
            -ms-flex-preferred-size: 0;
 +
            flex-basis: 0;
 +
            -ms-flex-positive: 1;
 +
            flex-grow: 1;
 +
            max-width: 100%
 +
        }
 +
 +
        .col-md-auto {
 +
            -ms-flex: 0 0 auto;
 +
            flex: 0 0 auto;
 +
            width: auto;
 +
            max-width: none
 +
        }
 +
 +
        .col-md-1 {
 +
            -ms-flex: 0 0 8.333333%;
 +
            flex: 0 0 8.333333%;
 +
            max-width: 8.333333%
 +
        }
 +
 +
        .col-md-2 {
 +
            -ms-flex: 0 0 16.666667%;
 +
            flex: 0 0 16.666667%;
 +
            max-width: 16.666667%
 +
        }
 +
 +
        .col-md-3 {
 +
            -ms-flex: 0 0 25%;
 +
            flex: 0 0 25%;
 +
            max-width: 25%
 +
        }
 +
 +
        .col-md-4 {
 +
            -ms-flex: 0 0 33.333333%;
 +
            flex: 0 0 33.333333%;
 +
            max-width: 33.333333%
 +
        }
 +
 +
        .col-md-5 {
 +
            -ms-flex: 0 0 41.666667%;
 +
            flex: 0 0 41.666667%;
 +
            max-width: 41.666667%
 +
        }
 +
 +
        .col-md-6 {
 +
            -ms-flex: 0 0 50%;
 +
            flex: 0 0 50%;
 +
            max-width: 50%
 +
        }
 +
 +
        .col-md-7 {
 +
            -ms-flex: 0 0 58.333333%;
 +
            flex: 0 0 58.333333%;
 +
            max-width: 58.333333%
 +
        }
 +
 +
        .col-md-8 {
 +
            -ms-flex: 0 0 66.666667%;
 +
            flex: 0 0 66.666667%;
 +
            max-width: 66.666667%
 +
        }
 +
 +
        .col-md-9 {
 +
            -ms-flex: 0 0 75%;
 +
            flex: 0 0 75%;
 +
            max-width: 75%
 +
        }
 +
 +
        .col-md-10 {
 +
            -ms-flex: 0 0 83.333333%;
 +
            flex: 0 0 83.333333%;
 +
            max-width: 83.333333%
 +
        }
 +
 +
        .col-md-11 {
 +
            -ms-flex: 0 0 91.666667%;
 +
            flex: 0 0 91.666667%;
 +
            max-width: 91.666667%
 +
        }
 +
 +
        .col-md-12 {
 +
            -ms-flex: 0 0 100%;
 +
            flex: 0 0 100%;
 +
            max-width: 100%
 +
        }
 +
 +
        .order-md-first {
 +
            -ms-flex-order: -1;
 +
            order: -1
 +
        }
 +
 +
        .order-md-last {
 +
            -ms-flex-order: 13;
 +
            order: 13
 +
        }
 +
 +
        .order-md-0 {
 +
            -ms-flex-order: 0;
 +
            order: 0
 +
        }
 +
 +
        .order-md-1 {
 +
            -ms-flex-order: 1;
 +
            order: 1
 +
        }
 +
 +
        .order-md-2 {
 +
            -ms-flex-order: 2;
 +
            order: 2
 +
        }
 +
 +
        .order-md-3 {
 +
            -ms-flex-order: 3;
 +
            order: 3
 +
        }
 +
 +
        .order-md-4 {
 +
            -ms-flex-order: 4;
 +
            order: 4
 +
        }
 +
 +
        .order-md-5 {
 +
            -ms-flex-order: 5;
 +
            order: 5
 +
        }
 +
 +
        .order-md-6 {
 +
            -ms-flex-order: 6;
 +
            order: 6
 +
        }
 +
 +
        .order-md-7 {
 +
            -ms-flex-order: 7;
 +
            order: 7
 +
        }
 +
 +
        .order-md-8 {
 +
            -ms-flex-order: 8;
 +
            order: 8
 +
        }
 +
 +
        .order-md-9 {
 +
            -ms-flex-order: 9;
 +
            order: 9
 +
        }
 +
 +
        .order-md-10 {
 +
            -ms-flex-order: 10;
 +
            order: 10
 +
        }
 +
 +
        .order-md-11 {
 +
            -ms-flex-order: 11;
 +
            order: 11
 +
        }
 +
 +
        .order-md-12 {
 +
            -ms-flex-order: 12;
 +
            order: 12
 +
        }
 +
 +
        .offset-md-0 {
 +
            margin-left: 0
 +
        }
 +
 +
        .offset-md-1 {
 +
            margin-left: 8.333333%
 +
        }
 +
 +
        .offset-md-2 {
 +
            margin-left: 16.666667%
 +
        }
 +
 +
        .offset-md-3 {
 +
            margin-left: 25%
 +
        }
 +
 +
        .offset-md-4 {
 +
            margin-left: 33.333333%
 +
        }
 +
 +
        .offset-md-5 {
 +
            margin-left: 41.666667%
 +
        }
 +
 +
        .offset-md-6 {
 +
            margin-left: 50%
 +
        }
 +
 +
        .offset-md-7 {
 +
            margin-left: 58.333333%
 +
        }
 +
 +
        .offset-md-8 {
 +
            margin-left: 66.666667%
 +
        }
 +
 +
        .offset-md-9 {
 +
            margin-left: 75%
 +
        }
 +
 +
        .offset-md-10 {
 +
            margin-left: 83.333333%
 +
        }
 +
 +
        .offset-md-11 {
 +
            margin-left: 91.666667%
 +
        }
 +
    }
 +
 +
    @media (min-width: 992px) {
 +
        .col-lg {
 +
            -ms-flex-preferred-size: 0;
 +
            flex-basis: 0;
 +
            -ms-flex-positive: 1;
 +
            flex-grow: 1;
 +
            max-width: 100%
 +
        }
 +
 +
        .col-lg-auto {
 +
            -ms-flex: 0 0 auto;
 +
            flex: 0 0 auto;
 +
            width: auto;
 +
            max-width: none
 +
        }
 +
 +
        .col-lg-1 {
 +
            -ms-flex: 0 0 8.333333%;
 +
            flex: 0 0 8.333333%;
 +
            max-width: 8.333333%
 +
        }
 +
 +
        .col-lg-2 {
 +
            -ms-flex: 0 0 16.666667%;
 +
            flex: 0 0 16.666667%;
 +
            max-width: 16.666667%
 +
        }
 +
 +
        .col-lg-3 {
 +
            -ms-flex: 0 0 25%;
 +
            flex: 0 0 25%;
 +
            max-width: 25%
 +
        }
 +
 +
        .col-lg-4 {
 +
            -ms-flex: 0 0 33.333333%;
 +
            flex: 0 0 33.333333%;
 +
            max-width: 33.333333%
 +
        }
 +
 +
        .col-lg-5 {
 +
            -ms-flex: 0 0 41.666667%;
 +
            flex: 0 0 41.666667%;
 +
            max-width: 41.666667%
 +
        }
 +
 +
        .col-lg-6 {
 +
            -ms-flex: 0 0 50%;
 +
            flex: 0 0 50%;
 +
            max-width: 50%
 +
        }
 +
 +
        .col-lg-7 {
 +
            -ms-flex: 0 0 58.333333%;
 +
            flex: 0 0 58.333333%;
 +
            max-width: 58.333333%
 +
        }
 +
 +
        .col-lg-8 {
 +
            -ms-flex: 0 0 66.666667%;
 +
            flex: 0 0 66.666667%;
 +
            max-width: 66.666667%
 +
        }
 +
 +
        .col-lg-9 {
 +
            -ms-flex: 0 0 75%;
 +
            flex: 0 0 75%;
 +
            max-width: 75%
 +
        }
 +
 +
        .col-lg-10 {
 +
            -ms-flex: 0 0 83.333333%;
 +
            flex: 0 0 83.333333%;
 +
            max-width: 83.333333%
 +
        }
 +
 +
        .col-lg-11 {
 +
            -ms-flex: 0 0 91.666667%;
 +
            flex: 0 0 91.666667%;
 +
            max-width: 91.666667%
 +
        }
 +
 +
        .col-lg-12 {
 +
            -ms-flex: 0 0 100%;
 +
            flex: 0 0 100%;
 +
            max-width: 100%
 +
        }
 +
 +
        .order-lg-first {
 +
            -ms-flex-order: -1;
 +
            order: -1
 +
        }
 +
 +
        .order-lg-last {
 +
            -ms-flex-order: 13;
 +
            order: 13
 +
        }
 +
 +
        .order-lg-0 {
 +
            -ms-flex-order: 0;
 +
            order: 0
 +
        }
 +
 +
        .order-lg-1 {
 +
            -ms-flex-order: 1;
 +
            order: 1
 +
        }
 +
 +
        .order-lg-2 {
 +
            -ms-flex-order: 2;
 +
            order: 2
 +
        }
 +
 +
        .order-lg-3 {
 +
            -ms-flex-order: 3;
 +
            order: 3
 +
        }
 +
 +
        .order-lg-4 {
 +
            -ms-flex-order: 4;
 +
            order: 4
 +
        }
 +
 +
        .order-lg-5 {
 +
            -ms-flex-order: 5;
 +
            order: 5
 +
        }
 +
 +
        .order-lg-6 {
 +
            -ms-flex-order: 6;
 +
            order: 6
 +
        }
 +
 +
        .order-lg-7 {
 +
            -ms-flex-order: 7;
 +
            order: 7
 +
        }
 +
 +
        .order-lg-8 {
 +
            -ms-flex-order: 8;
 +
            order: 8
 +
        }
 +
 +
        .order-lg-9 {
 +
            -ms-flex-order: 9;
 +
            order: 9
 +
        }
 +
 +
        .order-lg-10 {
 +
            -ms-flex-order: 10;
 +
            order: 10
 +
        }
 +
 +
        .order-lg-11 {
 +
            -ms-flex-order: 11;
 +
            order: 11
 +
        }
 +
 +
        .order-lg-12 {
 +
            -ms-flex-order: 12;
 +
            order: 12
 +
        }
 +
 +
        .offset-lg-0 {
 +
            margin-left: 0
 +
        }
 +
 +
        .offset-lg-1 {
 +
            margin-left: 8.333333%
 +
        }
 +
 +
        .offset-lg-2 {
 +
            margin-left: 16.666667%
 +
        }
 +
 +
        .offset-lg-3 {
 +
            margin-left: 25%
 +
        }
 +
 +
        .offset-lg-4 {
 +
            margin-left: 33.333333%
 +
        }
 +
 +
        .offset-lg-5 {
 +
            margin-left: 41.666667%
 +
        }
 +
 +
        .offset-lg-6 {
 +
            margin-left: 50%
 +
        }
 +
 +
        .offset-lg-7 {
 +
            margin-left: 58.333333%
 +
        }
 +
 +
        .offset-lg-8 {
 +
            margin-left: 66.666667%
 +
        }
 +
 +
        .offset-lg-9 {
 +
            margin-left: 75%
 +
        }
 +
 +
        .offset-lg-10 {
 +
            margin-left: 83.333333%
 +
        }
 +
 +
        .offset-lg-11 {
 +
            margin-left: 91.666667%
 +
        }
 +
    }
 +
 +
    @media (min-width: 1200px) {
 +
        .col-xl {
 +
            -ms-flex-preferred-size: 0;
 +
            flex-basis: 0;
 +
            -ms-flex-positive: 1;
 +
            flex-grow: 1;
 +
            max-width: 100%
 +
        }
 +
 +
        .col-xl-auto {
 +
            -ms-flex: 0 0 auto;
 +
            flex: 0 0 auto;
 +
            width: auto;
 +
            max-width: none
 +
        }
 +
 +
        .col-xl-1 {
 +
            -ms-flex: 0 0 8.333333%;
 +
            flex: 0 0 8.333333%;
 +
            max-width: 8.333333%
 +
        }
 +
 +
        .col-xl-2 {
 +
            -ms-flex: 0 0 16.666667%;
 +
            flex: 0 0 16.666667%;
 +
            max-width: 16.666667%
 +
        }
 +
 +
        .col-xl-3 {
 +
            -ms-flex: 0 0 25%;
 +
            flex: 0 0 25%;
 +
            max-width: 25%
 +
        }
 +
 +
        .col-xl-4 {
 +
            -ms-flex: 0 0 33.333333%;
 +
            flex: 0 0 33.333333%;
 +
            max-width: 33.333333%
 +
        }
 +
 +
        .col-xl-5 {
 +
            -ms-flex: 0 0 41.666667%;
 +
            flex: 0 0 41.666667%;
 +
            max-width: 41.666667%
 +
        }
 +
 +
        .col-xl-6 {
 +
            -ms-flex: 0 0 50%;
 +
            flex: 0 0 50%;
 +
            max-width: 50%
 +
        }
 +
 +
        .col-xl-7 {
 +
            -ms-flex: 0 0 58.333333%;
 +
            flex: 0 0 58.333333%;
 +
            max-width: 58.333333%
 +
        }
 +
 +
        .col-xl-8 {
 +
            -ms-flex: 0 0 66.666667%;
 +
            flex: 0 0 66.666667%;
 +
            max-width: 66.666667%
 +
        }
 +
 +
        .col-xl-9 {
 +
            -ms-flex: 0 0 75%;
 +
            flex: 0 0 75%;
 +
            max-width: 75%
 +
        }
 +
 +
        .col-xl-10 {
 +
            -ms-flex: 0 0 83.333333%;
 +
            flex: 0 0 83.333333%;
 +
            max-width: 83.333333%
 +
        }
 +
 +
        .col-xl-11 {
 +
            -ms-flex: 0 0 91.666667%;
 +
            flex: 0 0 91.666667%;
 +
            max-width: 91.666667%
 +
        }
 +
 +
        .col-xl-12 {
 +
            -ms-flex: 0 0 100%;
 +
            flex: 0 0 100%;
 +
            max-width: 100%
 +
        }
 +
 +
        .order-xl-first {
 +
            -ms-flex-order: -1;
 +
            order: -1
 +
        }
 +
 +
        .order-xl-last {
 +
            -ms-flex-order: 13;
 +
            order: 13
 +
        }
 +
 +
        .order-xl-0 {
 +
            -ms-flex-order: 0;
 +
            order: 0
 +
        }
 +
 +
        .order-xl-1 {
 +
            -ms-flex-order: 1;
 +
            order: 1
 +
        }
 +
 +
        .order-xl-2 {
 +
            -ms-flex-order: 2;
 +
            order: 2
 +
        }
 +
 +
        .order-xl-3 {
 +
            -ms-flex-order: 3;
 +
            order: 3
 +
        }
 +
 +
        .order-xl-4 {
 +
            -ms-flex-order: 4;
 +
            order: 4
 +
        }
 +
 +
        .order-xl-5 {
 +
            -ms-flex-order: 5;
 +
            order: 5
 +
        }
 +
 +
        .order-xl-6 {
 +
            -ms-flex-order: 6;
 +
            order: 6
 +
        }
 +
 +
        .order-xl-7 {
 +
            -ms-flex-order: 7;
 +
            order: 7
 +
        }
 +
 +
        .order-xl-8 {
 +
            -ms-flex-order: 8;
 +
            order: 8
 +
        }
 +
 +
        .order-xl-9 {
 +
            -ms-flex-order: 9;
 +
            order: 9
 +
        }
 +
 +
        .order-xl-10 {
 +
            -ms-flex-order: 10;
 +
            order: 10
 +
        }
 +
 +
        .order-xl-11 {
 +
            -ms-flex-order: 11;
 +
            order: 11
 +
        }
 +
 +
        .order-xl-12 {
 +
            -ms-flex-order: 12;
 +
            order: 12
 +
        }
 +
 +
        .offset-xl-0 {
 +
            margin-left: 0
 +
        }
 +
 +
        .offset-xl-1 {
 +
            margin-left: 8.333333%
 +
        }
 +
 +
        .offset-xl-2 {
 +
            margin-left: 16.666667%
 +
        }
 +
 +
        .offset-xl-3 {
 +
            margin-left: 25%
 +
        }
 +
 +
        .offset-xl-4 {
 +
            margin-left: 33.333333%
 +
        }
 +
 +
        .offset-xl-5 {
 +
            margin-left: 41.666667%
 +
        }
 +
 +
        .offset-xl-6 {
 +
            margin-left: 50%
 +
        }
 +
 +
        .offset-xl-7 {
 +
            margin-left: 58.333333%
 +
        }
 +
 +
        .offset-xl-8 {
 +
            margin-left: 66.666667%
 +
        }
 +
 +
        .offset-xl-9 {
 +
            margin-left: 75%
 +
        }
 +
 +
        .offset-xl-10 {
 +
            margin-left: 83.333333%
 +
        }
 +
 +
        .offset-xl-11 {
 +
            margin-left: 91.666667%
 +
        }
 +
    }
 +
 +
    .veggie {
 +
        width: 100%;
 +
        max-width: 100%;
 +
        margin-bottom: 1rem;
 +
        background-color: transparent
 +
    }
 +
    .veggie td,
 +
    .veggie th {
 +
        padding: .75rem;
 +
        vertical-align: top;
 +
        border-top: 1px solid #F4F0DE;
 +
        color: #F4F0DE;
 +
        border-bottom: 1px solid #F4F0DE;
 +
    }
 +
    .veggie th {
 +
        background-color: #2ecc71;
 +
        color: #232323 !important
 +
    }
 +
    .veggie caption {
 +
        color: #adb3b7;
 +
    }
 +
    .veggie thead th {
 +
        vertical-align: bottom;
 +
        border-bottom: 2px solid #dee2e6
 +
    }
 +
    .veggie tbody+tbody {
 +
        border-top: 2px solid #dee2e6
 +
    }
 +
 +
    @media screen and (max-width: 800px) {
 +
        .veggie {
 +
            font-size: xx-small;
 +
        }
 +
    }
 +
 +
    .table {
 +
        width: 100%;
 +
        max-width: 100%;
 +
        margin-bottom: 1rem;
 +
        background-color: transparent
 +
    }
 +
 +
    .table td, .table th {
 +
        padding: .75rem;
 +
        vertical-align: top;
 +
        border-top: 1px solid #dee2e6
 +
    }
 +
 +
    .table thead th {
 +
        vertical-align: bottom;
 +
        border-bottom: 2px solid #dee2e6
 +
    }
 +
 +
    .table tbody + tbody {
 +
        border-top: 2px solid #dee2e6
 +
    }
 +
 +
    .table .table {
 +
        background-color: #fff
 +
    }
 +
 +
    .table-sm td, .table-sm th {
 +
        padding: .3rem
 +
    }
 +
 +
    .table-bordered {
 +
        border: 1px solid #dee2e6
 +
    }
 +
 +
    .table-bordered td, .table-bordered th {
 +
        border: 1px solid #dee2e6
 +
    }
 +
 +
    .table-bordered thead td, .table-bordered thead th {
 +
        border-bottom-width: 2px
 +
    }
 +
 +
    .table-borderless tbody + tbody, .table-borderless td, .table-borderless th, .table-borderless thead th {
 +
        border: 0
 +
    }
 +
 +
    .table-striped tbody tr:nth-of-type(odd) {
 +
        background-color: rgba(0, 0, 0, .05)
 +
    }
 +
 +
    .table-hover tbody tr:hover {
 +
        background-color: rgba(0, 0, 0, .075)
 +
    }
 +
 +
    .table-primary, .table-primary > td, .table-primary > th {
 +
        background-color: #b8daff
 +
    }
 +
 +
    .table-hover .table-primary:hover {
 +
        background-color: #9fcdff
 +
    }
 +
 +
    .table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th {
 +
        background-color: #9fcdff
 +
    }
 +
 +
    .table-secondary, .table-secondary > td, .table-secondary > th {
 +
        background-color: #d6d8db
 +
    }
 +
 +
    .table-hover .table-secondary:hover {
 +
        background-color: #c8cbcf
 +
    }
 +
 +
    .table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th {
 +
        background-color: #c8cbcf
 +
    }
 +
 +
    .table-success, .table-success > td, .table-success > th {
 +
        background-color: #c3e6cb
 +
    }
 +
 +
    .table-hover .table-success:hover {
 +
        background-color: #b1dfbb
 +
    }
 +
 +
    .table-hover .table-success:hover > td, .table-hover .table-success:hover > th {
 +
        background-color: #b1dfbb
 +
    }
 +
 +
    .table-info, .table-info > td, .table-info > th {
 +
        background-color: #bee5eb
 +
    }
 +
 +
    .table-hover .table-info:hover {
 +
        background-color: #abdde5
 +
    }
 +
 +
    .table-hover .table-info:hover > td, .table-hover .table-info:hover > th {
 +
        background-color: #abdde5
 +
    }
 +
 +
    .table-warning, .table-warning > td, .table-warning > th {
 +
        background-color: #ffeeba
 +
    }
 +
 +
    .table-hover .table-warning:hover {
 +
        background-color: #ffe8a1
 +
    }
 +
 +
    .table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th {
 +
        background-color: #ffe8a1
 +
    }
 +
 +
    .table-danger, .table-danger > td, .table-danger > th {
 +
        background-color: #f5c6cb
 +
    }
 +
 +
    .table-hover .table-danger:hover {
 +
        background-color: #f1b0b7
 +
    }
 +
 +
    .table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th {
 +
        background-color: #f1b0b7
 +
    }
 +
 +
    .table-light, .table-light > td, .table-light > th {
 +
        background-color: #fdfdfe
 +
    }
 +
 +
    .table-hover .table-light:hover {
 +
        background-color: #ececf6
 +
    }
 +
 +
    .table-hover .table-light:hover > td, .table-hover .table-light:hover > th {
 +
        background-color: #ececf6
 +
    }
 +
 +
    .table-dark, .table-dark > td, .table-dark > th {
 +
        background-color: #c6c8ca
 +
    }
 +
 +
    .table-hover .table-dark:hover {
 +
        background-color: #b9bbbe
 +
    }
 +
 +
    .table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th {
 +
        background-color: #b9bbbe
 +
    }
 +
 +
    .table-active, .table-active > td, .table-active > th {
 +
        background-color: rgba(0, 0, 0, .075)
 +
    }
 +
 +
    .table-hover .table-active:hover {
 +
        background-color: rgba(0, 0, 0, .075)
 +
    }
 +
 +
    .table-hover .table-active:hover > td, .table-hover .table-active:hover > th {
 +
        background-color: rgba(0, 0, 0, .075)
 +
    }
 +
 +
    .table .thead-dark th {
 +
        color: #fff;
 +
        background-color: #212529;
 +
        border-color: #32383e
 +
    }
 +
 +
    .table .thead-light th {
 +
        color: #495057;
 +
        background-color: #e9ecef;
 +
        border-color: #dee2e6
 +
    }
 +
 +
    .table-dark {
 +
        color: #fff;
 +
        background-color: #212529
 +
    }
 +
 +
    .table-dark td, .table-dark th, .table-dark thead th {
 +
        border-color: #32383e
 +
    }
 +
 +
    .table-dark.table-bordered {
 +
        border: 0
 +
    }
 +
 +
    .table-dark.table-striped tbody tr:nth-of-type(odd) {
 +
        background-color: rgba(255, 255, 255, .05)
 +
    }
 +
 +
    .table-dark.table-hover tbody tr:hover {
 +
        background-color: rgba(255, 255, 255, .075)
 +
    }
 +
 +
    @media (max-width: 575.98px) {
 +
        .table-responsive-sm {
 +
            display: block;
 +
            width: 100%;
 +
            overflow-x: auto;
 +
            -webkit-overflow-scrolling: touch;
 +
            -ms-overflow-style: -ms-autohiding-scrollbar
 +
        }
 +
 +
        .table-responsive-sm > .table-bordered {
 +
            border: 0
 +
        }
 +
    }
 +
 +
    @media (max-width: 767.98px) {
 +
        .table-responsive-md {
 +
            display: block;
 +
            width: 100%;
 +
            overflow-x: auto;
 +
            -webkit-overflow-scrolling: touch;
 +
            -ms-overflow-style: -ms-autohiding-scrollbar
 +
        }
 +
 +
        .table-responsive-md > .table-bordered {
 +
            border: 0
 +
        }
 +
    }
 +
 +
    @media (max-width: 991.98px) {
 +
        .table-responsive-lg {
 +
            display: block;
 +
            width: 100%;
 +
            overflow-x: auto;
 +
            -webkit-overflow-scrolling: touch;
 +
            -ms-overflow-style: -ms-autohiding-scrollbar
 +
        }
 +
 +
        .table-responsive-lg > .table-bordered {
 +
            border: 0
 +
        }
 +
    }
 +
 +
    @media (max-width: 1199.98px) {
 +
        .table-responsive-xl {
 +
            display: block;
 +
            width: 100%;
 +
            overflow-x: auto;
 +
            -webkit-overflow-scrolling: touch;
 +
            -ms-overflow-style: -ms-autohiding-scrollbar
 +
        }
 +
 +
        .table-responsive-xl > .table-bordered {
 +
            border: 0
 +
        }
 +
    }
 +
 +
    .table-responsive {
 +
        display: block;
 +
        width: 100%;
 +
        overflow-x: auto;
 +
        -webkit-overflow-scrolling: touch;
 +
        -ms-overflow-style: -ms-autohiding-scrollbar
 +
    }
 +
 +
    .table-responsive > .table-bordered {
 +
        border: 0
 +
    }
 +
 +
    .form-control {
 +
        display: block;
 +
        width: 100%;
 +
        padding: .375rem .75rem;
 +
        font-size: 1rem;
 +
        line-height: 1.5;
 +
        color: #495057;
 +
        background-color: #fff;
 +
        background-clip: padding-box;
 +
        border: 1px solid #ced4da;
 +
        border-radius: .25rem;
 +
        transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
 +
    }
 +
 +
    @media screen and (prefers-reduced-motion: reduce) {
 +
        .form-control {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .form-control::-ms-expand {
 +
        background-color: transparent;
 +
        border: 0
 +
    }
 +
 +
    .form-control:focus {
 +
        color: #495057;
 +
        background-color: #fff;
 +
        border-color: #80bdff;
 +
        outline: 0;
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .form-control::-webkit-input-placeholder {
 +
        color: #6c757d;
 +
        opacity: 1
 +
    }
 +
 +
    .form-control::-moz-placeholder {
 +
        color: #6c757d;
 +
        opacity: 1
 +
    }
 +
 +
    .form-control:-ms-input-placeholder {
 +
        color: #6c757d;
 +
        opacity: 1
 +
    }
 +
 +
    .form-control::-ms-input-placeholder {
 +
        color: #6c757d;
 +
        opacity: 1
 +
    }
 +
 +
    .form-control::placeholder {
 +
        color: #6c757d;
 +
        opacity: 1
 +
    }
 +
 +
    .form-control:disabled, .form-control[readonly] {
 +
        background-color: #e9ecef;
 +
        opacity: 1
 +
    }
 +
 +
    select.form-control:not([size]):not([multiple]) {
 +
        height: calc(2.25rem + 2px)
 +
    }
 +
 +
    select.form-control:focus::-ms-value {
 +
        color: #495057;
 +
        background-color: #fff
 +
    }
 +
 +
    .form-control-file, .form-control-range {
 +
        display: block;
 +
        width: 100%
 +
    }
 +
 +
    .col-form-label {
 +
        padding-top: calc(.375rem + 1px);
 +
        padding-bottom: calc(.375rem + 1px);
 +
        margin-bottom: 0;
 +
        font-size: inherit;
 +
        line-height: 1.5
 +
    }
 +
 +
    .col-form-label-lg {
 +
        padding-top: calc(.5rem + 1px);
 +
        padding-bottom: calc(.5rem + 1px);
 +
        font-size: 1.25rem;
 +
        line-height: 1.5
 +
    }
 +
 +
    .col-form-label-sm {
 +
        padding-top: calc(.25rem + 1px);
 +
        padding-bottom: calc(.25rem + 1px);
 +
        font-size: .875rem;
 +
        line-height: 1.5
 +
    }
 +
 +
    .form-control-plaintext {
 +
        display: block;
 +
        width: 100%;
 +
        padding-top: .375rem;
 +
        padding-bottom: .375rem;
 +
        margin-bottom: 0;
 +
        line-height: 1.5;
 +
        color: #212529;
 +
        background-color: transparent;
 +
        border: solid transparent;
 +
        border-width: 1px 0
 +
    }
 +
 +
    .form-control-plaintext.form-control-lg, .form-control-plaintext.form-control-sm, .input-group-lg > .form-control-plaintext.form-control, .input-group-lg > .input-group-append > .form-control-plaintext.btn, .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, .input-group-lg > .input-group-prepend > .form-control-plaintext.btn, .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, .input-group-sm > .form-control-plaintext.form-control, .input-group-sm > .input-group-append > .form-control-plaintext.btn, .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, .input-group-sm > .input-group-prepend > .form-control-plaintext.btn, .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text {
 +
        padding-right: 0;
 +
        padding-left: 0
 +
    }
 +
 +
    .form-control-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-append > .btn, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-prepend > .input-group-text {
 +
        padding: .25rem .5rem;
 +
        font-size: .875rem;
 +
        line-height: 1.5;
 +
        border-radius: .2rem
 +
    }
 +
 +
    .input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), select.form-control-sm:not([size]):not([multiple]) {
 +
        height: calc(1.8125rem + 2px)
 +
    }
 +
 +
    .form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-append > .btn, .input-group-lg > .input-group-append > .input-group-text, .input-group-lg > .input-group-prepend > .btn, .input-group-lg > .input-group-prepend > .input-group-text {
 +
        padding: .5rem 1rem;
 +
        font-size: 1.25rem;
 +
        line-height: 1.5;
 +
        border-radius: .3rem
 +
    }
 +
 +
    .input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]), .input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), .input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), .input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), select.form-control-lg:not([size]):not([multiple]) {
 +
        height: calc(2.875rem + 2px)
 +
    }
 +
 +
    .form-group {
 +
        margin-bottom: 1rem
 +
    }
 +
 +
    .form-text {
 +
        display: block;
 +
        margin-top: .25rem
 +
    }
 +
 +
    .form-row {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        margin-right: -5px;
 +
        margin-left: -5px
 +
    }
 +
 +
    .form-row > .col, .form-row > [class*=col-] {
 +
        padding-right: 5px;
 +
        padding-left: 5px
 +
    }
 +
 +
    .form-check {
 +
        position: relative;
 +
        display: block;
 +
        padding-left: 1.25rem
 +
    }
 +
 +
    .form-check-input {
 +
        position: absolute;
 +
        margin-top: .3rem;
 +
        margin-left: -1.25rem
 +
    }
 +
 +
    .form-check-input:disabled ~ .form-check-label {
 +
        color: #6c757d
 +
    }
 +
 +
    .form-check-label {
 +
        margin-bottom: 0
 +
    }
 +
 +
    .form-check-inline {
 +
        display: -ms-inline-flexbox;
 +
        display: inline-flex;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        padding-left: 0;
 +
        margin-right: .75rem
 +
    }
 +
 +
    .form-check-inline .form-check-input {
 +
        position: static;
 +
        margin-top: 0;
 +
        margin-right: .3125rem;
 +
        margin-left: 0
 +
    }
 +
 +
    .valid-feedback {
 +
        display: none;
 +
        width: 100%;
 +
        margin-top: .25rem;
 +
        font-size: 80%;
 +
        color: #28a745
 +
    }
 +
 +
    .valid-tooltip {
 +
        position: absolute;
 +
        top: 100%;
 +
        z-index: 5;
 +
        display: none;
 +
        max-width: 100%;
 +
        padding: .5rem;
 +
        margin-top: .1rem;
 +
        font-size: .875rem;
 +
        line-height: 1;
 +
        color: #fff;
 +
        background-color: rgba(40, 167, 69, .8);
 +
        border-radius: .2rem
 +
    }
 +
 +
    .custom-select.is-valid, .form-control.is-valid, .was-validated .custom-select:valid, .was-validated .form-control:valid {
 +
        border-color: #28a745
 +
    }
 +
 +
    .custom-select.is-valid:focus, .form-control.is-valid:focus, .was-validated .custom-select:valid:focus, .was-validated .form-control:valid:focus {
 +
        border-color: #28a745;
 +
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
 +
    }
 +
 +
    .custom-select.is-valid ~ .valid-feedback, .custom-select.is-valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, .form-control.is-valid ~ .valid-tooltip, .was-validated .custom-select:valid ~ .valid-feedback, .was-validated .custom-select:valid ~ .valid-tooltip, .was-validated .form-control:valid ~ .valid-feedback, .was-validated .form-control:valid ~ .valid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .form-check-input.is-valid ~ .form-check-label, .was-validated .form-check-input:valid ~ .form-check-label {
 +
        color: #28a745
 +
    }
 +
 +
    .form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip, .was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .custom-control-input.is-valid ~ .custom-control-label, .was-validated .custom-control-input:valid ~ .custom-control-label {
 +
        color: #28a745
 +
    }
 +
 +
    .custom-control-input.is-valid ~ .custom-control-label::before, .was-validated .custom-control-input:valid ~ .custom-control-label::before {
 +
        background-color: #71dd8a
 +
    }
 +
 +
    .custom-control-input.is-valid ~ .valid-feedback, .custom-control-input.is-valid ~ .valid-tooltip, .was-validated .custom-control-input:valid ~ .valid-feedback, .was-validated .custom-control-input:valid ~ .valid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .custom-control-input.is-valid:checked ~ .custom-control-label::before, .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before {
 +
        background-color: #34ce57
 +
    }
 +
 +
    .custom-control-input.is-valid:focus ~ .custom-control-label::before, .was-validated .custom-control-input:valid:focus ~ .custom-control-label::before {
 +
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(40, 167, 69, .25)
 +
    }
 +
 +
    .custom-file-input.is-valid ~ .custom-file-label, .was-validated .custom-file-input:valid ~ .custom-file-label {
 +
        border-color: #28a745
 +
    }
 +
 +
    .custom-file-input.is-valid ~ .custom-file-label::before, .was-validated .custom-file-input:valid ~ .custom-file-label::before {
 +
        border-color: inherit
 +
    }
 +
 +
    .custom-file-input.is-valid ~ .valid-feedback, .custom-file-input.is-valid ~ .valid-tooltip, .was-validated .custom-file-input:valid ~ .valid-feedback, .was-validated .custom-file-input:valid ~ .valid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .custom-file-input.is-valid:focus ~ .custom-file-label, .was-validated .custom-file-input:valid:focus ~ .custom-file-label {
 +
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
 +
    }
 +
 +
    .invalid-feedback {
 +
        display: none;
 +
        width: 100%;
 +
        margin-top: .25rem;
 +
        font-size: 80%;
 +
        color: #dc3545
 +
    }
 +
 +
    .invalid-tooltip {
 +
        position: absolute;
 +
        top: 100%;
 +
        z-index: 5;
 +
        display: none;
 +
        max-width: 100%;
 +
        padding: .5rem;
 +
        margin-top: .1rem;
 +
        font-size: .875rem;
 +
        line-height: 1;
 +
        color: #fff;
 +
        background-color: rgba(220, 53, 69, .8);
 +
        border-radius: .2rem
 +
    }
 +
 +
    .custom-select.is-invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .was-validated .form-control:invalid {
 +
        border-color: #dc3545
 +
    }
 +
 +
    .custom-select.is-invalid:focus, .form-control.is-invalid:focus, .was-validated .custom-select:invalid:focus, .was-validated .form-control:invalid:focus {
 +
        border-color: #dc3545;
 +
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
 +
    }
 +
 +
    .custom-select.is-invalid ~ .invalid-feedback, .custom-select.is-invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, .form-control.is-invalid ~ .invalid-tooltip, .was-validated .custom-select:invalid ~ .invalid-feedback, .was-validated .custom-select:invalid ~ .invalid-tooltip, .was-validated .form-control:invalid ~ .invalid-feedback, .was-validated .form-control:invalid ~ .invalid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .form-check-input.is-invalid ~ .form-check-label, .was-validated .form-check-input:invalid ~ .form-check-label {
 +
        color: #dc3545
 +
    }
 +
 +
    .form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip, .was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .custom-control-input.is-invalid ~ .custom-control-label, .was-validated .custom-control-input:invalid ~ .custom-control-label {
 +
        color: #dc3545
 +
    }
 +
 +
    .custom-control-input.is-invalid ~ .custom-control-label::before, .was-validated .custom-control-input:invalid ~ .custom-control-label::before {
 +
        background-color: #efa2a9
 +
    }
 +
 +
    .custom-control-input.is-invalid ~ .invalid-feedback, .custom-control-input.is-invalid ~ .invalid-tooltip, .was-validated .custom-control-input:invalid ~ .invalid-feedback, .was-validated .custom-control-input:invalid ~ .invalid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .custom-control-input.is-invalid:checked ~ .custom-control-label::before, .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before {
 +
        background-color: #e4606d
 +
    }
 +
 +
    .custom-control-input.is-invalid:focus ~ .custom-control-label::before, .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before {
 +
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(220, 53, 69, .25)
 +
    }
 +
 +
    .custom-file-input.is-invalid ~ .custom-file-label, .was-validated .custom-file-input:invalid ~ .custom-file-label {
 +
        border-color: #dc3545
 +
    }
 +
 +
    .custom-file-input.is-invalid ~ .custom-file-label::before, .was-validated .custom-file-input:invalid ~ .custom-file-label::before {
 +
        border-color: inherit
 +
    }
 +
 +
    .custom-file-input.is-invalid ~ .invalid-feedback, .custom-file-input.is-invalid ~ .invalid-tooltip, .was-validated .custom-file-input:invalid ~ .invalid-feedback, .was-validated .custom-file-input:invalid ~ .invalid-tooltip {
 +
        display: block
 +
    }
 +
 +
    .custom-file-input.is-invalid:focus ~ .custom-file-label, .was-validated .custom-file-input:invalid:focus ~ .custom-file-label {
 +
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
 +
    }
 +
 +
    .form-inline {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-flow: row wrap;
 +
        flex-flow: row wrap;
 +
        -ms-flex-align: center;
 +
        align-items: center
 +
    }
 +
 +
    .form-inline .form-check {
 +
        width: 100%
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .form-inline label {
 +
            display: -ms-flexbox;
 +
            display: flex;
 +
            -ms-flex-align: center;
 +
            align-items: center;
 +
            -ms-flex-pack: center;
 +
            justify-content: center;
 +
            margin-bottom: 0
 +
        }
 +
 +
        .form-inline .form-group {
 +
            display: -ms-flexbox;
 +
            display: flex;
 +
            -ms-flex: 0 0 auto;
 +
            flex: 0 0 auto;
 +
            -ms-flex-flow: row wrap;
 +
            flex-flow: row wrap;
 +
            -ms-flex-align: center;
 +
            align-items: center;
 +
            margin-bottom: 0
 +
        }
 +
 +
        .form-inline .form-control {
 +
            display: inline-block;
 +
            width: auto;
 +
            vertical-align: middle
 +
        }
 +
 +
        .form-inline .form-control-plaintext {
 +
            display: inline-block
 +
        }
 +
 +
        .form-inline .custom-select, .form-inline .input-group {
 +
            width: auto
 +
        }
 +
 +
        .form-inline .form-check {
 +
            display: -ms-flexbox;
 +
            display: flex;
 +
            -ms-flex-align: center;
 +
            align-items: center;
 +
            -ms-flex-pack: center;
 +
            justify-content: center;
 +
            width: auto;
 +
            padding-left: 0
 +
        }
 +
 +
        .form-inline .form-check-input {
 +
            position: relative;
 +
            margin-top: 0;
 +
            margin-right: .25rem;
 +
            margin-left: 0
 +
        }
 +
 +
        .form-inline .custom-control {
 +
            -ms-flex-align: center;
 +
            align-items: center;
 +
            -ms-flex-pack: center;
 +
            justify-content: center
 +
        }
 +
 +
        .form-inline .custom-control-label {
 +
            margin-bottom: 0
 +
        }
 +
    }
 +
 +
    .btn {
 +
        display: inline-block;
 +
        font-weight: 400;
 +
        text-align: center;
 +
        white-space: nowrap;
 +
        vertical-align: middle;
 +
        -webkit-user-select: none;
 +
        -moz-user-select: none;
 +
        -ms-user-select: none;
 +
        user-select: none;
 +
        border: 1px solid transparent;
 +
        padding: .375rem .75rem;
 +
        font-size: 1rem;
 +
        line-height: 1.5;
 +
        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 screen and (prefers-reduced-motion: reduce) {
 +
        .btn {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .btn:focus, .btn:hover {
 +
        text-decoration: none
 +
    }
 +
 +
    .btn.focus, .btn:focus {
 +
        outline: 0;
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .btn.disabled, .btn:disabled {
 +
        opacity: .65
 +
    }
 +
 +
    .btn:not(:disabled):not(.disabled) {
 +
        cursor: pointer
 +
    }
 +
 +
    .btn:not(:disabled):not(.disabled).active, .btn:not(:disabled):not(.disabled):active {
 +
        background-image: none
 +
    }
 +
 +
    a.btn.disabled, fieldset:disabled a.btn {
 +
        pointer-events: none
 +
    }
 +
 +
    .btn-primary {
 +
        color: #fff;
 +
        background-color: #007bff;
 +
        border-color: #007bff
 +
    }
 +
 +
    .btn-primary:hover {
 +
        color: #fff;
 +
        background-color: #0069d9;
 +
        border-color: #0062cc
 +
    }
 +
 +
    .btn-primary.focus, .btn-primary:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .btn-primary.disabled, .btn-primary:disabled {
 +
        color: #fff;
 +
        background-color: #007bff;
 +
        border-color: #007bff
 +
    }
 +
 +
    .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #0062cc;
 +
        border-color: #005cbf
 +
    }
 +
 +
    .btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .btn-secondary {
 +
        color: #fff;
 +
        background-color: #6c757d;
 +
        border-color: #6c757d
 +
    }
 +
 +
    .btn-secondary:hover {
 +
        color: #fff;
 +
        background-color: #5a6268;
 +
        border-color: #545b62
 +
    }
 +
 +
    .btn-secondary.focus, .btn-secondary:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5)
 +
    }
 +
 +
    .btn-secondary.disabled, .btn-secondary:disabled {
 +
        color: #fff;
 +
        background-color: #6c757d;
 +
        border-color: #6c757d
 +
    }
 +
 +
    .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show > .btn-secondary.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #545b62;
 +
        border-color: #4e555b
 +
    }
 +
 +
    .btn-secondary:not(:disabled):not(.disabled).active:focus, .btn-secondary:not(:disabled):not(.disabled):active:focus, .show > .btn-secondary.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5)
 +
    }
 +
 +
    .btn-success {
 +
        color: #fff;
 +
        background-color: #28a745;
 +
        border-color: #28a745
 +
    }
 +
 +
    .btn-success:hover {
 +
        color: #fff;
 +
        background-color: #218838;
 +
        border-color: #1e7e34
 +
    }
 +
 +
    .btn-success.focus, .btn-success:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5)
 +
    }
 +
 +
    .btn-success.disabled, .btn-success:disabled {
 +
        color: #fff;
 +
        background-color: #28a745;
 +
        border-color: #28a745
 +
    }
 +
 +
    .btn-success:not(:disabled):not(.disabled).active, .btn-success:not(:disabled):not(.disabled):active, .show > .btn-success.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #1e7e34;
 +
        border-color: #1c7430
 +
    }
 +
 +
    .btn-success:not(:disabled):not(.disabled).active:focus, .btn-success:not(:disabled):not(.disabled):active:focus, .show > .btn-success.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5)
 +
    }
 +
 +
    .btn-info {
 +
        color: #fff;
 +
        background-color: #17a2b8;
 +
        border-color: #17a2b8
 +
    }
 +
 +
    .btn-info:hover {
 +
        color: #fff;
 +
        background-color: #138496;
 +
        border-color: #117a8b
 +
    }
 +
 +
    .btn-info.focus, .btn-info:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5)
 +
    }
 +
 +
    .btn-info.disabled, .btn-info:disabled {
 +
        color: #fff;
 +
        background-color: #17a2b8;
 +
        border-color: #17a2b8
 +
    }
 +
 +
    .btn-info:not(:disabled):not(.disabled).active, .btn-info:not(:disabled):not(.disabled):active, .show > .btn-info.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #117a8b;
 +
        border-color: #10707f
 +
    }
 +
 +
    .btn-info:not(:disabled):not(.disabled).active:focus, .btn-info:not(:disabled):not(.disabled):active:focus, .show > .btn-info.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5)
 +
    }
 +
 +
    .btn-warning {
 +
        color: #212529;
 +
        background-color: #ffc107;
 +
        border-color: #ffc107
 +
    }
 +
 +
    .btn-warning:hover {
 +
        color: #212529;
 +
        background-color: #e0a800;
 +
        border-color: #d39e00
 +
    }
 +
 +
    .btn-warning.focus, .btn-warning:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5)
 +
    }
 +
 +
    .btn-warning.disabled, .btn-warning:disabled {
 +
        color: #212529;
 +
        background-color: #ffc107;
 +
        border-color: #ffc107
 +
    }
 +
 +
    .btn-warning:not(:disabled):not(.disabled).active, .btn-warning:not(:disabled):not(.disabled):active, .show > .btn-warning.dropdown-toggle {
 +
        color: #212529;
 +
        background-color: #d39e00;
 +
        border-color: #c69500
 +
    }
 +
 +
    .btn-warning:not(:disabled):not(.disabled).active:focus, .btn-warning:not(:disabled):not(.disabled):active:focus, .show > .btn-warning.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5)
 +
    }
 +
 +
    .btn-danger {
 +
        color: #fff;
 +
        background-color: #dc3545;
 +
        border-color: #dc3545
 +
    }
 +
 +
    .btn-danger:hover {
 +
        color: #fff;
 +
        background-color: #c82333;
 +
        border-color: #bd2130
 +
    }
 +
 +
    .btn-danger.focus, .btn-danger:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5)
 +
    }
 +
 +
    .btn-danger.disabled, .btn-danger:disabled {
 +
        color: #fff;
 +
        background-color: #dc3545;
 +
        border-color: #dc3545
 +
    }
 +
 +
    .btn-danger:not(:disabled):not(.disabled).active, .btn-danger:not(:disabled):not(.disabled):active, .show > .btn-danger.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #bd2130;
 +
        border-color: #b21f2d
 +
    }
 +
 +
    .btn-danger:not(:disabled):not(.disabled).active:focus, .btn-danger:not(:disabled):not(.disabled):active:focus, .show > .btn-danger.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5)
 +
    }
 +
 +
    .btn-light {
 +
        color: #212529;
 +
        background-color: #f8f9fa;
 +
        border-color: #f8f9fa
 +
    }
 +
 +
    .btn-light:hover {
 +
        color: #212529;
 +
        background-color: #e2e6ea;
 +
        border-color: #dae0e5
 +
    }
 +
 +
    .btn-light.focus, .btn-light:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5)
 +
    }
 +
 +
    .btn-light.disabled, .btn-light:disabled {
 +
        color: #212529;
 +
        background-color: #f8f9fa;
 +
        border-color: #f8f9fa
 +
    }
 +
 +
    .btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active, .show > .btn-light.dropdown-toggle {
 +
        color: #212529;
 +
        background-color: #dae0e5;
 +
        border-color: #d3d9df
 +
    }
 +
 +
    .btn-light:not(:disabled):not(.disabled).active:focus, .btn-light:not(:disabled):not(.disabled):active:focus, .show > .btn-light.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5)
 +
    }
 +
 +
    .btn-dark {
 +
        color: #fff;
 +
        background-color: #343a40;
 +
        border-color: #343a40
 +
    }
 +
 +
    .btn-dark:hover {
 +
        color: #fff;
 +
        background-color: #23272b;
 +
        border-color: #1d2124
 +
    }
 +
 +
    .btn-dark.focus, .btn-dark:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5)
 +
    }
 +
 +
    .btn-dark.disabled, .btn-dark:disabled {
 +
        color: #fff;
 +
        background-color: #343a40;
 +
        border-color: #343a40
 +
    }
 +
 +
    .btn-dark:not(:disabled):not(.disabled).active, .btn-dark:not(:disabled):not(.disabled):active, .show > .btn-dark.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #1d2124;
 +
        border-color: #171a1d
 +
    }
 +
 +
    .btn-dark:not(:disabled):not(.disabled).active:focus, .btn-dark:not(:disabled):not(.disabled):active:focus, .show > .btn-dark.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5)
 +
    }
 +
 +
    .btn-outline-primary {
 +
        color: #007bff;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #007bff
 +
    }
 +
 +
    .btn-outline-primary:hover {
 +
        color: #fff;
 +
        background-color: #007bff;
 +
        border-color: #007bff
 +
    }
 +
 +
    .btn-outline-primary.focus, .btn-outline-primary:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .btn-outline-primary.disabled, .btn-outline-primary:disabled {
 +
        color: #007bff;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show > .btn-outline-primary.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #007bff;
 +
        border-color: #007bff
 +
    }
 +
 +
    .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .btn-outline-secondary {
 +
        color: #6c757d;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #6c757d
 +
    }
 +
 +
    .btn-outline-secondary:hover {
 +
        color: #fff;
 +
        background-color: #6c757d;
 +
        border-color: #6c757d
 +
    }
 +
 +
    .btn-outline-secondary.focus, .btn-outline-secondary:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5)
 +
    }
 +
 +
    .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
 +
        color: #6c757d;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-secondary:not(:disabled):not(.disabled).active, .btn-outline-secondary:not(:disabled):not(.disabled):active, .show > .btn-outline-secondary.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #6c757d;
 +
        border-color: #6c757d
 +
    }
 +
 +
    .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5)
 +
    }
 +
 +
    .btn-outline-success {
 +
        color: #28a745;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #28a745
 +
    }
 +
 +
    .btn-outline-success:hover {
 +
        color: #fff;
 +
        background-color: #28a745;
 +
        border-color: #28a745
 +
    }
 +
 +
    .btn-outline-success.focus, .btn-outline-success:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5)
 +
    }
 +
 +
    .btn-outline-success.disabled, .btn-outline-success:disabled {
 +
        color: #28a745;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-success:not(:disabled):not(.disabled).active, .btn-outline-success:not(:disabled):not(.disabled):active, .show > .btn-outline-success.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #28a745;
 +
        border-color: #28a745
 +
    }
 +
 +
    .btn-outline-success:not(:disabled):not(.disabled).active:focus, .btn-outline-success:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5)
 +
    }
 +
 +
    .btn-outline-info {
 +
        color: #17a2b8;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #17a2b8
 +
    }
 +
 +
    .btn-outline-info:hover {
 +
        color: #fff;
 +
        background-color: #17a2b8;
 +
        border-color: #17a2b8
 +
    }
 +
 +
    .btn-outline-info.focus, .btn-outline-info:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5)
 +
    }
 +
 +
    .btn-outline-info.disabled, .btn-outline-info:disabled {
 +
        color: #17a2b8;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-info:not(:disabled):not(.disabled).active, .btn-outline-info:not(:disabled):not(.disabled):active, .show > .btn-outline-info.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #17a2b8;
 +
        border-color: #17a2b8
 +
    }
 +
 +
    .btn-outline-info:not(:disabled):not(.disabled).active:focus, .btn-outline-info:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5)
 +
    }
 +
 +
    .btn-outline-warning {
 +
        color: #ffc107;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #ffc107
 +
    }
 +
 +
    .btn-outline-warning:hover {
 +
        color: #212529;
 +
        background-color: #ffc107;
 +
        border-color: #ffc107
 +
    }
 +
 +
    .btn-outline-warning.focus, .btn-outline-warning:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5)
 +
    }
 +
 +
    .btn-outline-warning.disabled, .btn-outline-warning:disabled {
 +
        color: #ffc107;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-warning:not(:disabled):not(.disabled).active, .btn-outline-warning:not(:disabled):not(.disabled):active, .show > .btn-outline-warning.dropdown-toggle {
 +
        color: #212529;
 +
        background-color: #ffc107;
 +
        border-color: #ffc107
 +
    }
 +
 +
    .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5)
 +
    }
 +
 +
    .btn-outline-danger {
 +
        color: #dc3545;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #dc3545
 +
    }
 +
 +
    .btn-outline-danger:hover {
 +
        color: #fff;
 +
        background-color: #dc3545;
 +
        border-color: #dc3545
 +
    }
 +
 +
    .btn-outline-danger.focus, .btn-outline-danger:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5)
 +
    }
 +
 +
    .btn-outline-danger.disabled, .btn-outline-danger:disabled {
 +
        color: #dc3545;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-danger:not(:disabled):not(.disabled).active, .btn-outline-danger:not(:disabled):not(.disabled):active, .show > .btn-outline-danger.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #dc3545;
 +
        border-color: #dc3545
 +
    }
 +
 +
    .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5)
 +
    }
 +
 +
    .btn-outline-light {
 +
        color: #f8f9fa;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #f8f9fa
 +
    }
 +
 +
    .btn-outline-light:hover {
 +
        color: #212529;
 +
        background-color: #f8f9fa;
 +
        border-color: #f8f9fa
 +
    }
 +
 +
    .btn-outline-light.focus, .btn-outline-light:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5)
 +
    }
 +
 +
    .btn-outline-light.disabled, .btn-outline-light:disabled {
 +
        color: #f8f9fa;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-light:not(:disabled):not(.disabled).active, .btn-outline-light:not(:disabled):not(.disabled):active, .show > .btn-outline-light.dropdown-toggle {
 +
        color: #212529;
 +
        background-color: #f8f9fa;
 +
        border-color: #f8f9fa
 +
    }
 +
 +
    .btn-outline-light:not(:disabled):not(.disabled).active:focus, .btn-outline-light:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5)
 +
    }
 +
 +
    .btn-outline-dark {
 +
        color: #343a40;
 +
        background-color: transparent;
 +
        background-image: none;
 +
        border-color: #343a40
 +
    }
 +
 +
    .btn-outline-dark:hover {
 +
        color: #fff;
 +
        background-color: #343a40;
 +
        border-color: #343a40
 +
    }
 +
 +
    .btn-outline-dark.focus, .btn-outline-dark:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5)
 +
    }
 +
 +
    .btn-outline-dark.disabled, .btn-outline-dark:disabled {
 +
        color: #343a40;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-outline-dark:not(:disabled):not(.disabled).active, .btn-outline-dark:not(:disabled):not(.disabled):active, .show > .btn-outline-dark.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #343a40;
 +
        border-color: #343a40
 +
    }
 +
 +
    .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
 +
        box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5)
 +
    }
 +
 +
    .btn-group-lg > .btn, .btn-lg {
 +
        padding: .5rem 1rem;
 +
        font-size: 1.25rem;
 +
        line-height: 1.5;
 +
        border-radius: .3rem
 +
    }
 +
 +
    .btn-group-sm > .btn, .btn-sm {
 +
        padding: .25rem .5rem;
 +
        font-size: .875rem;
 +
        line-height: 1.5;
 +
        border-radius: .2rem
 +
    }
 +
 +
    .btn-block {
 +
        display: block;
 +
        width: 100%
 +
    }
 +
 +
    .btn-block + .btn-block {
 +
        margin-top: .5rem
 +
    }
 +
 +
    input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].btn-block {
 +
        width: 100%
 +
    }
 +
 +
    .fade {
 +
        transition: opacity .15s linear
 +
    }
 +
 +
    @media screen and (prefers-reduced-motion: reduce) {
 +
        .fade {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .fade:not(.show) {
 +
        opacity: 0
 +
    }
 +
 +
    .collapse:not(.show) {
 +
        display: none
 +
    }
 +
 +
    .collapsing {
 +
        position: relative;
 +
        height: 0;
 +
        overflow: hidden;
 +
        transition: height .35s ease
 +
    }
 +
 +
    @media screen and (prefers-reduced-motion: reduce) {
 +
        .collapsing {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .dropdown, .dropleft, .dropright, .dropup {
 +
        position: relative
 +
    }
 +
 +
    .dropdown-toggle::after {
 +
        display: inline-block;
 +
        width: 0;
 +
        height: 0;
 +
        margin-left: .255em;
 +
        vertical-align: .255em;
 +
        content: "";
 +
        border-top: .3em solid;
 +
        border-right: .3em solid transparent;
 +
        border-bottom: 0;
 +
        border-left: .3em solid transparent
 +
    }
 +
 +
    .dropdown-toggle:empty::after {
 +
        margin-left: 0
 +
    }
 +
 +
    .dropdown-menu {
 +
        position: absolute;
 +
        top: 100%;
 +
        left: 0;
 +
        z-index: 1000;
 +
        display: none;
 +
        float: left;
 +
        min-width: 10rem;
 +
        padding: .5rem 0;
 +
        margin: .125rem 0 0;
 +
        font-size: 1rem;
 +
        color: #212529;
 +
        text-align: left;
 +
        list-style: none;
 +
        background-color: #fff;
 +
        background-clip: padding-box;
 +
        border: 1px solid rgba(0, 0, 0, .15);
 +
        border-radius: .25rem
 +
    }
 +
 +
    .dropdown-menu-right {
 +
        right: 0;
 +
        left: auto
 +
    }
 +
 +
    .dropup .dropdown-menu {
 +
        top: auto;
 +
        bottom: 100%;
 +
        margin-top: 0;
 +
        margin-bottom: .125rem
 +
    }
 +
 +
    .dropup .dropdown-toggle::after {
 +
        display: inline-block;
 +
        width: 0;
 +
        height: 0;
 +
        margin-left: .255em;
 +
        vertical-align: .255em;
 +
        content: "";
 +
        border-top: 0;
 +
        border-right: .3em solid transparent;
 +
        border-bottom: .3em solid;
 +
        border-left: .3em solid transparent
 +
    }
 +
 +
    .dropup .dropdown-toggle:empty::after {
 +
        margin-left: 0
 +
    }
 +
 +
    .dropright .dropdown-menu {
 +
        top: 0;
 +
        right: auto;
 +
        left: 100%;
 +
        margin-top: 0;
 +
        margin-left: .125rem
 +
    }
 +
 +
    .dropright .dropdown-toggle::after {
 +
        display: inline-block;
 +
        width: 0;
 +
        height: 0;
 +
        margin-left: .255em;
 +
        vertical-align: .255em;
 +
        content: "";
 +
        border-top: .3em solid transparent;
 +
        border-right: 0;
 +
        border-bottom: .3em solid transparent;
 +
        border-left: .3em solid
 +
    }
 +
 +
    .dropright .dropdown-toggle:empty::after {
 +
        margin-left: 0
 +
    }
 +
 +
    .dropright .dropdown-toggle::after {
 +
        vertical-align: 0
 +
    }
 +
 +
    .dropleft .dropdown-menu {
 +
        top: 0;
 +
        right: 100%;
 +
        left: auto;
 +
        margin-top: 0;
 +
        margin-right: .125rem
 +
    }
 +
 +
    .dropleft .dropdown-toggle::after {
 +
        display: inline-block;
 +
        width: 0;
 +
        height: 0;
 +
        margin-left: .255em;
 +
        vertical-align: .255em;
 +
        content: ""
 +
    }
 +
 +
    .dropleft .dropdown-toggle::after {
 +
        display: none
 +
    }
 +
 +
    .dropleft .dropdown-toggle::before {
 +
        display: inline-block;
 +
        width: 0;
 +
        height: 0;
 +
        margin-right: .255em;
 +
        vertical-align: .255em;
 +
        content: "";
 +
        border-top: .3em solid transparent;
 +
        border-right: .3em solid;
 +
        border-bottom: .3em solid transparent
 +
    }
 +
 +
    .dropleft .dropdown-toggle:empty::after {
 +
        margin-left: 0
 +
    }
 +
 +
    .dropleft .dropdown-toggle::before {
 +
        vertical-align: 0
 +
    }
 +
 +
    .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=top] {
 +
        right: auto;
 +
        bottom: auto
 +
    }
 +
 +
    .dropdown-divider {
 +
        height: 0;
 +
        margin: .5rem 0;
 +
        overflow: hidden;
 +
        border-top: 1px solid #e9ecef
 +
    }
 +
 +
    .dropdown-item {
 +
        display: block;
 +
        width: 100%;
 +
        padding: .25rem 1.5rem;
 +
        clear: both;
 +
        font-weight: 400;
 +
        color: #212529;
 +
        text-align: inherit;
 +
        white-space: nowrap;
 +
        background-color: transparent;
 +
        border: 0
 +
    }
 +
 +
    .dropdown-item:focus, .dropdown-item:hover {
 +
        color: #16181b;
 +
        text-decoration: none;
 +
        background-color: #f8f9fa
 +
    }
 +
 +
    .dropdown-item.active, .dropdown-item:active {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #007bff
 +
    }
 +
 +
    .dropdown-item.disabled, .dropdown-item:disabled {
 +
        color: #6c757d;
 +
        background-color: transparent
 +
    }
 +
 +
    .dropdown-menu.show {
 +
        display: block
 +
    }
 +
 +
    .dropdown-header {
 +
        display: block;
 +
        padding: .5rem 1.5rem;
 +
        margin-bottom: 0;
 +
        font-size: .875rem;
 +
        color: #6c757d;
 +
        white-space: nowrap
 +
    }
 +
 +
    .dropdown-item-text {
 +
        display: block;
 +
        padding: .25rem 1.5rem;
 +
        color: #212529
 +
    }
 +
 +
    .btn-group, .btn-group-vertical {
 +
        position: relative;
 +
        display: -ms-inline-flexbox;
 +
        display: inline-flex;
 +
        vertical-align: middle
 +
    }
 +
 +
    .btn-group-vertical > .btn, .btn-group > .btn {
 +
        position: relative;
 +
        -ms-flex: 0 1 auto;
 +
        flex: 0 1 auto
 +
    }
 +
 +
    .btn-group-vertical > .btn:hover, .btn-group > .btn:hover {
 +
        z-index: 1
 +
    }
 +
 +
    .btn-group-vertical > .btn.active, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn:focus, .btn-group > .btn.active, .btn-group > .btn:active, .btn-group > .btn:focus {
 +
        z-index: 1
 +
    }
 +
 +
    .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group, .btn-group-vertical .btn + .btn, .btn-group-vertical .btn + .btn-group, .btn-group-vertical .btn-group + .btn, .btn-group-vertical .btn-group + .btn-group {
 +
        margin-left: -1px
 +
    }
 +
 +
    .btn-toolbar {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        -ms-flex-pack: start;
 +
        justify-content: flex-start
 +
    }
 +
 +
    .btn-toolbar .input-group {
 +
        width: auto
 +
    }
 +
 +
    .btn-group > .btn:first-child {
 +
        margin-left: 0
 +
    }
 +
 +
    .btn-group > .btn-group:not(:last-child) > .btn, .btn-group > .btn:not(:last-child):not(.dropdown-toggle) {
 +
        border-top-right-radius: 0;
 +
        border-bottom-right-radius: 0
 +
    }
 +
 +
    .btn-group > .btn-group:not(:first-child) > .btn, .btn-group > .btn:not(:first-child) {
 +
        border-top-left-radius: 0;
 +
        border-bottom-left-radius: 0
 +
    }
 +
 +
    .dropdown-toggle-split {
 +
        padding-right: .5625rem;
 +
        padding-left: .5625rem
 +
    }
 +
 +
    .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after {
 +
        margin-left: 0
 +
    }
 +
 +
    .dropleft .dropdown-toggle-split::before {
 +
        margin-right: 0
 +
    }
 +
 +
    .btn-group-sm > .btn + .dropdown-toggle-split, .btn-sm + .dropdown-toggle-split {
 +
        padding-right: .375rem;
 +
        padding-left: .375rem
 +
    }
 +
 +
    .btn-group-lg > .btn + .dropdown-toggle-split, .btn-lg + .dropdown-toggle-split {
 +
        padding-right: .75rem;
 +
        padding-left: .75rem
 +
    }
 +
 +
    .btn-group-vertical {
 +
        -ms-flex-direction: column;
 +
        flex-direction: column;
 +
        -ms-flex-align: start;
 +
        align-items: flex-start;
 +
        -ms-flex-pack: center;
 +
        justify-content: center
 +
    }
 +
 +
    .btn-group-vertical .btn, .btn-group-vertical .btn-group {
 +
        width: 100%
 +
    }
 +
 +
    .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group {
 +
        margin-top: -1px;
 +
        margin-left: 0
 +
    }
 +
 +
    .btn-group-vertical > .btn-group:not(:last-child) > .btn, .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) {
 +
        border-bottom-right-radius: 0;
 +
        border-bottom-left-radius: 0
 +
    }
 +
 +
    .btn-group-vertical > .btn-group:not(:first-child) > .btn, .btn-group-vertical > .btn:not(:first-child) {
 +
        border-top-left-radius: 0;
 +
        border-top-right-radius: 0
 +
    }
 +
 +
    .btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn {
 +
        margin-bottom: 0
 +
    }
 +
 +
    .btn-group-toggle > .btn input[type=checkbox], .btn-group-toggle > .btn input[type=radio], .btn-group-toggle > .btn-group > .btn input[type=checkbox], .btn-group-toggle > .btn-group > .btn input[type=radio] {
 +
        position: absolute;
 +
        clip: rect(0, 0, 0, 0);
 +
        pointer-events: none
 +
    }
 +
 +
    .input-group {
 +
        position: relative;
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        -ms-flex-align: stretch;
 +
        align-items: stretch;
 +
        width: 100%
 +
    }
 +
 +
    .input-group > .custom-file, .input-group > .custom-select, .input-group > .form-control {
 +
        position: relative;
 +
        -ms-flex: 1 1 auto;
 +
        flex: 1 1 auto;
 +
        width: 1%;
 +
        margin-bottom: 0
 +
    }
 +
 +
    .input-group > .custom-file:focus, .input-group > .custom-select:focus, .input-group > .form-control:focus {
 +
        z-index: 3
 +
    }
 +
 +
    .input-group > .custom-file + .custom-file, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .form-control, .input-group > .custom-select + .custom-file, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .form-control, .input-group > .form-control + .custom-file, .input-group > .form-control + .custom-select, .input-group > .form-control + .form-control {
 +
        margin-left: -1px
 +
    }
 +
 +
    .input-group > .custom-select:not(:last-child), .input-group > .form-control:not(:last-child) {
 +
        border-top-right-radius: 0;
 +
        border-bottom-right-radius: 0
 +
    }
 +
 +
    .input-group > .custom-select:not(:first-child), .input-group > .form-control:not(:first-child) {
 +
        border-top-left-radius: 0;
 +
        border-bottom-left-radius: 0
 +
    }
 +
 +
    .input-group > .custom-file {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: center;
 +
        align-items: center
 +
    }
 +
 +
    .input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
 +
        border-top-right-radius: 0;
 +
        border-bottom-right-radius: 0
 +
    }
 +
 +
    .input-group > .custom-file:not(:first-child) .custom-file-label, .input-group > .custom-file:not(:first-child) .custom-file-label::after {
 +
        border-top-left-radius: 0;
 +
        border-bottom-left-radius: 0
 +
    }
 +
 +
    .input-group-append, .input-group-prepend {
 +
        display: -ms-flexbox;
 +
        display: flex
 +
    }
 +
 +
    .input-group-append .btn, .input-group-prepend .btn {
 +
        position: relative;
 +
        z-index: 2
 +
    }
 +
 +
    .input-group-append .btn + .btn, .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .btn, .input-group-append .input-group-text + .input-group-text, .input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .btn, .input-group-prepend .input-group-text + .input-group-text {
 +
        margin-left: -1px
 +
    }
 +
 +
    .input-group-prepend {
 +
        margin-right: -1px
 +
    }
 +
 +
    .input-group-append {
 +
        margin-left: -1px
 +
    }
 +
 +
    .input-group-text {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        padding: .375rem .75rem;
 +
        margin-bottom: 0;
 +
        font-size: 1rem;
 +
        font-weight: 400;
 +
        line-height: 1.5;
 +
        color: #495057;
 +
        text-align: center;
 +
        white-space: nowrap;
 +
        background-color: #e9ecef;
 +
        border: 1px solid #ced4da;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .input-group-text input[type=checkbox], .input-group-text input[type=radio] {
 +
        margin-top: 0
 +
    }
 +
 +
    .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), .input-group > .input-group-append:not(:last-child) > .btn, .input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text {
 +
        border-top-right-radius: 0;
 +
        border-bottom-right-radius: 0
 +
    }
 +
 +
    .input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text, .input-group > .input-group-prepend:first-child > .btn:not(:first-child), .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), .input-group > .input-group-prepend:not(:first-child) > .btn, .input-group > .input-group-prepend:not(:first-child) > .input-group-text {
 +
        border-top-left-radius: 0;
 +
        border-bottom-left-radius: 0
 +
    }
 +
 +
    .custom-control {
 +
        position: relative;
 +
        display: block;
 +
        min-height: 1.5rem;
 +
        padding-left: 1.5rem
 +
    }
 +
 +
    .custom-control-inline {
 +
        display: -ms-inline-flexbox;
 +
        display: inline-flex;
 +
        margin-right: 1rem
 +
    }
 +
 +
    .custom-control-input {
 +
        position: absolute;
 +
        z-index: -1;
 +
        opacity: 0
 +
    }
 +
 +
    .custom-control-input:checked ~ .custom-control-label::before {
 +
        color: #fff;
 +
        background-color: #007bff
 +
    }
 +
 +
    .custom-control-input:focus ~ .custom-control-label::before {
 +
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .custom-control-input:active ~ .custom-control-label::before {
 +
        color: #fff;
 +
        background-color: #b3d7ff
 +
    }
 +
 +
    .custom-control-input:disabled ~ .custom-control-label {
 +
        color: #6c757d
 +
    }
 +
 +
    .custom-control-input:disabled ~ .custom-control-label::before {
 +
        background-color: #e9ecef
 +
    }
 +
 +
    .custom-control-label {
 +
        margin-bottom: 0
 +
    }
 +
 +
    .custom-control-label::before {
 +
        position: absolute;
 +
        top: .25rem;
 +
        left: 0;
 +
        display: block;
 +
        width: 1rem;
 +
        height: 1rem;
 +
        pointer-events: none;
 +
        content: "";
 +
        -webkit-user-select: none;
 +
        -moz-user-select: none;
 +
        -ms-user-select: none;
 +
        user-select: none;
 +
        background-color: #dee2e6
 +
    }
 +
 +
    .custom-control-label::after {
 +
        position: absolute;
 +
        top: .25rem;
 +
        left: 0;
 +
        display: block;
 +
        width: 1rem;
 +
        height: 1rem;
 +
        content: "";
 +
        background-repeat: no-repeat;
 +
        background-position: center center;
 +
        background-size: 50% 50%
 +
    }
 +
 +
    .custom-checkbox .custom-control-label::before {
 +
        border-radius: .25rem
 +
    }
 +
 +
    .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
 +
        background-color: #007bff
 +
    }
 +
 +
    .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
 +
        background-color: #007bff
 +
    }
 +
 +
    .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
 +
        background-color: rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
 +
        background-color: rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .custom-radio .custom-control-label::before {
 +
        border-radius: 50%
 +
    }
 +
 +
    .custom-radio .custom-control-input:checked ~ .custom-control-label::before {
 +
        background-color: #007bff
 +
    }
 +
 +
    .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
 +
        background-color: rgba(0, 123, 255, .5)
 +
    }
 +
 +
    .custom-select {
 +
        display: inline-block;
 +
        width: 100%;
 +
        height: calc(2.25rem + 2px);
 +
        padding: .375rem 1.75rem .375rem .75rem;
 +
        line-height: 1.5;
 +
        color: #495057;
 +
        vertical-align: middle;
 +
        background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;
 +
        background-size: 8px 10px;
 +
        border: 1px solid #ced4da;
 +
        border-radius: .25rem;
 +
        -webkit-appearance: none;
 +
        -moz-appearance: none;
 +
        appearance: none
 +
    }
 +
 +
    .custom-select:focus {
 +
        border-color: #80bdff;
 +
        outline: 0;
 +
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 5px rgba(128, 189, 255, .5)
 +
    }
 +
 +
    .custom-select:focus::-ms-value {
 +
        color: #495057;
 +
        background-color: #fff
 +
    }
 +
 +
    .custom-select[multiple], .custom-select[size]:not([size="1"]) {
 +
        height: auto;
 +
        padding-right: .75rem;
 +
        background-image: none
 +
    }
 +
 +
    .custom-select:disabled {
 +
        color: #6c757d;
 +
        background-color: #e9ecef
 +
    }
 +
 +
    .custom-select::-ms-expand {
 +
        opacity: 0
 +
    }
 +
 +
    .custom-select-sm {
 +
        height: calc(1.8125rem + 2px);
 +
        padding-top: .375rem;
 +
        padding-bottom: .375rem;
 +
        font-size: 75%
 +
    }
 +
 +
    .custom-select-lg {
 +
        height: calc(2.875rem + 2px);
 +
        padding-top: .375rem;
 +
        padding-bottom: .375rem;
 +
        font-size: 125%
 +
    }
 +
 +
    .custom-file {
 +
        position: relative;
 +
        display: inline-block;
 +
        width: 100%;
 +
        height: calc(2.25rem + 2px);
 +
        margin-bottom: 0
 +
    }
 +
 +
    .custom-file-input {
 +
        position: relative;
 +
        z-index: 2;
 +
        width: 100%;
 +
        height: calc(2.25rem + 2px);
 +
        margin: 0;
 +
        opacity: 0
 +
    }
 +
 +
    .custom-file-input:focus ~ .custom-file-label {
 +
        border-color: #80bdff;
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .custom-file-input:focus ~ .custom-file-label::after {
 +
        border-color: #80bdff
 +
    }
 +
 +
    .custom-file-input:lang(en) ~ .custom-file-label::after {
 +
        content: "Browse"
 +
    }
 +
 +
    .custom-file-label {
 +
        position: absolute;
 +
        top: 0;
 +
        right: 0;
 +
        left: 0;
 +
        z-index: 1;
 +
        height: calc(2.25rem + 2px);
 +
        padding: .375rem .75rem;
 +
        line-height: 1.5;
 +
        color: #495057;
 +
        background-color: #fff;
 +
        border: 1px solid #ced4da;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .custom-file-label::after {
 +
        position: absolute;
 +
        top: 0;
 +
        right: 0;
 +
        bottom: 0;
 +
        z-index: 3;
 +
        display: block;
 +
        height: calc(calc(2.25rem + 2px) - 1px * 2);
 +
        padding: .375rem .75rem;
 +
        line-height: 1.5;
 +
        color: #495057;
 +
        content: "Browse";
 +
        background-color: #e9ecef;
 +
        border-left: 1px solid #ced4da;
 +
        border-radius: 0 .25rem .25rem 0
 +
    }
 +
 +
    .custom-range {
 +
        width: 100%;
 +
        padding-left: 0;
 +
        background-color: transparent;
 +
        -webkit-appearance: none;
 +
        -moz-appearance: none;
 +
        appearance: none
 +
    }
 +
 +
    .custom-range:focus {
 +
        outline: 0
 +
    }
 +
 +
    .custom-range::-moz-focus-outer {
 +
        border: 0
 +
    }
 +
 +
    .custom-range::-webkit-slider-thumb {
 +
        width: 1rem;
 +
        height: 1rem;
 +
        margin-top: -.25rem;
 +
        background-color: #007bff;
 +
        border: 0;
 +
        border-radius: 1rem;
 +
        -webkit-appearance: none;
 +
        appearance: none
 +
    }
 +
 +
    .custom-range::-webkit-slider-thumb:focus {
 +
        outline: 0;
 +
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .custom-range::-webkit-slider-thumb:active {
 +
        background-color: #b3d7ff
 +
    }
 +
 +
    .custom-range::-webkit-slider-runnable-track {
 +
        width: 100%;
 +
        height: .5rem;
 +
        color: transparent;
 +
        cursor: pointer;
 +
        background-color: #dee2e6;
 +
        border-color: transparent;
 +
        border-radius: 1rem
 +
    }
 +
 +
    .custom-range::-moz-range-thumb {
 +
        width: 1rem;
 +
        height: 1rem;
 +
        background-color: #007bff;
 +
        border: 0;
 +
        border-radius: 1rem;
 +
        -moz-appearance: none;
 +
        appearance: none
 +
    }
 +
 +
    .custom-range::-moz-range-thumb:focus {
 +
        outline: 0;
 +
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .custom-range::-moz-range-thumb:active {
 +
        background-color: #b3d7ff
 +
    }
 +
 +
    .custom-range::-moz-range-track {
 +
        width: 100%;
 +
        height: .5rem;
 +
        color: transparent;
 +
        cursor: pointer;
 +
        background-color: #dee2e6;
 +
        border-color: transparent;
 +
        border-radius: 1rem
 +
    }
 +
 +
    .custom-range::-ms-thumb {
 +
        width: 1rem;
 +
        height: 1rem;
 +
        background-color: #007bff;
 +
        border: 0;
 +
        border-radius: 1rem;
 +
        appearance: none
 +
    }
 +
 +
    .custom-range::-ms-thumb:focus {
 +
        outline: 0;
 +
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .custom-range::-ms-thumb:active {
 +
        background-color: #b3d7ff
 +
    }
 +
 +
    .custom-range::-ms-track {
 +
        width: 100%;
 +
        height: .5rem;
 +
        color: transparent;
 +
        cursor: pointer;
 +
        background-color: transparent;
 +
        border-color: transparent;
 +
        border-width: .5rem
 +
    }
 +
 +
    .custom-range::-ms-fill-lower {
 +
        background-color: #dee2e6;
 +
        border-radius: 1rem
 +
    }
 +
 +
    .custom-range::-ms-fill-upper {
 +
        margin-right: 15px;
 +
        background-color: #dee2e6;
 +
        border-radius: 1rem
 +
    }
 +
 +
    .nav {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        padding-left: 0;
 +
        margin-bottom: 0;
 +
        list-style: none
 +
    }
 +
 +
    .nav-link {
 +
        display: block;
 +
        padding: .5rem 1rem
 +
    }
 +
 +
    .nav-link:focus, .nav-link:hover {
 +
        text-decoration: none
 +
    }
 +
 +
    .nav-link.disabled {
 +
        color: #6c757d
 +
    }
 +
 +
    .nav-tabs {
 +
        border-bottom: 1px solid #dee2e6
 +
    }
 +
 +
    .nav-tabs .nav-item {
 +
        margin-bottom: -1px
 +
    }
 +
 +
    .nav-tabs .nav-link {
 +
        border: 1px solid transparent;
 +
        border-top-left-radius: .25rem;
 +
        border-top-right-radius: .25rem
 +
    }
 +
 +
    .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
 +
        border-color: #e9ecef #e9ecef #dee2e6
 +
    }
 +
 +
    .nav-tabs .nav-link.disabled {
 +
        color: #6c757d;
 +
        background-color: transparent;
 +
        border-color: transparent
 +
    }
 +
 +
    .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
 +
        color: #495057;
 +
        background-color: #fff;
 +
        border-color: #dee2e6 #dee2e6 #fff
 +
    }
 +
 +
    .nav-tabs .dropdown-menu {
 +
        margin-top: -1px;
 +
        border-top-left-radius: 0;
 +
        border-top-right-radius: 0
 +
    }
 +
 +
    .nav-pills .nav-link {
 +
        border-radius: .25rem
 +
    }
 +
 +
    .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
 +
        color: #fff;
 +
        background-color: #007bff
 +
    }
 +
 +
    .nav-fill .nav-item {
 +
        -ms-flex: 1 1 auto;
 +
        flex: 1 1 auto;
 +
        text-align: center
 +
    }
 +
 +
    .nav-justified .nav-item {
 +
        -ms-flex-preferred-size: 0;
 +
        flex-basis: 0;
 +
        -ms-flex-positive: 1;
 +
        flex-grow: 1;
 +
        text-align: center
 +
    }
 +
 +
    .tab-content > .tab-pane {
 +
        display: none
 +
    }
 +
 +
    .tab-content > .active {
 +
        display: block
 +
    }
 +
 +
    .navbar {
 +
        position: relative;
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        -ms-flex-pack: justify;
 +
        justify-content: space-between;
 +
        padding: .5rem 1rem
 +
    }
 +
 +
    .navbar > .container, .navbar > .container-fluid {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        -ms-flex-pack: justify;
 +
        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;
 +
        white-space: nowrap
 +
    }
 +
 +
    .navbar-brand:focus, .navbar-brand:hover {
 +
        text-decoration: none
 +
    }
 +
 +
    .navbar-nav {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column;
 +
        padding-left: 0;
 +
        margin-bottom: 0;
 +
        list-style: none
 +
    }
 +
 +
    .navbar-nav .nav-link {
 +
        padding-right: 0;
 +
        padding-left: 0
 +
    }
 +
 +
    .navbar-nav .dropdown-menu {
 +
        position: static;
 +
        float: none
 +
    }
 +
 +
    .navbar-text {
 +
        display: inline-block;
 +
        padding-top: .5rem;
 +
        padding-bottom: .5rem
 +
    }
 +
 +
    .navbar-collapse {
 +
        -ms-flex-preferred-size: 100%;
 +
        flex-basis: 100%;
 +
        -ms-flex-positive: 1;
 +
        flex-grow: 1;
 +
        -ms-flex-align: center;
 +
        align-items: center
 +
    }
 +
 +
    .navbar-toggler {
 +
        padding: .25rem .75rem;
 +
        font-size: 1.25rem;
 +
        line-height: 1;
 +
        background-color: transparent;
 +
        border: 1px solid transparent;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .navbar-toggler:focus, .navbar-toggler:hover {
 +
        text-decoration: none
 +
    }
 +
 +
    .navbar-toggler:not(:disabled):not(.disabled) {
 +
        cursor: pointer
 +
    }
 +
 +
    .navbar-toggler-icon {
 +
        display: inline-block;
 +
        width: 1.5em;
 +
        height: 1.5em;
 +
        vertical-align: middle;
 +
        content: "";
 +
        background: no-repeat center center;
 +
        background-size: 100% 100%
 +
    }
 +
 +
    @media (max-width: 575.98px) {
 +
        .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid {
 +
            padding-right: 0;
 +
            padding-left: 0
 +
        }
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .navbar-expand-sm {
 +
            -ms-flex-flow: row nowrap;
 +
            flex-flow: row nowrap;
 +
            -ms-flex-pack: start;
 +
            justify-content: flex-start
 +
        }
 +
 +
        .navbar-expand-sm .navbar-nav {
 +
            -ms-flex-direction: row;
 +
            flex-direction: row
 +
        }
 +
 +
        .navbar-expand-sm .navbar-nav .dropdown-menu {
 +
            position: absolute
 +
        }
 +
 +
        .navbar-expand-sm .navbar-nav .nav-link {
 +
            padding-right: .5rem;
 +
            padding-left: .5rem
 +
        }
 +
 +
        .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid {
 +
            -ms-flex-wrap: nowrap;
 +
            flex-wrap: nowrap
 +
        }
 +
 +
        .navbar-expand-sm .navbar-collapse {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important;
 +
            -ms-flex-preferred-size: auto;
 +
            flex-basis: auto
 +
        }
 +
 +
        .navbar-expand-sm .navbar-toggler {
 +
            display: none
 +
        }
 +
    }
 +
 +
    @media (max-width: 1199.98px) {
 +
        .navbar-expand-md > .container, .navbar-expand-md > .container-fluid {
 +
            padding-right: 0;
 +
            padding-left: 0
 +
        }
 +
    }
 +
 +
    @media (min-width: 1200px) {
 +
        .navbar-expand-md {
 +
            -ms-flex-flow: row nowrap;
 +
            flex-flow: row nowrap;
 +
            -ms-flex-pack: start;
 +
            justify-content: flex-start
 +
        }
 +
 +
        .navbar-expand-md .navbar-nav {
 +
            -ms-flex-direction: row;
 +
            flex-direction: row
 +
        }
 +
 +
        .navbar-expand-md .navbar-nav .dropdown-menu {
 +
            position: absolute
 +
        }
 +
 +
        .navbar-expand-md .navbar-nav .nav-link {
 +
            padding-right: .5rem;
 +
            padding-left: .5rem
 +
        }
 +
 +
        .navbar-expand-md > .container, .navbar-expand-md > .container-fluid {
 +
            -ms-flex-wrap: nowrap;
 +
            flex-wrap: nowrap
 +
        }
 +
 +
        .navbar-expand-md .navbar-collapse {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important;
 +
            -ms-flex-preferred-size: auto;
 +
            flex-basis: auto
 +
        }
 +
 +
        .navbar-expand-md .navbar-toggler {
 +
            display: none
 +
        }
 +
    }
 +
 +
    @media (max-width: 991.98px) {
 +
        .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid {
 +
            padding-right: 0;
 +
            padding-left: 0
 +
        }
 +
    }
 +
 +
    @media (min-width: 992px) {
 +
        .navbar-expand-lg {
 +
            -ms-flex-flow: row nowrap;
 +
            flex-flow: row nowrap;
 +
            -ms-flex-pack: start;
 +
            justify-content: flex-start
 +
        }
 +
 +
        .navbar-expand-lg .navbar-nav {
 +
            -ms-flex-direction: row;
 +
            flex-direction: row
 +
        }
 +
 +
        .navbar-expand-lg .navbar-nav .dropdown-menu {
 +
            position: absolute
 +
        }
 +
 +
        .navbar-expand-lg .navbar-nav .nav-link {
 +
            padding-right: .5rem;
 +
            padding-left: .5rem
 +
        }
 +
 +
        .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid {
 +
            -ms-flex-wrap: nowrap;
 +
            flex-wrap: nowrap
 +
        }
 +
 +
        .navbar-expand-lg .navbar-collapse {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important;
 +
            -ms-flex-preferred-size: auto;
 +
            flex-basis: auto
 +
        }
 +
 +
        .navbar-expand-lg .navbar-toggler {
 +
            display: none
 +
        }
 +
    }
 +
 +
    @media (max-width: 1199.98px) {
 +
        .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid {
 +
            padding-right: 0;
 +
            padding-left: 0
 +
        }
 +
    }
 +
 +
    @media (min-width: 1200px) {
 +
        .navbar-expand-xl {
 +
            -ms-flex-flow: row nowrap;
 +
            flex-flow: row nowrap;
 +
            -ms-flex-pack: start;
 +
            justify-content: flex-start
 +
        }
 +
 +
        .navbar-expand-xl .navbar-nav {
 +
            -ms-flex-direction: row;
 +
            flex-direction: row
 +
        }
 +
 +
        .navbar-expand-xl .navbar-nav .dropdown-menu {
 +
            position: absolute
 +
        }
 +
 +
        .navbar-expand-xl .navbar-nav .nav-link {
 +
            padding-right: .5rem;
 +
            padding-left: .5rem
 +
        }
 +
 +
        .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid {
 +
            -ms-flex-wrap: nowrap;
 +
            flex-wrap: nowrap
 +
        }
 +
 +
        .navbar-expand-xl .navbar-collapse {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important;
 +
            -ms-flex-preferred-size: auto;
 +
            flex-basis: auto
 +
        }
 +
 +
        .navbar-expand-xl .navbar-toggler {
 +
            display: none
 +
        }
 +
    }
 +
 +
    .navbar-expand {
 +
        -ms-flex-flow: row nowrap;
 +
        flex-flow: row nowrap;
 +
        -ms-flex-pack: start;
 +
        justify-content: flex-start
 +
    }
 +
 +
    .navbar-expand > .container, .navbar-expand > .container-fluid {
 +
        padding-right: 0;
 +
        padding-left: 0
 +
    }
 +
 +
    .navbar-expand .navbar-nav {
 +
        -ms-flex-direction: row;
 +
        flex-direction: row
 +
    }
 +
 +
    .navbar-expand .navbar-nav .dropdown-menu {
 +
        position: absolute
 +
    }
 +
 +
    .navbar-expand .navbar-nav .nav-link {
 +
        padding-right: .5rem;
 +
        padding-left: .5rem
 +
    }
 +
 +
    .navbar-expand > .container, .navbar-expand > .container-fluid {
 +
        -ms-flex-wrap: nowrap;
 +
        flex-wrap: nowrap
 +
    }
 +
 +
    .navbar-expand .navbar-collapse {
 +
        display: -ms-flexbox !important;
 +
        display: flex !important;
 +
        -ms-flex-preferred-size: auto;
 +
        flex-basis: auto
 +
    }
 +
 +
    .navbar-expand .navbar-toggler {
 +
        display: none
 +
    }
 +
 +
    .navbar-light .navbar-brand {
 +
        color: rgba(0, 0, 0, .9)
 +
    }
 +
 +
    .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
 +
        color: rgba(0, 0, 0, .9)
 +
    }
 +
 +
    .navbar-light .navbar-nav .nav-link {
 +
        color: rgba(0, 0, 0, .5)
 +
    }
 +
 +
    .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
 +
        color: rgba(0, 0, 0, .7)
 +
    }
 +
 +
    .navbar-light .navbar-nav .nav-link.disabled {
 +
        color: rgba(0, 0, 0, .3)
 +
    }
 +
 +
    .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
 +
        color: rgba(0, 0, 0, .9)
 +
    }
 +
 +
    .navbar-light .navbar-toggler {
 +
        color: rgba(0, 0, 0, .5);
 +
        border-color: rgba(0, 0, 0, .1)
 +
    }
 +
 +
    .navbar-light .navbar-toggler-icon {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .navbar-light .navbar-text {
 +
        color: rgba(0, 0, 0, .5)
 +
    }
 +
 +
    .navbar-light .navbar-text a {
 +
        color: rgba(0, 0, 0, .9)
 +
    }
 +
 +
    .navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {
 +
        color: rgba(0, 0, 0, .9)
 +
    }
 +
 +
    .navbar-dark .navbar-brand {
 +
        color: #fff
 +
    }
 +
 +
    .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {
 +
        color: #fff
 +
    }
 +
 +
    .navbar-dark .navbar-nav .nav-link {
 +
        color: rgba(255, 255, 255, .5)
 +
    }
 +
 +
    .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
 +
        color: rgba(255, 255, 255, .75)
 +
    }
 +
 +
    .navbar-dark .navbar-nav .nav-link.disabled {
 +
        color: rgba(255, 255, 255, .25)
 +
    }
 +
 +
    .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show > .nav-link {
 +
        color: #fff
 +
    }
 +
 +
    .navbar-dark .navbar-toggler {
 +
        color: rgba(255, 255, 255, .5);
 +
        border-color: rgba(255, 255, 255, .1)
 +
    }
 +
 +
    .navbar-dark .navbar-toggler-icon {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .navbar-dark .navbar-text {
 +
        color: rgba(255, 255, 255, .5)
 +
    }
 +
 +
    .navbar-dark .navbar-text a {
 +
        color: #fff
 +
    }
 +
 +
    .navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {
 +
        color: #fff
 +
    }
 +
 +
    .card {
 +
        position: relative;
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column;
 +
        min-width: 0;
 +
        word-wrap: break-word;
 +
        background-color: #fff;
 +
        background-clip: border-box;
 +
        border: 1px solid rgba(0, 0, 0, .125);
 +
        border-radius: .25rem
 +
    }
 +
 +
    .card > hr {
 +
        margin-right: 0;
 +
        margin-left: 0
 +
    }
 +
 +
    .card > .list-group:first-child .list-group-item:first-child {
 +
        border-top-left-radius: .25rem;
 +
        border-top-right-radius: .25rem
 +
    }
 +
 +
    .card > .list-group:last-child .list-group-item:last-child {
 +
        border-bottom-right-radius: .25rem;
 +
        border-bottom-left-radius: .25rem
 +
    }
 +
 +
    .card-body {
 +
        -ms-flex: 1 1 auto;
 +
        flex: 1 1 auto;
 +
        padding: 1.25rem
 +
    }
 +
 +
    .card-title {
 +
        margin-bottom: .75rem
 +
    }
 +
 +
    .card-subtitle {
 +
        margin-top: -.375rem;
 +
        margin-bottom: 0
 +
    }
 +
 +
    .card-text:last-child {
 +
        margin-bottom: 0
 +
    }
 +
 +
    .card-link:hover {
 +
        text-decoration: none
 +
    }
 +
 +
    .card-link + .card-link {
 +
        margin-left: 1.25rem
 +
    }
 +
 +
    .card-header {
 +
        padding: .75rem 1.25rem;
 +
        margin-bottom: 0;
 +
        background-color: rgba(0, 0, 0, .03);
 +
        border-bottom: 1px solid rgba(0, 0, 0, .125)
 +
    }
 +
 +
    .card-header:first-child {
 +
        border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0
 +
    }
 +
 +
    .card-header + .list-group .list-group-item:first-child {
 +
        border-top: 0
 +
    }
 +
 +
    .card-footer {
 +
        padding: .75rem 1.25rem;
 +
        background-color: rgba(0, 0, 0, .03);
 +
        border-top: 1px solid rgba(0, 0, 0, .125)
 +
    }
 +
 +
    .card-footer:last-child {
 +
        border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px)
 +
    }
 +
 +
    .card-header-tabs {
 +
        margin-right: -.625rem;
 +
        margin-bottom: -.75rem;
 +
        margin-left: -.625rem;
 +
        border-bottom: 0
 +
    }
 +
 +
    .card-header-pills {
 +
        margin-right: -.625rem;
 +
        margin-left: -.625rem
 +
    }
 +
 +
    .card-img-overlay {
 +
        position: absolute;
 +
        top: 0;
 +
        right: 0;
 +
        bottom: 0;
 +
        left: 0;
 +
        padding: 1.25rem
 +
    }
 +
 +
    .card-img {
 +
        width: 100%;
 +
        border-radius: calc(.25rem - 1px)
 +
    }
 +
 +
    .card-img-top {
 +
        width: 100%;
 +
        border-top-left-radius: calc(.25rem - 1px);
 +
        border-top-right-radius: calc(.25rem - 1px)
 +
    }
 +
 +
    .card-img-bottom {
 +
        width: 100%;
 +
        border-bottom-right-radius: calc(.25rem - 1px);
 +
        border-bottom-left-radius: calc(.25rem - 1px)
 +
    }
 +
 +
    .card-deck {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column
 +
    }
 +
 +
    .card-deck .card {
 +
        margin-bottom: 15px
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .card-deck {
 +
            -ms-flex-flow: row wrap;
 +
            flex-flow: row wrap;
 +
            margin-right: -15px;
 +
            margin-left: -15px
 +
        }
 +
 +
        .card-deck .card {
 +
            display: -ms-flexbox;
 +
            display: flex;
 +
            -ms-flex: 1 0 0%;
 +
            flex: 1 0 0%;
 +
            -ms-flex-direction: column;
 +
            flex-direction: column;
 +
            margin-right: 15px;
 +
            margin-bottom: 0;
 +
            margin-left: 15px
 +
        }
 +
    }
 +
 +
    .card-group {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column
 +
    }
 +
 +
    .card-group > .card {
 +
        margin-bottom: 15px
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .card-group {
 +
            -ms-flex-flow: row wrap;
 +
            flex-flow: row wrap
 +
        }
 +
 +
        .card-group > .card {
 +
            -ms-flex: 1 0 0%;
 +
            flex: 1 0 0%;
 +
            margin-bottom: 0
 +
        }
 +
 +
        .card-group > .card + .card {
 +
            margin-left: 0;
 +
            border-left: 0
 +
        }
 +
 +
        .card-group > .card:first-child {
 +
            border-top-right-radius: 0;
 +
            border-bottom-right-radius: 0
 +
        }
 +
 +
        .card-group > .card:first-child .card-header, .card-group > .card:first-child .card-img-top {
 +
            border-top-right-radius: 0
 +
        }
 +
 +
        .card-group > .card:first-child .card-footer, .card-group > .card:first-child .card-img-bottom {
 +
            border-bottom-right-radius: 0
 +
        }
 +
 +
        .card-group > .card:last-child {
 +
            border-top-left-radius: 0;
 +
            border-bottom-left-radius: 0
 +
        }
 +
 +
        .card-group > .card:last-child .card-header, .card-group > .card:last-child .card-img-top {
 +
            border-top-left-radius: 0
 +
        }
 +
 +
        .card-group > .card:last-child .card-footer, .card-group > .card:last-child .card-img-bottom {
 +
            border-bottom-left-radius: 0
 +
        }
 +
 +
        .card-group > .card:only-child {
 +
            border-radius: .25rem
 +
        }
 +
 +
        .card-group > .card:only-child .card-header, .card-group > .card:only-child .card-img-top {
 +
            border-top-left-radius: .25rem;
 +
            border-top-right-radius: .25rem
 +
        }
 +
 +
        .card-group > .card:only-child .card-footer, .card-group > .card:only-child .card-img-bottom {
 +
            border-bottom-right-radius: .25rem;
 +
            border-bottom-left-radius: .25rem
 +
        }
 +
 +
        .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
 +
            border-radius: 0
 +
        }
 +
 +
        .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer, .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top {
 +
            border-radius: 0
 +
        }
 +
    }
 +
 +
    .card-columns .card {
 +
        margin-bottom: .75rem
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .card-columns {
 +
            -webkit-column-count: 3;
 +
            -moz-column-count: 3;
 +
            column-count: 3;
 +
            -webkit-column-gap: 1.25rem;
 +
            -moz-column-gap: 1.25rem;
 +
            column-gap: 1.25rem;
 +
            orphans: 1;
 +
            widows: 1
 +
        }
 +
 +
        .card-columns .card {
 +
            display: inline-block;
 +
            width: 100%
 +
        }
 +
    }
 +
 +
    .accordion .card:not(:first-of-type):not(:last-of-type) {
 +
        border-bottom: 0;
 +
        border-radius: 0
 +
    }
 +
 +
    .accordion .card:not(:first-of-type) .card-header:first-child {
 +
        border-radius: 0
 +
    }
 +
 +
    .accordion .card:first-of-type {
 +
        border-bottom: 0;
 +
        border-bottom-right-radius: 0;
 +
        border-bottom-left-radius: 0
 +
    }
 +
 +
    .accordion .card:last-of-type {
 +
        border-top-left-radius: 0;
 +
        border-top-right-radius: 0
 +
    }
 +
 +
    .breadcrumb {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-wrap: wrap;
 +
        flex-wrap: wrap;
 +
        padding: .75rem 1rem;
 +
        margin-bottom: 1rem;
 +
        list-style: none;
 +
        background-color: #e9ecef;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .breadcrumb-item + .breadcrumb-item {
 +
        padding-left: .5rem
 +
    }
 +
 +
    .breadcrumb-item + .breadcrumb-item::before {
 +
        display: inline-block;
 +
        padding-right: .5rem;
 +
        color: #6c757d;
 +
        content: "/"
 +
    }
 +
 +
    .breadcrumb-item + .breadcrumb-item:hover::before {
 +
        text-decoration: underline
 +
    }
 +
 +
    .breadcrumb-item + .breadcrumb-item:hover::before {
 +
        text-decoration: none
 +
    }
 +
 +
    .breadcrumb-item.active {
 +
        color: #6c757d
 +
    }
 +
 +
    .pagination {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        padding-left: 0;
 +
        list-style: none;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .page-link {
 +
        position: relative;
 +
        display: block;
 +
        padding: .5rem .75rem;
 +
        margin-left: -1px;
 +
        line-height: 1.25;
 +
        color: #007bff;
 +
        background-color: #fff;
 +
        border: 1px solid #dee2e6
 +
    }
 +
 +
    .page-link:hover {
 +
        z-index: 2;
 +
        color: #0056b3;
 +
        text-decoration: none;
 +
        background-color: #e9ecef;
 +
        border-color: #dee2e6
 +
    }
 +
 +
    .page-link:focus {
 +
        z-index: 2;
 +
        outline: 0;
 +
        box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
 +
    }
 +
 +
    .page-link:not(:disabled):not(.disabled) {
 +
        cursor: pointer
 +
    }
 +
 +
    .page-item:first-child .page-link {
 +
        margin-left: 0;
 +
        border-top-left-radius: .25rem;
 +
        border-bottom-left-radius: .25rem
 +
    }
 +
 +
    .page-item:last-child .page-link {
 +
        border-top-right-radius: .25rem;
 +
        border-bottom-right-radius: .25rem
 +
    }
 +
 +
    .page-item.active .page-link {
 +
        z-index: 1;
 +
        color: #fff;
 +
        background-color: #007bff;
 +
        border-color: #007bff
 +
    }
 +
 +
    .page-item.disabled .page-link {
 +
        color: #6c757d;
 +
        pointer-events: none;
 +
        cursor: auto;
 +
        background-color: #fff;
 +
        border-color: #dee2e6
 +
    }
 +
 +
    .pagination-lg .page-link {
 +
        padding: .75rem 1.5rem;
 +
        font-size: 1.25rem;
 +
        line-height: 1.5
 +
    }
 +
 +
    .pagination-lg .page-item:first-child .page-link {
 +
        border-top-left-radius: .3rem;
 +
        border-bottom-left-radius: .3rem
 +
    }
 +
 +
    .pagination-lg .page-item:last-child .page-link {
 +
        border-top-right-radius: .3rem;
 +
        border-bottom-right-radius: .3rem
 +
    }
 +
 +
    .pagination-sm .page-link {
 +
        padding: .25rem .5rem;
 +
        font-size: .875rem;
 +
        line-height: 1.5
 +
    }
 +
 +
    .pagination-sm .page-item:first-child .page-link {
 +
        border-top-left-radius: .2rem;
 +
        border-bottom-left-radius: .2rem
 +
    }
 +
 +
    .pagination-sm .page-item:last-child .page-link {
 +
        border-top-right-radius: .2rem;
 +
        border-bottom-right-radius: .2rem
 +
    }
 +
 +
    .badge {
 +
        display: inline-block;
 +
        padding: .25em .4em;
 +
        font-size: 75%;
 +
        font-weight: 700;
 +
        line-height: 1;
 +
        text-align: center;
 +
        white-space: nowrap;
 +
        vertical-align: baseline;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .badge:empty {
 +
        display: none
 +
    }
 +
 +
    .btn .badge {
 +
        position: relative;
 +
        top: -1px
 +
    }
 +
 +
    .badge-pill {
 +
        padding-right: .6em;
 +
        padding-left: .6em;
 +
        border-radius: 10rem
 +
    }
 +
 +
    .badge-primary {
 +
        color: #fff;
 +
        background-color: #007bff
 +
    }
 +
 +
    .badge-primary[href]:focus, .badge-primary[href]:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #0062cc
 +
    }
 +
 +
    .badge-secondary {
 +
        color: #fff;
 +
        background-color: #6c757d
 +
    }
 +
 +
    .badge-secondary[href]:focus, .badge-secondary[href]:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #545b62
 +
    }
 +
 +
    .badge-success {
 +
        color: #fff;
 +
        background-color: #28a745
 +
    }
 +
 +
    .badge-success[href]:focus, .badge-success[href]:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #1e7e34
 +
    }
 +
 +
    .badge-info {
 +
        color: #fff;
 +
        background-color: #17a2b8
 +
    }
 +
 +
    .badge-info[href]:focus, .badge-info[href]:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #117a8b
 +
    }
 +
 +
    .badge-warning {
 +
        color: #212529;
 +
        background-color: #ffc107
 +
    }
 +
 +
    .badge-warning[href]:focus, .badge-warning[href]:hover {
 +
        color: #212529;
 +
        text-decoration: none;
 +
        background-color: #d39e00
 +
    }
 +
 +
    .badge-danger {
 +
        color: #fff;
 +
        background-color: #dc3545
 +
    }
 +
 +
    .badge-danger[href]:focus, .badge-danger[href]:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #bd2130
 +
    }
 +
 +
    .badge-light {
 +
        color: #212529;
 +
        background-color: #f8f9fa
 +
    }
 +
 +
    .badge-light[href]:focus, .badge-light[href]:hover {
 +
        color: #212529;
 +
        text-decoration: none;
 +
        background-color: #dae0e5
 +
    }
 +
 +
    .badge-dark {
 +
        color: #fff;
 +
        background-color: #343a40
 +
    }
 +
 +
    .badge-dark[href]:focus, .badge-dark[href]:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        background-color: #1d2124
 +
    }
 +
 +
    .jumbotron {
 +
        padding: 2rem 1rem;
 +
        margin-bottom: 2rem;
 +
        background-color: #e9ecef;
 +
        border-radius: .3rem
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .jumbotron {
 +
            padding: 4rem 2rem
 +
        }
 +
    }
 +
 +
    .jumbotron-fluid {
 +
        padding-right: 0;
 +
        padding-left: 0;
 +
        border-radius: 0
 +
    }
 +
 +
    .alert {
 +
        position: relative;
 +
        padding: .75rem 1.25rem;
 +
        margin-bottom: 1rem;
 +
        border: 1px solid transparent;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .alert-heading {
 +
        color: inherit
 +
    }
 +
 +
    .alert-link {
 +
        font-weight: 700
 +
    }
 +
 +
    .alert-dismissible {
 +
        padding-right: 4rem
 +
    }
 +
 +
    .alert-dismissible .close {
 +
        position: absolute;
 +
        top: 0;
 +
        right: 0;
 +
        padding: .75rem 1.25rem;
 +
        color: inherit
 +
    }
 +
 +
    .alert-primary {
 +
        color: #004085;
 +
        background-color: #cce5ff;
 +
        border-color: #b8daff
 +
    }
 +
 +
    .alert-primary hr {
 +
        border-top-color: #9fcdff
 +
    }
 +
 +
    .alert-primary .alert-link {
 +
        color: #002752
 +
    }
 +
 +
    .alert-secondary {
 +
        color: #383d41;
 +
        background-color: #e2e3e5;
 +
        border-color: #d6d8db
 +
    }
 +
 +
    .alert-secondary hr {
 +
        border-top-color: #c8cbcf
 +
    }
 +
 +
    .alert-secondary .alert-link {
 +
        color: #202326
 +
    }
 +
 +
    .alert-success {
 +
        color: #155724;
 +
        background-color: #d4edda;
 +
        border-color: #c3e6cb
 +
    }
 +
 +
    .alert-success hr {
 +
        border-top-color: #b1dfbb
 +
    }
 +
 +
    .alert-success .alert-link {
 +
        color: #0b2e13
 +
    }
 +
 +
    .alert-info {
 +
        color: #0c5460;
 +
        background-color: #d1ecf1;
 +
        border-color: #bee5eb
 +
    }
 +
 +
    .alert-info hr {
 +
        border-top-color: #abdde5
 +
    }
 +
 +
    .alert-info .alert-link {
 +
        color: #062c33
 +
    }
 +
 +
    .alert-warning {
 +
        color: #856404;
 +
        background-color: #fff3cd;
 +
        border-color: #ffeeba
 +
    }
 +
 +
    .alert-warning hr {
 +
        border-top-color: #ffe8a1
 +
    }
 +
 +
    .alert-warning .alert-link {
 +
        color: #533f03
 +
    }
 +
 +
    .alert-danger {
 +
        color: #721c24;
 +
        background-color: #f8d7da;
 +
        border-color: #f5c6cb
 +
    }
 +
 +
    .alert-danger hr {
 +
        border-top-color: #f1b0b7
 +
    }
 +
 +
    .alert-danger .alert-link {
 +
        color: #491217
 +
    }
 +
 +
    .alert-light {
 +
        color: #818182;
 +
        background-color: #fefefe;
 +
        border-color: #fdfdfe
 +
    }
 +
 +
    .alert-light hr {
 +
        border-top-color: #ececf6
 +
    }
 +
 +
    .alert-light .alert-link {
 +
        color: #686868
 +
    }
 +
 +
    .alert-dark {
 +
        color: #1b1e21;
 +
        background-color: #d6d8d9;
 +
        border-color: #c6c8ca
 +
    }
 +
 +
    .alert-dark hr {
 +
        border-top-color: #b9bbbe
 +
    }
 +
 +
    .alert-dark .alert-link {
 +
        color: #040505
 +
    }
 +
 +
    @-webkit-keyframes progress-bar-stripes {
 +
        from {
 +
            background-position: 1rem 0
 +
        }
 +
        to {
 +
            background-position: 0 0
 +
        }
 +
    }
 +
 +
    @keyframes progress-bar-stripes {
 +
        from {
 +
            background-position: 1rem 0
 +
        }
 +
        to {
 +
            background-position: 0 0
 +
        }
 +
    }
 +
 +
    .progress {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        height: 1rem;
 +
        overflow: hidden;
 +
        font-size: .75rem;
 +
        background-color: #e9ecef;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .progress-bar {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column;
 +
        -ms-flex-pack: center;
 +
        justify-content: center;
 +
        color: #fff;
 +
        text-align: center;
 +
        white-space: nowrap;
 +
        background-color: #007bff;
 +
        transition: width .6s ease
 +
    }
 +
 +
    @media screen and (prefers-reduced-motion: reduce) {
 +
        .progress-bar {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .progress-bar-striped {
 +
        background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
 +
        background-size: 1rem 1rem
 +
    }
 +
 +
    .progress-bar-animated {
 +
        -webkit-animation: progress-bar-stripes 1s linear infinite;
 +
        animation: progress-bar-stripes 1s linear infinite
 +
    }
 +
 +
    .media {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: start;
 +
        align-items: flex-start
 +
    }
 +
 +
    .media-body {
 +
        -ms-flex: 1;
 +
        flex: 1
 +
    }
 +
 +
    .list-group {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column;
 +
        padding-left: 0;
 +
        margin-bottom: 0
 +
    }
 +
 +
    .list-group-item-action {
 +
        width: 100%;
 +
        color: #495057;
 +
        text-align: inherit
 +
    }
 +
 +
    .list-group-item-action:focus, .list-group-item-action:hover {
 +
        color: #495057;
 +
        text-decoration: none;
 +
        background-color: #f8f9fa
 +
    }
 +
 +
    .list-group-item-action:active {
 +
        color: #212529;
 +
        background-color: #e9ecef
 +
    }
 +
 +
    .list-group-item {
 +
        position: relative;
 +
        display: block;
 +
        padding: .75rem 1.25rem;
 +
        margin-bottom: -1px;
 +
        background-color: #fff;
 +
        border: 1px solid rgba(0, 0, 0, .125)
 +
    }
 +
 +
    .list-group-item:first-child {
 +
        border-top-left-radius: .25rem;
 +
        border-top-right-radius: .25rem
 +
    }
 +
 +
    .list-group-item:last-child {
 +
        margin-bottom: 0;
 +
        border-bottom-right-radius: .25rem;
 +
        border-bottom-left-radius: .25rem
 +
    }
 +
 +
    .list-group-item:focus, .list-group-item:hover {
 +
        z-index: 1;
 +
        text-decoration: none
 +
    }
 +
 +
    .list-group-item.disabled, .list-group-item:disabled {
 +
        color: #6c757d;
 +
        background-color: #fff
 +
    }
 +
 +
    .list-group-item.active {
 +
        z-index: 2;
 +
        color: #fff;
 +
        background-color: #007bff;
 +
        border-color: #007bff
 +
    }
 +
 +
    .list-group-flush .list-group-item {
 +
        border-right: 0;
 +
        border-left: 0;
 +
        border-radius: 0
 +
    }
 +
 +
    .list-group-flush:first-child .list-group-item:first-child {
 +
        border-top: 0
 +
    }
 +
 +
    .list-group-flush:last-child .list-group-item:last-child {
 +
        border-bottom: 0
 +
    }
 +
 +
    .list-group-item-primary {
 +
        color: #004085;
 +
        background-color: #b8daff
 +
    }
 +
 +
    .list-group-item-primary.list-group-item-action:focus, .list-group-item-primary.list-group-item-action:hover {
 +
        color: #004085;
 +
        background-color: #9fcdff
 +
    }
 +
 +
    .list-group-item-primary.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #004085;
 +
        border-color: #004085
 +
    }
 +
 +
    .list-group-item-secondary {
 +
        color: #383d41;
 +
        background-color: #d6d8db
 +
    }
 +
 +
    .list-group-item-secondary.list-group-item-action:focus, .list-group-item-secondary.list-group-item-action:hover {
 +
        color: #383d41;
 +
        background-color: #c8cbcf
 +
    }
 +
 +
    .list-group-item-secondary.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #383d41;
 +
        border-color: #383d41
 +
    }
 +
 +
    .list-group-item-success {
 +
        color: #155724;
 +
        background-color: #c3e6cb
 +
    }
 +
 +
    .list-group-item-success.list-group-item-action:focus, .list-group-item-success.list-group-item-action:hover {
 +
        color: #155724;
 +
        background-color: #b1dfbb
 +
    }
 +
 +
    .list-group-item-success.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #155724;
 +
        border-color: #155724
 +
    }
 +
 +
    .list-group-item-info {
 +
        color: #0c5460;
 +
        background-color: #bee5eb
 +
    }
 +
 +
    .list-group-item-info.list-group-item-action:focus, .list-group-item-info.list-group-item-action:hover {
 +
        color: #0c5460;
 +
        background-color: #abdde5
 +
    }
 +
 +
    .list-group-item-info.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #0c5460;
 +
        border-color: #0c5460
 +
    }
 +
 +
    .list-group-item-warning {
 +
        color: #856404;
 +
        background-color: #ffeeba
 +
    }
 +
 +
    .list-group-item-warning.list-group-item-action:focus, .list-group-item-warning.list-group-item-action:hover {
 +
        color: #856404;
 +
        background-color: #ffe8a1
 +
    }
 +
 +
    .list-group-item-warning.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #856404;
 +
        border-color: #856404
 +
    }
 +
 +
    .list-group-item-danger {
 +
        color: #721c24;
 +
        background-color: #f5c6cb
 +
    }
 +
 +
    .list-group-item-danger.list-group-item-action:focus, .list-group-item-danger.list-group-item-action:hover {
 +
        color: #721c24;
 +
        background-color: #f1b0b7
 +
    }
 +
 +
    .list-group-item-danger.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #721c24;
 +
        border-color: #721c24
 +
    }
 +
 +
    .list-group-item-light {
 +
        color: #818182;
 +
        background-color: #fdfdfe
 +
    }
 +
 +
    .list-group-item-light.list-group-item-action:focus, .list-group-item-light.list-group-item-action:hover {
 +
        color: #818182;
 +
        background-color: #ececf6
 +
    }
 +
 +
    .list-group-item-light.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #818182;
 +
        border-color: #818182
 +
    }
 +
 +
    .list-group-item-dark {
 +
        color: #1b1e21;
 +
        background-color: #c6c8ca
 +
    }
 +
 +
    .list-group-item-dark.list-group-item-action:focus, .list-group-item-dark.list-group-item-action:hover {
 +
        color: #1b1e21;
 +
        background-color: #b9bbbe
 +
    }
 +
 +
    .list-group-item-dark.list-group-item-action.active {
 +
        color: #fff;
 +
        background-color: #1b1e21;
 +
        border-color: #1b1e21
 +
    }
 +
 +
    .close {
 +
        float: right;
 +
        font-size: 1.5rem;
 +
        font-weight: 700;
 +
        line-height: 1;
 +
        color: #000;
 +
        text-shadow: 0 1px 0 #fff;
 +
        opacity: .5
 +
    }
 +
 +
    .close:focus, .close:hover {
 +
        color: #000;
 +
        text-decoration: none;
 +
        opacity: .75
 +
    }
 +
 +
    .close:not(:disabled):not(.disabled) {
 +
        cursor: pointer
 +
    }
 +
 +
    button.close {
 +
        padding: 0;
 +
        background-color: transparent;
 +
        border: 0;
 +
        -webkit-appearance: none
 +
    }
 +
 +
    .modal-open {
 +
        overflow: hidden
 +
    }
 +
 +
    .modal {
 +
        position: fixed;
 +
        top: 0;
 +
        right: 0;
 +
        bottom: 0;
 +
        left: 0;
 +
        z-index: 1050;
 +
        display: none;
 +
        overflow: hidden;
 +
        outline: 0
 +
    }
 +
 +
    .modal-open .modal {
 +
        overflow-x: hidden;
 +
        overflow-y: auto
 +
    }
 +
 +
    .modal-dialog {
 +
        position: relative;
 +
        width: auto;
 +
        margin: .5rem;
 +
        pointer-events: none
 +
    }
 +
 +
    .modal.fade .modal-dialog {
 +
        transition: -webkit-transform .3s ease-out;
 +
        transition: transform .3s ease-out;
 +
        transition: transform .3s ease-out, -webkit-transform .3s ease-out;
 +
        -webkit-transform: translate(0, -25%);
 +
        transform: translate(0, -25%)
 +
    }
 +
 +
    @media screen and (prefers-reduced-motion: reduce) {
 +
        .modal.fade .modal-dialog {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .modal.show .modal-dialog {
 +
        -webkit-transform: translate(0, 0);
 +
        transform: translate(0, 0)
 +
    }
 +
 +
    .modal-dialog-centered {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        min-height: calc(100% - (.5rem * 2))
 +
    }
 +
 +
    .modal-content {
 +
        position: relative;
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-direction: column;
 +
        flex-direction: column;
 +
        width: 100%;
 +
        pointer-events: auto;
 +
        background-color: #fff;
 +
        background-clip: padding-box;
 +
        border: 1px solid rgba(0, 0, 0, .2);
 +
        border-radius: .3rem;
 +
        outline: 0
 +
    }
 +
 +
    .modal-backdrop {
 +
        position: fixed;
 +
        top: 0;
 +
        right: 0;
 +
        bottom: 0;
 +
        left: 0;
 +
        z-index: 1040;
 +
        background-color: #000
 +
    }
 +
 +
    .modal-backdrop.fade {
 +
        opacity: 0
 +
    }
 +
 +
    .modal-backdrop.show {
 +
        opacity: .5
 +
    }
 +
 +
    .modal-header {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: start;
 +
        align-items: flex-start;
 +
        -ms-flex-pack: justify;
 +
        justify-content: space-between;
 +
        padding: 1rem;
 +
        border-bottom: 1px solid #e9ecef;
 +
        border-top-left-radius: .3rem;
 +
        border-top-right-radius: .3rem
 +
    }
 +
 +
    .modal-header .close {
 +
        padding: 1rem;
 +
        margin: -1rem -1rem -1rem auto
 +
    }
 +
 +
    .modal-title {
 +
        margin-bottom: 0;
 +
        line-height: 1.5
 +
    }
 +
 +
    .modal-body {
 +
        position: relative;
 +
        -ms-flex: 1 1 auto;
 +
        flex: 1 1 auto;
 +
        padding: 1rem
 +
    }
 +
 +
    .modal-footer {
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        -ms-flex-pack: end;
 +
        justify-content: flex-end;
 +
        padding: 1rem;
 +
        border-top: 1px solid #e9ecef
 +
    }
 +
 +
    .modal-footer > :not(:first-child) {
 +
        margin-left: .25rem
 +
    }
 +
 +
    .modal-footer > :not(:last-child) {
 +
        margin-right: .25rem
 +
    }
 +
 +
    .modal-scrollbar-measure {
 +
        position: absolute;
 +
        top: -9999px;
 +
        width: 50px;
 +
        height: 50px;
 +
        overflow: scroll
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .modal-dialog {
 +
            max-width: 500px;
 +
            margin: 1.75rem auto
 +
        }
 +
 +
        .modal-dialog-centered {
 +
            min-height: calc(100% - (1.75rem * 2))
 +
        }
 +
 +
        .modal-sm {
 +
            max-width: 300px
 +
        }
 +
    }
 +
 +
    @media (min-width: 992px) {
 +
        .modal-lg {
 +
            max-width: 800px
 +
        }
 +
    }
 +
 +
    .tooltip {
 +
        position: absolute;
 +
        z-index: 1070;
 +
        display: block;
 +
        margin: 0;
 +
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
 +
        font-style: normal;
 +
        font-weight: 400;
 +
        line-height: 1.5;
 +
        text-align: left;
 +
        text-align: start;
 +
        text-decoration: none;
 +
        text-shadow: none;
 +
        text-transform: none;
 +
        letter-spacing: normal;
 +
        word-break: normal;
 +
        word-spacing: normal;
 +
        white-space: normal;
 +
        line-break: auto;
 +
        font-size: .875rem;
 +
        word-wrap: break-word;
 +
        opacity: 0
 +
    }
 +
 +
    .tooltip.show {
 +
        opacity: .9
 +
    }
 +
 +
    .tooltip .arrow {
 +
        position: absolute;
 +
        display: block;
 +
        width: .8rem;
 +
        height: .4rem
 +
    }
 +
 +
    .tooltip .arrow::before {
 +
        position: absolute;
 +
        content: "";
 +
        border-color: transparent;
 +
        border-style: solid
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=top], .bs-tooltip-top {
 +
        padding: .4rem 0
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=top] .arrow, .bs-tooltip-top .arrow {
 +
        bottom: 0
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=top] .arrow::before, .bs-tooltip-top .arrow::before {
 +
        top: 0;
 +
        border-width: .4rem .4rem 0;
 +
        border-top-color: #000
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=right], .bs-tooltip-right {
 +
        padding: 0 .4rem
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=right] .arrow, .bs-tooltip-right .arrow {
 +
        left: 0;
 +
        width: .4rem;
 +
        height: .8rem
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=right] .arrow::before, .bs-tooltip-right .arrow::before {
 +
        right: 0;
 +
        border-width: .4rem .4rem .4rem 0;
 +
        border-right-color: #000
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=bottom], .bs-tooltip-bottom {
 +
        padding: .4rem 0
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=bottom] .arrow, .bs-tooltip-bottom .arrow {
 +
        top: 0
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=bottom] .arrow::before, .bs-tooltip-bottom .arrow::before {
 +
        bottom: 0;
 +
        border-width: 0 .4rem .4rem;
 +
        border-bottom-color: #000
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=left], .bs-tooltip-left {
 +
        padding: 0 .4rem
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=left] .arrow, .bs-tooltip-left .arrow {
 +
        right: 0;
 +
        width: .4rem;
 +
        height: .8rem
 +
    }
 +
 +
    .bs-tooltip-auto[x-placement^=left] .arrow::before, .bs-tooltip-left .arrow::before {
 +
        left: 0;
 +
        border-width: .4rem 0 .4rem .4rem;
 +
        border-left-color: #000
 +
    }
 +
 +
    .tooltip-inner {
 +
        max-width: 200px;
 +
        padding: .25rem .5rem;
 +
        color: #fff;
 +
        text-align: center;
 +
        background-color: #000;
 +
        border-radius: .25rem
 +
    }
 +
 +
    .popover {
 +
        position: absolute;
 +
        top: 0;
 +
        left: 0;
 +
        z-index: 1060;
 +
        display: block;
 +
        max-width: 276px;
 +
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
 +
        font-style: normal;
 +
        font-weight: 400;
 +
        line-height: 1.5;
 +
        text-align: left;
 +
        text-align: start;
 +
        text-decoration: none;
 +
        text-shadow: none;
 +
        text-transform: none;
 +
        letter-spacing: normal;
 +
        word-break: normal;
 +
        word-spacing: normal;
 +
        white-space: normal;
 +
        line-break: auto;
 +
        font-size: .875rem;
 +
        word-wrap: break-word;
 +
        background-color: #fff;
 +
        background-clip: padding-box;
 +
        border: 1px solid rgba(0, 0, 0, .2);
 +
        border-radius: .3rem
 +
    }
 +
 +
    .popover .arrow {
 +
        position: absolute;
 +
        display: block;
 +
        width: 1rem;
 +
        height: .5rem;
 +
        margin: 0 .3rem
 +
    }
 +
 +
    .popover .arrow::after, .popover .arrow::before {
 +
        position: absolute;
 +
        display: block;
 +
        content: "";
 +
        border-color: transparent;
 +
        border-style: solid
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=top], .bs-popover-top {
 +
        margin-bottom: .5rem
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=top] .arrow, .bs-popover-top .arrow {
 +
        bottom: calc((.5rem + 1px) * -1)
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=top] .arrow::after, .bs-popover-auto[x-placement^=top] .arrow::before, .bs-popover-top .arrow::after, .bs-popover-top .arrow::before {
 +
        border-width: .5rem .5rem 0
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=top] .arrow::before, .bs-popover-top .arrow::before {
 +
        bottom: 0;
 +
        border-top-color: rgba(0, 0, 0, .25)
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=top] .arrow::after, .bs-popover-top .arrow::after {
 +
        bottom: 1px;
 +
        border-top-color: #fff
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=right], .bs-popover-right {
 +
        margin-left: .5rem
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=right] .arrow, .bs-popover-right .arrow {
 +
        left: calc((.5rem + 1px) * -1);
 +
        width: .5rem;
 +
        height: 1rem;
 +
        margin: .3rem 0
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=right] .arrow::after, .bs-popover-auto[x-placement^=right] .arrow::before, .bs-popover-right .arrow::after, .bs-popover-right .arrow::before {
 +
        border-width: .5rem .5rem .5rem 0
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=right] .arrow::before, .bs-popover-right .arrow::before {
 +
        left: 0;
 +
        border-right-color: rgba(0, 0, 0, .25)
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=right] .arrow::after, .bs-popover-right .arrow::after {
 +
        left: 1px;
 +
        border-right-color: #fff
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=bottom], .bs-popover-bottom {
 +
        margin-top: .5rem
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=bottom] .arrow, .bs-popover-bottom .arrow {
 +
        top: calc((.5rem + 1px) * -1)
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=bottom] .arrow::after, .bs-popover-auto[x-placement^=bottom] .arrow::before, .bs-popover-bottom .arrow::after, .bs-popover-bottom .arrow::before {
 +
        border-width: 0 .5rem .5rem .5rem
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=bottom] .arrow::before, .bs-popover-bottom .arrow::before {
 +
        top: 0;
 +
        border-bottom-color: rgba(0, 0, 0, .25)
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=bottom] .arrow::after, .bs-popover-bottom .arrow::after {
 +
        top: 1px;
 +
        border-bottom-color: #fff
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=bottom] .popover-header::before, .bs-popover-bottom .popover-header::before {
 +
        position: absolute;
 +
        top: 0;
 +
        left: 50%;
 +
        display: block;
 +
        width: 1rem;
 +
        margin-left: -.5rem;
 +
        content: "";
 +
        border-bottom: 1px solid #f7f7f7
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=left], .bs-popover-left {
 +
        margin-right: .5rem
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=left] .arrow, .bs-popover-left .arrow {
 +
        right: calc((.5rem + 1px) * -1);
 +
        width: .5rem;
 +
        height: 1rem;
 +
        margin: .3rem 0
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=left] .arrow::after, .bs-popover-auto[x-placement^=left] .arrow::before, .bs-popover-left .arrow::after, .bs-popover-left .arrow::before {
 +
        border-width: .5rem 0 .5rem .5rem
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=left] .arrow::before, .bs-popover-left .arrow::before {
 +
        right: 0;
 +
        border-left-color: rgba(0, 0, 0, .25)
 +
    }
 +
 +
    .bs-popover-auto[x-placement^=left] .arrow::after, .bs-popover-left .arrow::after {
 +
        right: 1px;
 +
        border-left-color: #fff
 +
    }
 +
 +
    .popover-header {
 +
        padding: .5rem .75rem;
 +
        margin-bottom: 0;
 +
        font-size: 1rem;
 +
        color: inherit;
 +
        background-color: #f7f7f7;
 +
        border-bottom: 1px solid #ebebeb;
 +
        border-top-left-radius: calc(.3rem - 1px);
 +
        border-top-right-radius: calc(.3rem - 1px)
 +
    }
 +
 +
    .popover-header:empty {
 +
        display: none
 +
    }
 +
 +
    .popover-body {
 +
        padding: .5rem .75rem;
 +
        color: #212529
 +
    }
 +
 +
    .carousel {
 +
        position: relative
 +
    }
 +
 +
    .carousel-inner {
 +
        position: relative;
 +
        width: 100%;
 +
        overflow: hidden
 +
    }
 +
 +
    .carousel-item {
 +
        position: relative;
 +
        display: none;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        width: 100%;
 +
        transition: -webkit-transform .6s ease;
 +
        transition: transform .6s ease;
 +
        transition: transform .6s ease, -webkit-transform .6s ease;
 +
        -webkit-backface-visibility: hidden;
 +
        backface-visibility: hidden;
 +
        -webkit-perspective: 1000px;
 +
        perspective: 1000px
 +
    }
 +
 +
    @media screen and (prefers-reduced-motion: reduce) {
 +
        .carousel-item {
 +
            transition: none
 +
        }
 +
    }
 +
 +
    .carousel-item-next, .carousel-item-prev, .carousel-item.active {
 +
        display: block
 +
    }
 +
 +
    .carousel-item-next, .carousel-item-prev {
 +
        position: absolute;
 +
        top: 0
 +
    }
 +
 +
    .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
 +
        -webkit-transform: translateX(0);
 +
        transform: translateX(0)
 +
    }
 +
 +
    @supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
 +
        .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
 +
            -webkit-transform: translate3d(0, 0, 0);
 +
            transform: translate3d(0, 0, 0)
 +
        }
 +
    }
 +
 +
    .active.carousel-item-right, .carousel-item-next {
 +
        -webkit-transform: translateX(100%);
 +
        transform: translateX(100%)
 +
    }
 +
 +
    @supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
 +
        .active.carousel-item-right, .carousel-item-next {
 +
            -webkit-transform: translate3d(100%, 0, 0);
 +
            transform: translate3d(100%, 0, 0)
 +
        }
 +
    }
 +
 +
    .active.carousel-item-left, .carousel-item-prev {
 +
        -webkit-transform: translateX(-100%);
 +
        transform: translateX(-100%)
 +
    }
 +
 +
    @supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
 +
        .active.carousel-item-left, .carousel-item-prev {
 +
            -webkit-transform: translate3d(-100%, 0, 0);
 +
            transform: translate3d(-100%, 0, 0)
 +
        }
 +
    }
 +
 +
    .carousel-fade .carousel-item {
 +
        opacity: 0;
 +
        transition-duration: .6s;
 +
        transition-property: opacity
 +
    }
 +
 +
    .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right, .carousel-fade .carousel-item.active {
 +
        opacity: 1
 +
    }
 +
 +
    .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right {
 +
        opacity: 0
 +
    }
 +
 +
    .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-prev, .carousel-fade .carousel-item-next, .carousel-fade .carousel-item-prev, .carousel-fade .carousel-item.active {
 +
        -webkit-transform: translateX(0);
 +
        transform: translateX(0)
 +
    }
 +
 +
    @supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) {
 +
        .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-prev, .carousel-fade .carousel-item-next, .carousel-fade .carousel-item-prev, .carousel-fade .carousel-item.active {
 +
            -webkit-transform: translate3d(0, 0, 0);
 +
            transform: translate3d(0, 0, 0)
 +
        }
 +
    }
 +
 +
    .carousel-control-next, .carousel-control-prev {
 +
        position: absolute;
 +
        top: 0;
 +
        bottom: 0;
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-align: center;
 +
        align-items: center;
 +
        -ms-flex-pack: center;
 +
        justify-content: center;
 +
        width: 15%;
 +
        color: #fff;
 +
        text-align: center;
 +
        opacity: .5
 +
    }
 +
 +
    .carousel-control-next:focus, .carousel-control-next:hover, .carousel-control-prev:focus, .carousel-control-prev:hover {
 +
        color: #fff;
 +
        text-decoration: none;
 +
        outline: 0;
 +
        opacity: .9
 +
    }
 +
 +
    .carousel-control-prev {
 +
        left: 0
 +
    }
 +
 +
    .carousel-control-next {
 +
        right: 0
 +
    }
 +
 +
    .carousel-control-next-icon, .carousel-control-prev-icon {
 +
        display: inline-block;
 +
        width: 20px;
 +
        height: 20px;
 +
        background: transparent no-repeat center center;
 +
        background-size: 100% 100%
 +
    }
 +
 +
    .carousel-control-prev-icon {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .carousel-control-next-icon {
 +
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")
 +
    }
 +
 +
    .carousel-indicators {
 +
        position: absolute;
 +
        right: 0;
 +
        bottom: 10px;
 +
        left: 0;
 +
        z-index: 15;
 +
        display: -ms-flexbox;
 +
        display: flex;
 +
        -ms-flex-pack: center;
 +
        justify-content: center;
 +
        padding-left: 0;
 +
        margin-right: 15%;
 +
        margin-left: 15%;
 +
        list-style: none
 +
    }
 +
 +
    .carousel-indicators li {
 +
        position: relative;
 +
        -ms-flex: 0 1 auto;
 +
        flex: 0 1 auto;
 +
        width: 30px;
 +
        height: 3px;
 +
        margin-right: 3px;
 +
        margin-left: 3px;
 +
        text-indent: -999px;
 +
        background-color: rgba(255, 255, 255, .5)
 +
    }
 +
 +
    .carousel-indicators li::before {
 +
        position: absolute;
 +
        top: -10px;
 +
        left: 0;
 +
        display: inline-block;
 +
        width: 100%;
 +
        height: 10px;
 +
        content: ""
 +
    }
 +
 +
    .carousel-indicators li::after {
 +
        position: absolute;
 +
        bottom: -10px;
 +
        left: 0;
 +
        display: inline-block;
 +
        width: 100%;
 +
        height: 10px;
 +
        content: ""
 +
    }
 +
 +
    .carousel-indicators .active {
 +
        background-color: #fff
 +
    }
 +
 +
    .carousel-caption {
 +
        position: absolute;
 +
        right: 15%;
 +
        bottom: 20px;
 +
        left: 15%;
 +
        z-index: 10;
 +
        padding-top: 20px;
 +
        padding-bottom: 20px;
 +
        color: #fff;
 +
        text-align: center
 +
    }
 +
 +
    .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-primary {
 +
        background-color: #007bff !important
 +
    }
 +
 +
    a.bg-primary:focus, a.bg-primary:hover, button.bg-primary:focus, button.bg-primary:hover {
 +
        background-color: #0062cc !important
 +
    }
 +
 +
    .bg-secondary {
 +
        background-color: #6c757d !important
 +
    }
 +
 +
    a.bg-secondary:focus, a.bg-secondary:hover, button.bg-secondary:focus, button.bg-secondary:hover {
 +
        background-color: #545b62 !important
 +
    }
 +
 +
    .bg-success {
 +
        background-color: #28a745 !important
 +
    }
 +
 +
    a.bg-success:focus, a.bg-success:hover, button.bg-success:focus, button.bg-success:hover {
 +
        background-color: #1e7e34 !important
 +
    }
 +
 +
    .bg-info {
 +
        background-color: #17a2b8 !important
 +
    }
 +
 +
    a.bg-info:focus, a.bg-info:hover, button.bg-info:focus, button.bg-info:hover {
 +
        background-color: #117a8b !important
 +
    }
 +
 +
    .bg-warning {
 +
        background-color: #ffc107 !important
 +
    }
 +
 +
    a.bg-warning:focus, a.bg-warning:hover, button.bg-warning:focus, button.bg-warning:hover {
 +
        background-color: #d39e00 !important
 +
    }
 +
 +
    .bg-danger {
 +
        background-color: #dc3545 !important
 +
    }
 +
 +
    a.bg-danger:focus, a.bg-danger:hover, button.bg-danger:focus, button.bg-danger:hover {
 +
        background-color: #bd2130 !important
 +
    }
 +
 +
    .bg-light {
 +
        background-color: #f8f9fa !important
 +
    }
 +
 +
    a.bg-light:focus, a.bg-light:hover, button.bg-light:focus, button.bg-light:hover {
 +
        background-color: #dae0e5 !important
 +
    }
 +
 +
    .bg-dark {
 +
        background-color: #343a40 !important
 +
    }
 +
 +
    a.bg-dark:focus, a.bg-dark:hover, button.bg-dark:focus, button.bg-dark:hover {
 +
        background-color: #1d2124 !important
 +
    }
 +
 +
    .bg-white {
 +
        background-color: #fff !important
 +
    }
 +
 +
    .bg-transparent {
 +
        background-color: transparent !important
 +
    }
 +
 +
    .border {
 +
        border: 1px solid #dee2e6 !important
 +
    }
 +
 +
    .border-top {
 +
        border-top: 1px solid #dee2e6 !important
 +
    }
 +
 +
    .border-right {
 +
        border-right: 1px solid #dee2e6 !important
 +
    }
 +
 +
    .border-bottom {
 +
        border-bottom: 1px solid #dee2e6 !important
 +
    }
 +
 +
    .border-left {
 +
        border-left: 1px solid #dee2e6 !important
 +
    }
 +
 +
    .border-0 {
 +
        border: 0 !important
 +
    }
 +
 +
    .border-top-0 {
 +
        border-top: 0 !important
 +
    }
 +
 +
    .border-right-0 {
 +
        border-right: 0 !important
 +
    }
 +
 +
    .border-bottom-0 {
 +
        border-bottom: 0 !important
 +
    }
 +
 +
    .border-left-0 {
 +
        border-left: 0 !important
 +
    }
 +
 +
    .border-primary {
 +
        border-color: #007bff !important
 +
    }
 +
 +
    .border-secondary {
 +
        border-color: #6c757d !important
 +
    }
 +
 +
    .border-success {
 +
        border-color: #28a745 !important
 +
    }
 +
 +
    .border-info {
 +
        border-color: #17a2b8 !important
 +
    }
 +
 +
    .border-warning {
 +
        border-color: #ffc107 !important
 +
    }
 +
 +
    .border-danger {
 +
        border-color: #dc3545 !important
 +
    }
 +
 +
    .border-light {
 +
        border-color: #f8f9fa !important
 +
    }
 +
 +
    .border-dark {
 +
        border-color: #343a40 !important
 +
    }
 +
 +
    .border-white {
 +
        border-color: #fff !important
 +
    }
 +
 +
    .rounded {
 +
        border-radius: .25rem !important
 +
    }
 +
 +
    .rounded-top {
 +
        border-top-left-radius: .25rem !important;
 +
        border-top-right-radius: .25rem !important
 +
    }
 +
 +
    .rounded-right {
 +
        border-top-right-radius: .25rem !important;
 +
        border-bottom-right-radius: .25rem !important
 +
    }
 +
 +
    .rounded-bottom {
 +
        border-bottom-right-radius: .25rem !important;
 +
        border-bottom-left-radius: .25rem !important
 +
    }
 +
 +
    .rounded-left {
 +
        border-top-left-radius: .25rem !important;
 +
        border-bottom-left-radius: .25rem !important
 +
    }
 +
 +
    .rounded-circle {
 +
        border-radius: 50% !important
 +
    }
 +
 +
    .rounded-0 {
 +
        border-radius: 0 !important
 +
    }
 +
 +
    .clearfix::after {
 +
        display: block;
 +
        clear: both;
 +
        content: ""
 +
    }
 +
 +
    .d-none {
 +
        display: none !important
 +
    }
 +
 +
    .d-inline {
 +
        display: inline !important
 +
    }
 +
 +
    .d-inline-block {
 +
        display: inline-block !important
 +
    }
 +
 +
    .d-block {
 +
        display: block !important
 +
    }
 +
 +
    .d-table {
 +
        display: table !important
 +
    }
 +
 +
    .d-table-row {
 +
        display: table-row !important
 +
    }
 +
 +
    .d-table-cell {
 +
        display: table-cell !important
 +
    }
 +
 +
    .d-flex {
 +
        display: -ms-flexbox !important;
 +
        display: flex !important
 +
    }
 +
 +
    .d-inline-flex {
 +
        display: -ms-inline-flexbox !important;
 +
        display: inline-flex !important
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .d-sm-none {
 +
            display: none !important
 +
        }
 +
 +
        .d-sm-inline {
 +
            display: inline !important
 +
        }
 +
 +
        .d-sm-inline-block {
 +
            display: inline-block !important
 +
        }
 +
 +
        .d-sm-block {
 +
            display: block !important
 +
        }
 +
 +
        .d-sm-table {
 +
            display: table !important
 +
        }
 +
 +
        .d-sm-table-row {
 +
            display: table-row !important
 +
        }
 +
 +
        .d-sm-table-cell {
 +
            display: table-cell !important
 +
        }
 +
 +
        .d-sm-flex {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important
 +
        }
 +
 +
        .d-sm-inline-flex {
 +
            display: -ms-inline-flexbox !important;
 +
            display: inline-flex !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 768px) {
 +
        .d-md-none {
 +
            display: none !important
 +
        }
 +
 +
        .d-md-inline {
 +
            display: inline !important
 +
        }
 +
 +
        .d-md-inline-block {
 +
            display: inline-block !important
 +
        }
 +
 +
        .d-md-block {
 +
            display: block !important
 +
        }
 +
 +
        .d-md-table {
 +
            display: table !important
 +
        }
 +
 +
        .d-md-table-row {
 +
            display: table-row !important
 +
        }
 +
 +
        .d-md-table-cell {
 +
            display: table-cell !important
 +
        }
 +
 +
        .d-md-flex {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important
 +
        }
 +
 +
        .d-md-inline-flex {
 +
            display: -ms-inline-flexbox !important;
 +
            display: inline-flex !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 992px) {
 +
        .d-lg-none {
 +
            display: none !important
 +
        }
 +
 +
        .d-lg-inline {
 +
            display: inline !important
 +
        }
 +
 +
        .d-lg-inline-block {
 +
            display: inline-block !important
 +
        }
 +
 +
        .d-lg-block {
 +
            display: block !important
 +
        }
 +
 +
        .d-lg-table {
 +
            display: table !important
 +
        }
 +
 +
        .d-lg-table-row {
 +
            display: table-row !important
 +
        }
 +
 +
        .d-lg-table-cell {
 +
            display: table-cell !important
 +
        }
 +
 +
        .d-lg-flex {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important
 +
        }
 +
 +
        .d-lg-inline-flex {
 +
            display: -ms-inline-flexbox !important;
 +
            display: inline-flex !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 1200px) {
 +
        .d-xl-none {
 +
            display: none !important
 +
        }
 +
 +
        .d-xl-inline {
 +
            display: inline !important
 +
        }
 +
 +
        .d-xl-inline-block {
 +
            display: inline-block !important
 +
        }
 +
 +
        .d-xl-block {
 +
            display: block !important
 +
        }
 +
 +
        .d-xl-table {
 +
            display: table !important
 +
        }
 +
 +
        .d-xl-table-row {
 +
            display: table-row !important
 +
        }
 +
 +
        .d-xl-table-cell {
 +
            display: table-cell !important
 +
        }
 +
 +
        .d-xl-flex {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important
 +
        }
 +
 +
        .d-xl-inline-flex {
 +
            display: -ms-inline-flexbox !important;
 +
            display: inline-flex !important
 +
        }
 +
    }
 +
 +
    @media print {
 +
        .d-print-none {
 +
            display: none !important
 +
        }
 +
 +
        .d-print-inline {
 +
            display: inline !important
 +
        }
 +
 +
        .d-print-inline-block {
 +
            display: inline-block !important
 +
        }
 +
 +
        .d-print-block {
 +
            display: block !important
 +
        }
 +
 +
        .d-print-table {
 +
            display: table !important
 +
        }
 +
 +
        .d-print-table-row {
 +
            display: table-row !important
 +
        }
 +
 +
        .d-print-table-cell {
 +
            display: table-cell !important
 +
        }
 +
 +
        .d-print-flex {
 +
            display: -ms-flexbox !important;
 +
            display: flex !important
 +
        }
 +
 +
        .d-print-inline-flex {
 +
            display: -ms-inline-flexbox !important;
 +
            display: inline-flex !important
 +
        }
 +
    }
 +
 +
    .embed-responsive {
 +
        position: relative;
 +
        display: block;
 +
        width: 100%;
 +
        padding: 0;
 +
        overflow: hidden
 +
    }
 +
 +
    .embed-responsive::before {
 +
        display: block;
 +
        content: ""
 +
    }
 +
 +
    .embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video {
 +
        position: absolute;
 +
        top: 0;
 +
        bottom: 0;
 +
        left: 0;
 +
        width: 100%;
 +
        height: 100%;
 +
        border: 0
 +
    }
 +
 +
    .embed-responsive-21by9::before {
 +
        padding-top: 42.857143%
 +
    }
 +
 +
    .embed-responsive-16by9::before {
 +
        padding-top: 56.25%
 +
    }
 +
 +
    .embed-responsive-4by3::before {
 +
        padding-top: 75%
 +
    }
 +
 +
    .embed-responsive-1by1::before {
 +
        padding-top: 100%
 +
    }
 +
 +
    .flex-row {
 +
        -ms-flex-direction: row !important;
 +
        flex-direction: row !important
 +
    }
 +
 +
    .flex-column {
 +
        -ms-flex-direction: column !important;
 +
        flex-direction: column !important
 +
    }
 +
 +
    .flex-row-reverse {
 +
        -ms-flex-direction: row-reverse !important;
 +
        flex-direction: row-reverse !important
 +
    }
 +
 +
    .flex-column-reverse {
 +
        -ms-flex-direction: column-reverse !important;
 +
        flex-direction: column-reverse !important
 +
    }
 +
 +
    .flex-wrap {
 +
        -ms-flex-wrap: wrap !important;
 +
        flex-wrap: wrap !important
 +
    }
 +
 +
    .flex-nowrap {
 +
        -ms-flex-wrap: nowrap !important;
 +
        flex-wrap: nowrap !important
 +
    }
 +
 +
    .flex-wrap-reverse {
 +
        -ms-flex-wrap: wrap-reverse !important;
 +
        flex-wrap: wrap-reverse !important
 +
    }
 +
 +
    .flex-fill {
 +
        -ms-flex: 1 1 auto !important;
 +
        flex: 1 1 auto !important
 +
    }
 +
 +
    .flex-grow-0 {
 +
        -ms-flex-positive: 0 !important;
 +
        flex-grow: 0 !important
 +
    }
 +
 +
    .flex-grow-1 {
 +
        -ms-flex-positive: 1 !important;
 +
        flex-grow: 1 !important
 +
    }
 +
 +
    .flex-shrink-0 {
 +
        -ms-flex-negative: 0 !important;
 +
        flex-shrink: 0 !important
 +
    }
 +
 +
    .flex-shrink-1 {
 +
        -ms-flex-negative: 1 !important;
 +
        flex-shrink: 1 !important
 +
    }
 +
 +
    .justify-content-start {
 +
        -ms-flex-pack: start !important;
 +
        justify-content: flex-start !important
 +
    }
 +
 +
    .justify-content-end {
 +
        -ms-flex-pack: end !important;
 +
        justify-content: flex-end !important
 +
    }
 +
 +
    .justify-content-center {
 +
        -ms-flex-pack: center !important;
 +
        justify-content: center !important
 +
    }
 +
 +
    .justify-content-between {
 +
        -ms-flex-pack: justify !important;
 +
        justify-content: space-between !important
 +
    }
 +
 +
    .justify-content-around {
 +
        -ms-flex-pack: distribute !important;
 +
        justify-content: space-around !important
 +
    }
 +
 +
    .align-items-start {
 +
        -ms-flex-align: start !important;
 +
        align-items: flex-start !important
 +
    }
 +
 +
    .align-items-end {
 +
        -ms-flex-align: end !important;
 +
        align-items: flex-end !important
 +
    }
 +
 +
    .align-items-center {
 +
        -ms-flex-align: center !important;
 +
        align-items: center !important
 +
    }
 +
 +
    .align-items-baseline {
 +
        -ms-flex-align: baseline !important;
 +
        align-items: baseline !important
 +
    }
 +
 +
    .align-items-stretch {
 +
        -ms-flex-align: stretch !important;
 +
        align-items: stretch !important
 +
    }
 +
 +
    .align-content-start {
 +
        -ms-flex-line-pack: start !important;
 +
        align-content: flex-start !important
 +
    }
 +
 +
    .align-content-end {
 +
        -ms-flex-line-pack: end !important;
 +
        align-content: flex-end !important
 +
    }
 +
 +
    .align-content-center {
 +
        -ms-flex-line-pack: center !important;
 +
        align-content: center !important
 +
    }
 +
 +
    .align-content-between {
 +
        -ms-flex-line-pack: justify !important;
 +
        align-content: space-between !important
 +
    }
 +
 +
    .align-content-around {
 +
        -ms-flex-line-pack: distribute !important;
 +
        align-content: space-around !important
 +
    }
 +
 +
    .align-content-stretch {
 +
        -ms-flex-line-pack: stretch !important;
 +
        align-content: stretch !important
 +
    }
 +
 +
    .align-self-auto {
 +
        -ms-flex-item-align: auto !important;
 +
        align-self: auto !important
 +
    }
 +
 +
    .align-self-start {
 +
        -ms-flex-item-align: start !important;
 +
        align-self: flex-start !important
 +
    }
 +
 +
    .align-self-end {
 +
        -ms-flex-item-align: end !important;
 +
        align-self: flex-end !important
 +
    }
 +
 +
    .align-self-center {
 +
        -ms-flex-item-align: center !important;
 +
        align-self: center !important
 +
    }
 +
 +
    .align-self-baseline {
 +
        -ms-flex-item-align: baseline !important;
 +
        align-self: baseline !important
 +
    }
 +
 +
    .align-self-stretch {
 +
        -ms-flex-item-align: stretch !important;
 +
        align-self: stretch !important
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .flex-sm-row {
 +
            -ms-flex-direction: row !important;
 +
            flex-direction: row !important
 +
        }
 +
 +
        .flex-sm-column {
 +
            -ms-flex-direction: column !important;
 +
            flex-direction: column !important
 +
        }
 +
 +
        .flex-sm-row-reverse {
 +
            -ms-flex-direction: row-reverse !important;
 +
            flex-direction: row-reverse !important
 +
        }
 +
 +
        .flex-sm-column-reverse {
 +
            -ms-flex-direction: column-reverse !important;
 +
            flex-direction: column-reverse !important
 +
        }
 +
 +
        .flex-sm-wrap {
 +
            -ms-flex-wrap: wrap !important;
 +
            flex-wrap: wrap !important
 +
        }
 +
 +
        .flex-sm-nowrap {
 +
            -ms-flex-wrap: nowrap !important;
 +
            flex-wrap: nowrap !important
 +
        }
 +
 +
        .flex-sm-wrap-reverse {
 +
            -ms-flex-wrap: wrap-reverse !important;
 +
            flex-wrap: wrap-reverse !important
 +
        }
 +
 +
        .flex-sm-fill {
 +
            -ms-flex: 1 1 auto !important;
 +
            flex: 1 1 auto !important
 +
        }
 +
 +
        .flex-sm-grow-0 {
 +
            -ms-flex-positive: 0 !important;
 +
            flex-grow: 0 !important
 +
        }
 +
 +
        .flex-sm-grow-1 {
 +
            -ms-flex-positive: 1 !important;
 +
            flex-grow: 1 !important
 +
        }
 +
 +
        .flex-sm-shrink-0 {
 +
            -ms-flex-negative: 0 !important;
 +
            flex-shrink: 0 !important
 +
        }
 +
 +
        .flex-sm-shrink-1 {
 +
            -ms-flex-negative: 1 !important;
 +
            flex-shrink: 1 !important
 +
        }
 +
 +
        .justify-content-sm-start {
 +
            -ms-flex-pack: start !important;
 +
            justify-content: flex-start !important
 +
        }
 +
 +
        .justify-content-sm-end {
 +
            -ms-flex-pack: end !important;
 +
            justify-content: flex-end !important
 +
        }
 +
 +
        .justify-content-sm-center {
 +
            -ms-flex-pack: center !important;
 +
            justify-content: center !important
 +
        }
 +
 +
        .justify-content-sm-between {
 +
            -ms-flex-pack: justify !important;
 +
            justify-content: space-between !important
 +
        }
 +
 +
        .justify-content-sm-around {
 +
            -ms-flex-pack: distribute !important;
 +
            justify-content: space-around !important
 +
        }
 +
 +
        .align-items-sm-start {
 +
            -ms-flex-align: start !important;
 +
            align-items: flex-start !important
 +
        }
 +
 +
        .align-items-sm-end {
 +
            -ms-flex-align: end !important;
 +
            align-items: flex-end !important
 +
        }
 +
 +
        .align-items-sm-center {
 +
            -ms-flex-align: center !important;
 +
            align-items: center !important
 +
        }
 +
 +
        .align-items-sm-baseline {
 +
            -ms-flex-align: baseline !important;
 +
            align-items: baseline !important
 +
        }
 +
 +
        .align-items-sm-stretch {
 +
            -ms-flex-align: stretch !important;
 +
            align-items: stretch !important
 +
        }
 +
 +
        .align-content-sm-start {
 +
            -ms-flex-line-pack: start !important;
 +
            align-content: flex-start !important
 +
        }
 +
 +
        .align-content-sm-end {
 +
            -ms-flex-line-pack: end !important;
 +
            align-content: flex-end !important
 +
        }
 +
 +
        .align-content-sm-center {
 +
            -ms-flex-line-pack: center !important;
 +
            align-content: center !important
 +
        }
 +
 +
        .align-content-sm-between {
 +
            -ms-flex-line-pack: justify !important;
 +
            align-content: space-between !important
 +
        }
 +
 +
        .align-content-sm-around {
 +
            -ms-flex-line-pack: distribute !important;
 +
            align-content: space-around !important
 +
        }
 +
 +
        .align-content-sm-stretch {
 +
            -ms-flex-line-pack: stretch !important;
 +
            align-content: stretch !important
 +
        }
 +
 +
        .align-self-sm-auto {
 +
            -ms-flex-item-align: auto !important;
 +
            align-self: auto !important
 +
        }
 +
 +
        .align-self-sm-start {
 +
            -ms-flex-item-align: start !important;
 +
            align-self: flex-start !important
 +
        }
 +
 +
        .align-self-sm-end {
 +
            -ms-flex-item-align: end !important;
 +
            align-self: flex-end !important
 +
        }
 +
 +
        .align-self-sm-center {
 +
            -ms-flex-item-align: center !important;
 +
            align-self: center !important
 +
        }
 +
 +
        .align-self-sm-baseline {
 +
            -ms-flex-item-align: baseline !important;
 +
            align-self: baseline !important
 +
        }
 +
 +
        .align-self-sm-stretch {
 +
            -ms-flex-item-align: stretch !important;
 +
            align-self: stretch !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 768px) {
 +
        .flex-md-row {
 +
            -ms-flex-direction: row !important;
 +
            flex-direction: row !important
 +
        }
 +
 +
        .flex-md-column {
 +
            -ms-flex-direction: column !important;
 +
            flex-direction: column !important
 +
        }
 +
 +
        .flex-md-row-reverse {
 +
            -ms-flex-direction: row-reverse !important;
 +
            flex-direction: row-reverse !important
 +
        }
 +
 +
        .flex-md-column-reverse {
 +
            -ms-flex-direction: column-reverse !important;
 +
            flex-direction: column-reverse !important
 +
        }
 +
 +
        .flex-md-wrap {
 +
            -ms-flex-wrap: wrap !important;
 +
            flex-wrap: wrap !important
 +
        }
 +
 +
        .flex-md-nowrap {
 +
            -ms-flex-wrap: nowrap !important;
 +
            flex-wrap: nowrap !important
 +
        }
 +
 +
        .flex-md-wrap-reverse {
 +
            -ms-flex-wrap: wrap-reverse !important;
 +
            flex-wrap: wrap-reverse !important
 +
        }
 +
 +
        .flex-md-fill {
 +
            -ms-flex: 1 1 auto !important;
 +
            flex: 1 1 auto !important
 +
        }
 +
 +
        .flex-md-grow-0 {
 +
            -ms-flex-positive: 0 !important;
 +
            flex-grow: 0 !important
 +
        }
 +
 +
        .flex-md-grow-1 {
 +
            -ms-flex-positive: 1 !important;
 +
            flex-grow: 1 !important
 +
        }
 +
 +
        .flex-md-shrink-0 {
 +
            -ms-flex-negative: 0 !important;
 +
            flex-shrink: 0 !important
 +
        }
 +
 +
        .flex-md-shrink-1 {
 +
            -ms-flex-negative: 1 !important;
 +
            flex-shrink: 1 !important
 +
        }
 +
 +
        .justify-content-md-start {
 +
            -ms-flex-pack: start !important;
 +
            justify-content: flex-start !important
 +
        }
 +
 +
        .justify-content-md-end {
 +
            -ms-flex-pack: end !important;
 +
            justify-content: flex-end !important
 +
        }
 +
 +
        .justify-content-md-center {
 +
            -ms-flex-pack: center !important;
 +
            justify-content: center !important
 +
        }
 +
 +
        .justify-content-md-between {
 +
            -ms-flex-pack: justify !important;
 +
            justify-content: space-between !important
 +
        }
 +
 +
        .justify-content-md-around {
 +
            -ms-flex-pack: distribute !important;
 +
            justify-content: space-around !important
 +
        }
 +
 +
        .align-items-md-start {
 +
            -ms-flex-align: start !important;
 +
            align-items: flex-start !important
 +
        }
 +
 +
        .align-items-md-end {
 +
            -ms-flex-align: end !important;
 +
            align-items: flex-end !important
 +
        }
 +
 +
        .align-items-md-center {
 +
            -ms-flex-align: center !important;
 +
            align-items: center !important
 +
        }
 +
 +
        .align-items-md-baseline {
 +
            -ms-flex-align: baseline !important;
 +
            align-items: baseline !important
 +
        }
 +
 +
        .align-items-md-stretch {
 +
            -ms-flex-align: stretch !important;
 +
            align-items: stretch !important
 +
        }
 +
 +
        .align-content-md-start {
 +
            -ms-flex-line-pack: start !important;
 +
            align-content: flex-start !important
 +
        }
 +
 +
        .align-content-md-end {
 +
            -ms-flex-line-pack: end !important;
 +
            align-content: flex-end !important
 +
        }
 +
 +
        .align-content-md-center {
 +
            -ms-flex-line-pack: center !important;
 +
            align-content: center !important
 +
        }
 +
 +
        .align-content-md-between {
 +
            -ms-flex-line-pack: justify !important;
 +
            align-content: space-between !important
 +
        }
 +
 +
        .align-content-md-around {
 +
            -ms-flex-line-pack: distribute !important;
 +
            align-content: space-around !important
 +
        }
 +
 +
        .align-content-md-stretch {
 +
            -ms-flex-line-pack: stretch !important;
 +
            align-content: stretch !important
 +
        }
 +
 +
        .align-self-md-auto {
 +
            -ms-flex-item-align: auto !important;
 +
            align-self: auto !important
 +
        }
 +
 +
        .align-self-md-start {
 +
            -ms-flex-item-align: start !important;
 +
            align-self: flex-start !important
 +
        }
 +
 +
        .align-self-md-end {
 +
            -ms-flex-item-align: end !important;
 +
            align-self: flex-end !important
 +
        }
 +
 +
        .align-self-md-center {
 +
            -ms-flex-item-align: center !important;
 +
            align-self: center !important
 +
        }
 +
 +
        .align-self-md-baseline {
 +
            -ms-flex-item-align: baseline !important;
 +
            align-self: baseline !important
 +
        }
 +
 +
        .align-self-md-stretch {
 +
            -ms-flex-item-align: stretch !important;
 +
            align-self: stretch !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 992px) {
 +
        .flex-lg-row {
 +
            -ms-flex-direction: row !important;
 +
            flex-direction: row !important
 +
        }
 +
 +
        .flex-lg-column {
 +
            -ms-flex-direction: column !important;
 +
            flex-direction: column !important
 +
        }
 +
 +
        .flex-lg-row-reverse {
 +
            -ms-flex-direction: row-reverse !important;
 +
            flex-direction: row-reverse !important
 +
        }
 +
 +
        .flex-lg-column-reverse {
 +
            -ms-flex-direction: column-reverse !important;
 +
            flex-direction: column-reverse !important
 +
        }
 +
 +
        .flex-lg-wrap {
 +
            -ms-flex-wrap: wrap !important;
 +
            flex-wrap: wrap !important
 +
        }
 +
 +
        .flex-lg-nowrap {
 +
            -ms-flex-wrap: nowrap !important;
 +
            flex-wrap: nowrap !important
 +
        }
 +
 +
        .flex-lg-wrap-reverse {
 +
            -ms-flex-wrap: wrap-reverse !important;
 +
            flex-wrap: wrap-reverse !important
 +
        }
 +
 +
        .flex-lg-fill {
 +
            -ms-flex: 1 1 auto !important;
 +
            flex: 1 1 auto !important
 +
        }
 +
 +
        .flex-lg-grow-0 {
 +
            -ms-flex-positive: 0 !important;
 +
            flex-grow: 0 !important
 +
        }
 +
 +
        .flex-lg-grow-1 {
 +
            -ms-flex-positive: 1 !important;
 +
            flex-grow: 1 !important
 +
        }
 +
 +
        .flex-lg-shrink-0 {
 +
            -ms-flex-negative: 0 !important;
 +
            flex-shrink: 0 !important
 +
        }
 +
 +
        .flex-lg-shrink-1 {
 +
            -ms-flex-negative: 1 !important;
 +
            flex-shrink: 1 !important
 +
        }
 +
 +
        .justify-content-lg-start {
 +
            -ms-flex-pack: start !important;
 +
            justify-content: flex-start !important
 +
        }
 +
 +
        .justify-content-lg-end {
 +
            -ms-flex-pack: end !important;
 +
            justify-content: flex-end !important
 +
        }
 +
 +
        .justify-content-lg-center {
 +
            -ms-flex-pack: center !important;
 +
            justify-content: center !important
 +
        }
 +
 +
        .justify-content-lg-between {
 +
            -ms-flex-pack: justify !important;
 +
            justify-content: space-between !important
 +
        }
 +
 +
        .justify-content-lg-around {
 +
            -ms-flex-pack: distribute !important;
 +
            justify-content: space-around !important
 +
        }
 +
 +
        .align-items-lg-start {
 +
            -ms-flex-align: start !important;
 +
            align-items: flex-start !important
 +
        }
 +
 +
        .align-items-lg-end {
 +
            -ms-flex-align: end !important;
 +
            align-items: flex-end !important
 +
        }
 +
 +
        .align-items-lg-center {
 +
            -ms-flex-align: center !important;
 +
            align-items: center !important
 +
        }
 +
 +
        .align-items-lg-baseline {
 +
            -ms-flex-align: baseline !important;
 +
            align-items: baseline !important
 +
        }
 +
 +
        .align-items-lg-stretch {
 +
            -ms-flex-align: stretch !important;
 +
            align-items: stretch !important
 +
        }
 +
 +
        .align-content-lg-start {
 +
            -ms-flex-line-pack: start !important;
 +
            align-content: flex-start !important
 +
        }
 +
 +
        .align-content-lg-end {
 +
            -ms-flex-line-pack: end !important;
 +
            align-content: flex-end !important
 +
        }
 +
 +
        .align-content-lg-center {
 +
            -ms-flex-line-pack: center !important;
 +
            align-content: center !important
 +
        }
 +
 +
        .align-content-lg-between {
 +
            -ms-flex-line-pack: justify !important;
 +
            align-content: space-between !important
 +
        }
 +
 +
        .align-content-lg-around {
 +
            -ms-flex-line-pack: distribute !important;
 +
            align-content: space-around !important
 +
        }
 +
 +
        .align-content-lg-stretch {
 +
            -ms-flex-line-pack: stretch !important;
 +
            align-content: stretch !important
 +
        }
 +
 +
        .align-self-lg-auto {
 +
            -ms-flex-item-align: auto !important;
 +
            align-self: auto !important
 +
        }
 +
 +
        .align-self-lg-start {
 +
            -ms-flex-item-align: start !important;
 +
            align-self: flex-start !important
 +
        }
 +
 +
        .align-self-lg-end {
 +
            -ms-flex-item-align: end !important;
 +
            align-self: flex-end !important
 +
        }
 +
 +
        .align-self-lg-center {
 +
            -ms-flex-item-align: center !important;
 +
            align-self: center !important
 +
        }
 +
 +
        .align-self-lg-baseline {
 +
            -ms-flex-item-align: baseline !important;
 +
            align-self: baseline !important
 +
        }
 +
 +
        .align-self-lg-stretch {
 +
            -ms-flex-item-align: stretch !important;
 +
            align-self: stretch !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 1200px) {
 +
        .flex-xl-row {
 +
            -ms-flex-direction: row !important;
 +
            flex-direction: row !important
 +
        }
 +
 +
        .flex-xl-column {
 +
            -ms-flex-direction: column !important;
 +
            flex-direction: column !important
 +
        }
 +
 +
        .flex-xl-row-reverse {
 +
            -ms-flex-direction: row-reverse !important;
 +
            flex-direction: row-reverse !important
 +
        }
 +
 +
        .flex-xl-column-reverse {
 +
            -ms-flex-direction: column-reverse !important;
 +
            flex-direction: column-reverse !important
 +
        }
 +
 +
        .flex-xl-wrap {
 +
            -ms-flex-wrap: wrap !important;
 +
            flex-wrap: wrap !important
 +
        }
 +
 +
        .flex-xl-nowrap {
 +
            -ms-flex-wrap: nowrap !important;
 +
            flex-wrap: nowrap !important
 +
        }
 +
 +
        .flex-xl-wrap-reverse {
 +
            -ms-flex-wrap: wrap-reverse !important;
 +
            flex-wrap: wrap-reverse !important
 +
        }
 +
 +
        .flex-xl-fill {
 +
            -ms-flex: 1 1 auto !important;
 +
            flex: 1 1 auto !important
 +
        }
 +
 +
        .flex-xl-grow-0 {
 +
            -ms-flex-positive: 0 !important;
 +
            flex-grow: 0 !important
 +
        }
 +
 +
        .flex-xl-grow-1 {
 +
            -ms-flex-positive: 1 !important;
 +
            flex-grow: 1 !important
 +
        }
 +
 +
        .flex-xl-shrink-0 {
 +
            -ms-flex-negative: 0 !important;
 +
            flex-shrink: 0 !important
 +
        }
 +
 +
        .flex-xl-shrink-1 {
 +
            -ms-flex-negative: 1 !important;
 +
            flex-shrink: 1 !important
 +
        }
 +
 +
        .justify-content-xl-start {
 +
            -ms-flex-pack: start !important;
 +
            justify-content: flex-start !important
 +
        }
 +
 +
        .justify-content-xl-end {
 +
            -ms-flex-pack: end !important;
 +
            justify-content: flex-end !important
 +
        }
 +
 +
        .justify-content-xl-center {
 +
            -ms-flex-pack: center !important;
 +
            justify-content: center !important
 +
        }
 +
 +
        .justify-content-xl-between {
 +
            -ms-flex-pack: justify !important;
 +
            justify-content: space-between !important
 +
        }
 +
 +
        .justify-content-xl-around {
 +
            -ms-flex-pack: distribute !important;
 +
            justify-content: space-around !important
 +
        }
 +
 +
        .align-items-xl-start {
 +
            -ms-flex-align: start !important;
 +
            align-items: flex-start !important
 +
        }
 +
 +
        .align-items-xl-end {
 +
            -ms-flex-align: end !important;
 +
            align-items: flex-end !important
 +
        }
 +
 +
        .align-items-xl-center {
 +
            -ms-flex-align: center !important;
 +
            align-items: center !important
 +
        }
 +
 +
        .align-items-xl-baseline {
 +
            -ms-flex-align: baseline !important;
 +
            align-items: baseline !important
 +
        }
 +
 +
        .align-items-xl-stretch {
 +
            -ms-flex-align: stretch !important;
 +
            align-items: stretch !important
 +
        }
 +
 +
        .align-content-xl-start {
 +
            -ms-flex-line-pack: start !important;
 +
            align-content: flex-start !important
 +
        }
 +
 +
        .align-content-xl-end {
 +
            -ms-flex-line-pack: end !important;
 +
            align-content: flex-end !important
 +
        }
 +
 +
        .align-content-xl-center {
 +
            -ms-flex-line-pack: center !important;
 +
            align-content: center !important
 +
        }
 +
 +
        .align-content-xl-between {
 +
            -ms-flex-line-pack: justify !important;
 +
            align-content: space-between !important
 +
        }
 +
 +
        .align-content-xl-around {
 +
            -ms-flex-line-pack: distribute !important;
 +
            align-content: space-around !important
 +
        }
 +
 +
        .align-content-xl-stretch {
 +
            -ms-flex-line-pack: stretch !important;
 +
            align-content: stretch !important
 +
        }
 +
 +
        .align-self-xl-auto {
 +
            -ms-flex-item-align: auto !important;
 +
            align-self: auto !important
 +
        }
 +
 +
        .align-self-xl-start {
 +
            -ms-flex-item-align: start !important;
 +
            align-self: flex-start !important
 +
        }
 +
 +
        .align-self-xl-end {
 +
            -ms-flex-item-align: end !important;
 +
            align-self: flex-end !important
 +
        }
 +
 +
        .align-self-xl-center {
 +
            -ms-flex-item-align: center !important;
 +
            align-self: center !important
 +
        }
 +
 +
        .align-self-xl-baseline {
 +
            -ms-flex-item-align: baseline !important;
 +
            align-self: baseline !important
 +
        }
 +
 +
        .align-self-xl-stretch {
 +
            -ms-flex-item-align: stretch !important;
 +
            align-self: stretch !important
 +
        }
 +
    }
 +
 +
    .float-left {
 +
        float: left !important
 +
    }
 +
 +
    .float-right {
 +
        float: right !important
 +
    }
 +
 +
    .float-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
 +
        }
 +
    }
 +
 +
    .position-static {
 +
        position: static !important
 +
    }
 +
 +
    .position-relative {
 +
        position: relative !important
 +
    }
 +
 +
    .position-absolute {
 +
        position: absolute !important
 +
    }
 +
 +
    .position-fixed {
 +
        position: fixed !important
 +
    }
 +
 +
    .position-sticky {
 +
        position: -webkit-sticky !important;
 +
        position: sticky !important
 +
    }
 +
 +
    .fixed-top {
 +
        position: fixed;
 +
        top: 0;
 +
        right: 0;
 +
        left: 0;
 +
        z-index: 1030
 +
    }
 +
 +
    .fixed-bottom {
 +
        position: fixed;
 +
        right: 0;
 +
        bottom: 0;
 +
        left: 0;
 +
        z-index: 1030
 +
    }
 +
 +
    @supports ((position:-webkit-sticky) or (position:sticky)) {
 +
        .sticky-top {
 +
            position: -webkit-sticky;
 +
            position: sticky;
 +
            top: 0;
 +
            z-index: 1020
 +
        }
 +
    }
 +
 +
    .sr-only {
 +
        position: absolute;
 +
        width: 1px;
 +
        height: 1px;
 +
        padding: 0;
 +
        overflow: hidden;
 +
        clip: rect(0, 0, 0, 0);
 +
        white-space: nowrap;
 +
        border: 0
 +
    }
 +
 +
    .sr-only-focusable:active, .sr-only-focusable:focus {
 +
        position: static;
 +
        width: auto;
 +
        height: auto;
 +
        overflow: visible;
 +
        clip: auto;
 +
        white-space: normal
 +
    }
 +
 +
    .shadow-sm {
 +
        box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important
 +
    }
 +
 +
    .shadow {
 +
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important
 +
    }
 +
 +
    .shadow-lg {
 +
        box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important
 +
    }
 +
 +
    .shadow-none {
 +
        box-shadow: none !important
 +
    }
 +
 +
    .w-25 {
 +
        width: 25% !important
 +
    }
 +
 +
    .w-50 {
 +
        width: 50% !important
 +
    }
 +
 +
    .w-75 {
 +
        width: 75% !important
 +
    }
 +
 +
    .w-100 {
 +
        width: 100% !important
 +
    }
 +
 +
    .w-auto {
 +
        width: auto !important
 +
    }
 +
 +
    .h-25 {
 +
        height: 25% !important
 +
    }
 +
 +
    .h-50 {
 +
        height: 50% !important
 +
    }
 +
 +
    .h-75 {
 +
        height: 75% !important
 +
    }
 +
 +
    .h-100 {
 +
        height: 100% !important
 +
    }
 +
 +
    .h-auto {
 +
        height: auto !important
 +
    }
 +
 +
    .mw-100 {
 +
        max-width: 100% !important
 +
    }
 +
 +
    .mh-100 {
 +
        max-height: 100% !important
 +
    }
 +
 +
    .m-0 {
 +
        margin: 0 !important
 +
    }
 +
 +
    .mt-0, .my-0 {
 +
        margin-top: 0 !important
 +
    }
 +
 +
    .mr-0, .mx-0 {
 +
        margin-right: 0 !important
 +
    }
 +
 +
    .mb-0, .my-0 {
 +
        margin-bottom: 0 !important
 +
    }
 +
 +
    .ml-0, .mx-0 {
 +
        margin-left: 0 !important
 +
    }
 +
 +
    .m-1 {
 +
        margin: .25rem !important
 +
    }
 +
 +
    .mt-1, .my-1 {
 +
        margin-top: .25rem !important
 +
    }
 +
 +
    .mr-1, .mx-1 {
 +
        margin-right: .25rem !important
 +
    }
 +
 +
    .mb-1, .my-1 {
 +
        margin-bottom: .25rem !important
 +
    }
 +
 +
    .ml-1, .mx-1 {
 +
        margin-left: .25rem !important
 +
    }
 +
 +
    .m-2 {
 +
        margin: .5rem !important
 +
    }
 +
 +
    .mt-2, .my-2 {
 +
        margin-top: .5rem !important
 +
    }
 +
 +
    .mr-2, .mx-2 {
 +
        margin-right: .5rem !important
 +
    }
 +
 +
    .mb-2, .my-2 {
 +
        margin-bottom: .5rem !important
 +
    }
 +
 +
    .ml-2, .mx-2 {
 +
        margin-left: .5rem !important
 +
    }
 +
 +
    .m-3 {
 +
        margin: 1rem !important
 +
    }
 +
 +
    .mt-3, .my-3 {
 +
        margin-top: 1rem !important
 +
    }
 +
 +
    .mr-3, .mx-3 {
 +
        margin-right: 1rem !important
 +
    }
 +
 +
    .mb-3, .my-3 {
 +
        margin-bottom: 1rem !important
 +
    }
 +
 +
    .ml-3, .mx-3 {
 +
        margin-left: 1rem !important
 +
    }
 +
 +
    .m-4 {
 +
        margin: 1.5rem !important
 +
    }
 +
 +
    .mt-4, .my-4 {
 +
        margin-top: 1.5rem !important
 +
    }
 +
 +
    .mr-4, .mx-4 {
 +
        margin-right: 1.5rem !important
 +
    }
 +
 +
    .mb-4, .my-4 {
 +
        margin-bottom: 1.5rem !important
 +
    }
 +
 +
    .ml-4, .mx-4 {
 +
        margin-left: 1.5rem !important
 +
    }
 +
 +
    .m-5 {
 +
        margin: 3rem !important
 +
    }
 +
 +
    .mt-5, .my-5 {
 +
        margin-top: 3rem !important
 +
    }
 +
 +
    .mr-5, .mx-5 {
 +
        margin-right: 3rem !important
 +
    }
 +
 +
    .mb-5, .my-5 {
 +
        margin-bottom: 3rem !important
 +
    }
 +
 +
    .ml-5, .mx-5 {
 +
        margin-left: 3rem !important
 +
    }
 +
 +
    .p-0 {
 +
        padding: 0 !important
 +
    }
 +
 +
    .pt-0, .py-0 {
 +
        padding-top: 0 !important
 +
    }
 +
 +
    .pr-0, .px-0 {
 +
        padding-right: 0 !important
 +
    }
 +
 +
    .pb-0, .py-0 {
 +
        padding-bottom: 0 !important
 +
    }
 +
 +
    .pl-0, .px-0 {
 +
        padding-left: 0 !important
 +
    }
 +
 +
    .p-1 {
 +
        padding: .25rem !important
 +
    }
 +
 +
    .pt-1, .py-1 {
 +
        padding-top: .25rem !important
 +
    }
 +
 +
    .pr-1, .px-1 {
 +
        padding-right: .25rem !important
 +
    }
 +
 +
    .pb-1, .py-1 {
 +
        padding-bottom: .25rem !important
 +
    }
 +
 +
    .pl-1, .px-1 {
 +
        padding-left: .25rem !important
 +
    }
 +
 +
    .p-2 {
 +
        padding: .5rem !important
 +
    }
 +
 +
    .pt-2, .py-2 {
 +
        padding-top: .5rem !important
 +
    }
 +
 +
    .pr-2, .px-2 {
 +
        padding-right: .5rem !important
 +
    }
 +
 +
    .pb-2, .py-2 {
 +
        padding-bottom: .5rem !important
 +
    }
 +
 +
    .pl-2, .px-2 {
 +
        padding-left: .5rem !important
 +
    }
 +
 +
    .p-3 {
 +
        padding: 1rem !important
 +
    }
 +
 +
    .pt-3, .py-3 {
 +
        padding-top: 1rem !important
 +
    }
 +
 +
    .pr-3, .px-3 {
 +
        padding-right: 1rem !important
 +
    }
 +
 +
    .pb-3, .py-3 {
 +
        padding-bottom: 1rem !important
 +
    }
 +
 +
    .pl-3, .px-3 {
 +
        padding-left: 1rem !important
 +
    }
 +
 +
    .p-4 {
 +
        padding: 1.5rem !important
 +
    }
 +
 +
    .pt-4, .py-4 {
 +
        padding-top: 1.5rem !important
 +
    }
 +
 +
    .pr-4, .px-4 {
 +
        padding-right: 1.5rem !important
 +
    }
 +
 +
    .pb-4, .py-4 {
 +
        padding-bottom: 1.5rem !important
 +
    }
 +
 +
    .pl-4, .px-4 {
 +
        padding-left: 1.5rem !important
 +
    }
 +
 +
    .p-5 {
 +
        padding: 3rem !important
 +
    }
 +
 +
    .pt-5, .py-5 {
 +
        padding-top: 3rem !important
 +
    }
 +
 +
    .pr-5, .px-5 {
 +
        padding-right: 3rem !important
 +
    }
 +
 +
    .pb-5, .py-5 {
 +
        padding-bottom: 3rem !important
 +
    }
 +
 +
    .pl-5, .px-5 {
 +
        padding-left: 3rem !important
 +
    }
 +
 +
    .m-auto {
 +
        margin: auto !important
 +
    }
 +
 +
    .mt-auto, .my-auto {
 +
        margin-top: auto !important
 +
    }
 +
 +
    .mr-auto, .mx-auto {
 +
        margin-right: auto !important
 +
    }
 +
 +
    .mb-auto, .my-auto {
 +
        margin-bottom: auto !important
 +
    }
 +
 +
    .ml-auto, .mx-auto {
 +
        margin-left: auto !important
 +
    }
 +
 +
    @media (min-width: 576px) {
 +
        .m-sm-0 {
 +
            margin: 0 !important
 +
        }
 +
 +
        .mt-sm-0, .my-sm-0 {
 +
            margin-top: 0 !important
 +
        }
 +
 +
        .mr-sm-0, .mx-sm-0 {
 +
            margin-right: 0 !important
 +
        }
 +
 +
        .mb-sm-0, .my-sm-0 {
 +
            margin-bottom: 0 !important
 +
        }
 +
 +
        .ml-sm-0, .mx-sm-0 {
 +
            margin-left: 0 !important
 +
        }
 +
 +
        .m-sm-1 {
 +
            margin: .25rem !important
 +
        }
 +
 +
        .mt-sm-1, .my-sm-1 {
 +
            margin-top: .25rem !important
 +
        }
 +
 +
        .mr-sm-1, .mx-sm-1 {
 +
            margin-right: .25rem !important
 +
        }
 +
 +
        .mb-sm-1, .my-sm-1 {
 +
            margin-bottom: .25rem !important
 +
        }
 +
 +
        .ml-sm-1, .mx-sm-1 {
 +
            margin-left: .25rem !important
 +
        }
 +
 +
        .m-sm-2 {
 +
            margin: .5rem !important
 +
        }
 +
 +
        .mt-sm-2, .my-sm-2 {
 +
            margin-top: .5rem !important
 +
        }
 +
 +
        .mr-sm-2, .mx-sm-2 {
 +
            margin-right: .5rem !important
 +
        }
 +
 +
        .mb-sm-2, .my-sm-2 {
 +
            margin-bottom: .5rem !important
 +
        }
 +
 +
        .ml-sm-2, .mx-sm-2 {
 +
            margin-left: .5rem !important
 +
        }
 +
 +
        .m-sm-3 {
 +
            margin: 1rem !important
 +
        }
 +
 +
        .mt-sm-3, .my-sm-3 {
 +
            margin-top: 1rem !important
 +
        }
 +
 +
        .mr-sm-3, .mx-sm-3 {
 +
            margin-right: 1rem !important
 +
        }
 +
 +
        .mb-sm-3, .my-sm-3 {
 +
            margin-bottom: 1rem !important
 +
        }
 +
 +
        .ml-sm-3, .mx-sm-3 {
 +
            margin-left: 1rem !important
 +
        }
 +
 +
        .m-sm-4 {
 +
            margin: 1.5rem !important
 +
        }
 +
 +
        .mt-sm-4, .my-sm-4 {
 +
            margin-top: 1.5rem !important
 +
        }
 +
 +
        .mr-sm-4, .mx-sm-4 {
 +
            margin-right: 1.5rem !important
 +
        }
 +
 +
        .mb-sm-4, .my-sm-4 {
 +
            margin-bottom: 1.5rem !important
 +
        }
 +
 +
        .ml-sm-4, .mx-sm-4 {
 +
            margin-left: 1.5rem !important
 +
        }
 +
 +
        .m-sm-5 {
 +
            margin: 3rem !important
 +
        }
 +
 +
        .mt-sm-5, .my-sm-5 {
 +
            margin-top: 3rem !important
 +
        }
 +
 +
        .mr-sm-5, .mx-sm-5 {
 +
            margin-right: 3rem !important
 +
        }
 +
 +
        .mb-sm-5, .my-sm-5 {
 +
            margin-bottom: 3rem !important
 +
        }
 +
 +
        .ml-sm-5, .mx-sm-5 {
 +
            margin-left: 3rem !important
 +
        }
 +
 +
        .p-sm-0 {
 +
            padding: 0 !important
 +
        }
 +
 +
        .pt-sm-0, .py-sm-0 {
 +
            padding-top: 0 !important
 +
        }
 +
 +
        .pr-sm-0, .px-sm-0 {
 +
            padding-right: 0 !important
 +
        }
 +
 +
        .pb-sm-0, .py-sm-0 {
 +
            padding-bottom: 0 !important
 +
        }
 +
 +
        .pl-sm-0, .px-sm-0 {
 +
            padding-left: 0 !important
 +
        }
 +
 +
        .p-sm-1 {
 +
            padding: .25rem !important
 +
        }
 +
 +
        .pt-sm-1, .py-sm-1 {
 +
            padding-top: .25rem !important
 +
        }
 +
 +
        .pr-sm-1, .px-sm-1 {
 +
            padding-right: .25rem !important
 +
        }
 +
 +
        .pb-sm-1, .py-sm-1 {
 +
            padding-bottom: .25rem !important
 +
        }
 +
 +
        .pl-sm-1, .px-sm-1 {
 +
            padding-left: .25rem !important
 +
        }
 +
 +
        .p-sm-2 {
 +
            padding: .5rem !important
 +
        }
 +
 +
        .pt-sm-2, .py-sm-2 {
 +
            padding-top: .5rem !important
 +
        }
 +
 +
        .pr-sm-2, .px-sm-2 {
 +
            padding-right: .5rem !important
 +
        }
 +
 +
        .pb-sm-2, .py-sm-2 {
 +
            padding-bottom: .5rem !important
 +
        }
 +
 +
        .pl-sm-2, .px-sm-2 {
 +
            padding-left: .5rem !important
 +
        }
 +
 +
        .p-sm-3 {
 +
            padding: 1rem !important
 +
        }
 +
 +
        .pt-sm-3, .py-sm-3 {
 +
            padding-top: 1rem !important
 +
        }
 +
 +
        .pr-sm-3, .px-sm-3 {
 +
            padding-right: 1rem !important
 +
        }
 +
 +
        .pb-sm-3, .py-sm-3 {
 +
            padding-bottom: 1rem !important
 +
        }
 +
 +
        .pl-sm-3, .px-sm-3 {
 +
            padding-left: 1rem !important
 +
        }
 +
 +
        .p-sm-4 {
 +
            padding: 1.5rem !important
 +
        }
 +
 +
        .pt-sm-4, .py-sm-4 {
 +
            padding-top: 1.5rem !important
 +
        }
 +
 +
        .pr-sm-4, .px-sm-4 {
 +
            padding-right: 1.5rem !important
 +
        }
 +
 +
        .pb-sm-4, .py-sm-4 {
 +
            padding-bottom: 1.5rem !important
 +
        }
 +
 +
        .pl-sm-4, .px-sm-4 {
 +
            padding-left: 1.5rem !important
 +
        }
 +
 +
        .p-sm-5 {
 +
            padding: 3rem !important
 +
        }
 +
 +
        .pt-sm-5, .py-sm-5 {
 +
            padding-top: 3rem !important
 +
        }
 +
 +
        .pr-sm-5, .px-sm-5 {
 +
            padding-right: 3rem !important
 +
        }
 +
 +
        .pb-sm-5, .py-sm-5 {
 +
            padding-bottom: 3rem !important
 +
        }
 +
 +
        .pl-sm-5, .px-sm-5 {
 +
            padding-left: 3rem !important
 +
        }
 +
 +
        .m-sm-auto {
 +
            margin: auto !important
 +
        }
 +
 +
        .mt-sm-auto, .my-sm-auto {
 +
            margin-top: auto !important
 +
        }
 +
 +
        .mr-sm-auto, .mx-sm-auto {
 +
            margin-right: auto !important
 +
        }
 +
 +
        .mb-sm-auto, .my-sm-auto {
 +
            margin-bottom: auto !important
 +
        }
 +
 +
        .ml-sm-auto, .mx-sm-auto {
 +
            margin-left: auto !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 768px) {
 +
        .m-md-0 {
 +
            margin: 0 !important
 +
        }
 +
 +
        .mt-md-0, .my-md-0 {
 +
            margin-top: 0 !important
 +
        }
 +
 +
        .mr-md-0, .mx-md-0 {
 +
            margin-right: 0 !important
 +
        }
 +
 +
        .mb-md-0, .my-md-0 {
 +
            margin-bottom: 0 !important
 +
        }
 +
 +
        .ml-md-0, .mx-md-0 {
 +
            margin-left: 0 !important
 +
        }
 +
 +
        .m-md-1 {
 +
            margin: .25rem !important
 +
        }
 +
 +
        .mt-md-1, .my-md-1 {
 +
            margin-top: .25rem !important
 +
        }
 +
 +
        .mr-md-1, .mx-md-1 {
 +
            margin-right: .25rem !important
 +
        }
 +
 +
        .mb-md-1, .my-md-1 {
 +
            margin-bottom: .25rem !important
 +
        }
 +
 +
        .ml-md-1, .mx-md-1 {
 +
            margin-left: .25rem !important
 +
        }
 +
 +
        .m-md-2 {
 +
            margin: .5rem !important
 +
        }
 +
 +
        .mt-md-2, .my-md-2 {
 +
            margin-top: .5rem !important
 +
        }
 +
 +
        .mr-md-2, .mx-md-2 {
 +
            margin-right: .5rem !important
 +
        }
 +
 +
        .mb-md-2, .my-md-2 {
 +
            margin-bottom: .5rem !important
 +
        }
 +
 +
        .ml-md-2, .mx-md-2 {
 +
            margin-left: .5rem !important
 +
        }
 +
 +
        .m-md-3 {
 +
            margin: 1rem !important
 +
        }
 +
 +
        .mt-md-3, .my-md-3 {
 +
            margin-top: 1rem !important
 +
        }
 +
 +
        .mr-md-3, .mx-md-3 {
 +
            margin-right: 1rem !important
 +
        }
 +
 +
        .mb-md-3, .my-md-3 {
 +
            margin-bottom: 1rem !important
 +
        }
 +
 +
        .ml-md-3, .mx-md-3 {
 +
            margin-left: 1rem !important
 +
        }
 +
 +
        .m-md-4 {
 +
            margin: 1.5rem !important
 +
        }
 +
 +
        .mt-md-4, .my-md-4 {
 +
            margin-top: 1.5rem !important
 +
        }
 +
 +
        .mr-md-4, .mx-md-4 {
 +
            margin-right: 1.5rem !important
 +
        }
 +
 +
        .mb-md-4, .my-md-4 {
 +
            margin-bottom: 1.5rem !important
 +
        }
 +
 +
        .ml-md-4, .mx-md-4 {
 +
            margin-left: 1.5rem !important
 +
        }
 +
 +
        .m-md-5 {
 +
            margin: 3rem !important
 +
        }
 +
 +
        .mt-md-5, .my-md-5 {
 +
            margin-top: 3rem !important
 +
        }
 +
 +
        .mr-md-5, .mx-md-5 {
 +
            margin-right: 3rem !important
 +
        }
 +
 +
        .mb-md-5, .my-md-5 {
 +
            margin-bottom: 3rem !important
 +
        }
 +
 +
        .ml-md-5, .mx-md-5 {
 +
            margin-left: 3rem !important
 +
        }
 +
 +
        .p-md-0 {
 +
            padding: 0 !important
 +
        }
 +
 +
        .pt-md-0, .py-md-0 {
 +
            padding-top: 0 !important
 +
        }
 +
 +
        .pr-md-0, .px-md-0 {
 +
            padding-right: 0 !important
 +
        }
 +
 +
        .pb-md-0, .py-md-0 {
 +
            padding-bottom: 0 !important
 +
        }
 +
 +
        .pl-md-0, .px-md-0 {
 +
            padding-left: 0 !important
 +
        }
 +
 +
        .p-md-1 {
 +
            padding: .25rem !important
 +
        }
 +
 +
        .pt-md-1, .py-md-1 {
 +
            padding-top: .25rem !important
 +
        }
 +
 +
        .pr-md-1, .px-md-1 {
 +
            padding-right: .25rem !important
 +
        }
 +
 +
        .pb-md-1, .py-md-1 {
 +
            padding-bottom: .25rem !important
 +
        }
 +
 +
        .pl-md-1, .px-md-1 {
 +
            padding-left: .25rem !important
 +
        }
 +
 +
        .p-md-2 {
 +
            padding: .5rem !important
 +
        }
 +
 +
        .pt-md-2, .py-md-2 {
 +
            padding-top: .5rem !important
 +
        }
 +
 +
        .pr-md-2, .px-md-2 {
 +
            padding-right: .5rem !important
 +
        }
 +
 +
        .pb-md-2, .py-md-2 {
 +
            padding-bottom: .5rem !important
 +
        }
 +
 +
        .pl-md-2, .px-md-2 {
 +
            padding-left: .5rem !important
 +
        }
 +
 +
        .p-md-3 {
 +
            padding: 1rem !important
 +
        }
 +
 +
        .pt-md-3, .py-md-3 {
 +
            padding-top: 1rem !important
 +
        }
 +
 +
        .pr-md-3, .px-md-3 {
 +
            padding-right: 1rem !important
 +
        }
 +
 +
        .pb-md-3, .py-md-3 {
 +
            padding-bottom: 1rem !important
 +
        }
 +
 +
        .pl-md-3, .px-md-3 {
 +
            padding-left: 1rem !important
 +
        }
 +
 +
        .p-md-4 {
 +
            padding: 1.5rem !important
 +
        }
 +
 +
        .pt-md-4, .py-md-4 {
 +
            padding-top: 1.5rem !important
 +
        }
 +
 +
        .pr-md-4, .px-md-4 {
 +
            padding-right: 1.5rem !important
 +
        }
 +
 +
        .pb-md-4, .py-md-4 {
 +
            padding-bottom: 1.5rem !important
 +
        }
 +
 +
        .pl-md-4, .px-md-4 {
 +
            padding-left: 1.5rem !important
 +
        }
 +
 +
        .p-md-5 {
 +
            padding: 3rem !important
 +
        }
 +
 +
        .pt-md-5, .py-md-5 {
 +
            padding-top: 3rem !important
 +
        }
 +
 +
        .pr-md-5, .px-md-5 {
 +
            padding-right: 3rem !important
 +
        }
 +
 +
        .pb-md-5, .py-md-5 {
 +
            padding-bottom: 3rem !important
 +
        }
 +
 +
        .pl-md-5, .px-md-5 {
 +
            padding-left: 3rem !important
 +
        }
 +
 +
        .m-md-auto {
 +
            margin: auto !important
 +
        }
 +
 +
        .mt-md-auto, .my-md-auto {
 +
            margin-top: auto !important
 +
        }
 +
 +
        .mr-md-auto, .mx-md-auto {
 +
            margin-right: auto !important
 +
        }
 +
 +
        .mb-md-auto, .my-md-auto {
 +
            margin-bottom: auto !important
 +
        }
 +
 +
        .ml-md-auto, .mx-md-auto {
 +
            margin-left: auto !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 992px) {
 +
        .m-lg-0 {
 +
            margin: 0 !important
 +
        }
 +
 +
        .mt-lg-0, .my-lg-0 {
 +
            margin-top: 0 !important
 +
        }
 +
 +
        .mr-lg-0, .mx-lg-0 {
 +
            margin-right: 0 !important
 +
        }
 +
 +
        .mb-lg-0, .my-lg-0 {
 +
            margin-bottom: 0 !important
 +
        }
 +
 +
        .ml-lg-0, .mx-lg-0 {
 +
            margin-left: 0 !important
 +
        }
 +
 +
        .m-lg-1 {
 +
            margin: .25rem !important
 +
        }
 +
 +
        .mt-lg-1, .my-lg-1 {
 +
            margin-top: .25rem !important
 +
        }
 +
 +
        .mr-lg-1, .mx-lg-1 {
 +
            margin-right: .25rem !important
 +
        }
 +
 +
        .mb-lg-1, .my-lg-1 {
 +
            margin-bottom: .25rem !important
 +
        }
 +
 +
        .ml-lg-1, .mx-lg-1 {
 +
            margin-left: .25rem !important
 +
        }
 +
 +
        .m-lg-2 {
 +
            margin: .5rem !important
 +
        }
 +
 +
        .mt-lg-2, .my-lg-2 {
 +
            margin-top: .5rem !important
 +
        }
 +
 +
        .mr-lg-2, .mx-lg-2 {
 +
            margin-right: .5rem !important
 +
        }
 +
 +
        .mb-lg-2, .my-lg-2 {
 +
            margin-bottom: .5rem !important
 +
        }
 +
 +
        .ml-lg-2, .mx-lg-2 {
 +
            margin-left: .5rem !important
 +
        }
 +
 +
        .m-lg-3 {
 +
            margin: 1rem !important
 +
        }
 +
 +
        .mt-lg-3, .my-lg-3 {
 +
            margin-top: 1rem !important
 +
        }
 +
 +
        .mr-lg-3, .mx-lg-3 {
 +
            margin-right: 1rem !important
 +
        }
 +
 +
        .mb-lg-3, .my-lg-3 {
 +
            margin-bottom: 1rem !important
 +
        }
 +
 +
        .ml-lg-3, .mx-lg-3 {
 +
            margin-left: 1rem !important
 +
        }
 +
 +
        .m-lg-4 {
 +
            margin: 1.5rem !important
 +
        }
 +
 +
        .mt-lg-4, .my-lg-4 {
 +
            margin-top: 1.5rem !important
 +
        }
 +
 +
        .mr-lg-4, .mx-lg-4 {
 +
            margin-right: 1.5rem !important
 +
        }
 +
 +
        .mb-lg-4, .my-lg-4 {
 +
            margin-bottom: 1.5rem !important
 +
        }
 +
 +
        .ml-lg-4, .mx-lg-4 {
 +
            margin-left: 1.5rem !important
 +
        }
 +
 +
        .m-lg-5 {
 +
            margin: 3rem !important
 +
        }
 +
 +
        .mt-lg-5, .my-lg-5 {
 +
            margin-top: 3rem !important
 +
        }
 +
 +
        .mr-lg-5, .mx-lg-5 {
 +
            margin-right: 3rem !important
 +
        }
 +
 +
        .mb-lg-5, .my-lg-5 {
 +
            margin-bottom: 3rem !important
 +
        }
 +
 +
        .ml-lg-5, .mx-lg-5 {
 +
            margin-left: 3rem !important
 +
        }
 +
 +
        .p-lg-0 {
 +
            padding: 0 !important
 +
        }
 +
 +
        .pt-lg-0, .py-lg-0 {
 +
            padding-top: 0 !important
 +
        }
 +
 +
        .pr-lg-0, .px-lg-0 {
 +
            padding-right: 0 !important
 +
        }
 +
 +
        .pb-lg-0, .py-lg-0 {
 +
            padding-bottom: 0 !important
 +
        }
 +
 +
        .pl-lg-0, .px-lg-0 {
 +
            padding-left: 0 !important
 +
        }
 +
 +
        .p-lg-1 {
 +
            padding: .25rem !important
 +
        }
 +
 +
        .pt-lg-1, .py-lg-1 {
 +
            padding-top: .25rem !important
 +
        }
 +
 +
        .pr-lg-1, .px-lg-1 {
 +
            padding-right: .25rem !important
 +
        }
 +
 +
        .pb-lg-1, .py-lg-1 {
 +
            padding-bottom: .25rem !important
 +
        }
 +
 +
        .pl-lg-1, .px-lg-1 {
 +
            padding-left: .25rem !important
 +
        }
 +
 +
        .p-lg-2 {
 +
            padding: .5rem !important
 +
        }
 +
 +
        .pt-lg-2, .py-lg-2 {
 +
            padding-top: .5rem !important
 +
        }
 +
 +
        .pr-lg-2, .px-lg-2 {
 +
            padding-right: .5rem !important
 +
        }
 +
 +
        .pb-lg-2, .py-lg-2 {
 +
            padding-bottom: .5rem !important
 +
        }
 +
 +
        .pl-lg-2, .px-lg-2 {
 +
            padding-left: .5rem !important
 +
        }
 +
 +
        .p-lg-3 {
 +
            padding: 1rem !important
 +
        }
 +
 +
        .pt-lg-3, .py-lg-3 {
 +
            padding-top: 1rem !important
 +
        }
 +
 +
        .pr-lg-3, .px-lg-3 {
 +
            padding-right: 1rem !important
 +
        }
 +
 +
        .pb-lg-3, .py-lg-3 {
 +
            padding-bottom: 1rem !important
 +
        }
 +
 +
        .pl-lg-3, .px-lg-3 {
 +
            padding-left: 1rem !important
 +
        }
 +
 +
        .p-lg-4 {
 +
            padding: 1.5rem !important
 +
        }
 +
 +
        .pt-lg-4, .py-lg-4 {
 +
            padding-top: 1.5rem !important
 +
        }
 +
 +
        .pr-lg-4, .px-lg-4 {
 +
            padding-right: 1.5rem !important
 +
        }
 +
 +
        .pb-lg-4, .py-lg-4 {
 +
            padding-bottom: 1.5rem !important
 +
        }
 +
 +
        .pl-lg-4, .px-lg-4 {
 +
            padding-left: 1.5rem !important
 +
        }
 +
 +
        .p-lg-5 {
 +
            padding: 3rem !important
 +
        }
 +
 +
        .pt-lg-5, .py-lg-5 {
 +
            padding-top: 3rem !important
 +
        }
 +
 +
        .pr-lg-5, .px-lg-5 {
 +
            padding-right: 3rem !important
 +
        }
 +
 +
        .pb-lg-5, .py-lg-5 {
 +
            padding-bottom: 3rem !important
 +
        }
 +
 +
        .pl-lg-5, .px-lg-5 {
 +
            padding-left: 3rem !important
 +
        }
 +
 +
        .m-lg-auto {
 +
            margin: auto !important
 +
        }
 +
 +
        .mt-lg-auto, .my-lg-auto {
 +
            margin-top: auto !important
 +
        }
 +
 +
        .mr-lg-auto, .mx-lg-auto {
 +
            margin-right: auto !important
 +
        }
 +
 +
        .mb-lg-auto, .my-lg-auto {
 +
            margin-bottom: auto !important
 +
        }
 +
 +
        .ml-lg-auto, .mx-lg-auto {
 +
            margin-left: auto !important
 +
        }
 +
    }
 +
 +
    @media (min-width: 1200px) {
 +
        .m-xl-0 {
 +
            margin: 0 !important
 +
        }
 +
 +
        .mt-xl-0, .my-xl-0 {
 +
            margin-top: 0 !important
 +
        }
 +
 +
        .mr-xl-0, .mx-xl-0 {
 +
            margin-right: 0 !important
 +
        }
 +
 +
        .mb-xl-0, .my-xl-0 {
 +
            margin-bottom: 0 !important
 +
        }
 +
 +
        .ml-xl-0, .mx-xl-0 {
 +
            margin-left: 0 !important
 +
        }
 +
 +
        .m-xl-1 {
 +
            margin: .25rem !important
 +
        }
 +
 +
        .mt-xl-1, .my-xl-1 {
 +
            margin-top: .25rem !important
 +
        }
 +
 +
        .mr-xl-1, .mx-xl-1 {
 +
            margin-right: .25rem !important
 +
        }
 +
 +
        .mb-xl-1, .my-xl-1 {
 +
            margin-bottom: .25rem !important
 +
        }
 +
 +
        .ml-xl-1, .mx-xl-1 {
 +
            margin-left: .25rem !important
 +
        }
 +
 +
        .m-xl-2 {
 +
            margin: .5rem !important
 +
        }
 +
 +
        .mt-xl-2, .my-xl-2 {
 +
            margin-top: .5rem !important
 +
        }
 +
 +
        .mr-xl-2, .mx-xl-2 {
 +
            margin-right: .5rem !important
 +
        }
 +
 +
        .mb-xl-2, .my-xl-2 {
 +
            margin-bottom: .5rem !important
 +
        }
 +
 +
        .ml-xl-2, .mx-xl-2 {
 +
            margin-left: .5rem !important
 +
        }
 +
 +
        .m-xl-3 {
 +
            margin: 1rem !important
 +
        }
 +
 +
        .mt-xl-3, .my-xl-3 {
 +
            margin-top: 1rem !important
 +
        }
 +
 +
        .mr-xl-3, .mx-xl-3 {
 +
            margin-right: 1rem !important
 +
        }
 +
 +
        .mb-xl-3, .my-xl-3 {
 +
            margin-bottom: 1rem !important
 +
        }
 +
 +
        .ml-xl-3, .mx-xl-3 {
 +
            margin-left: 1rem !important
 +
        }
 +
 +
        .m-xl-4 {
 +
            margin: 1.5rem !important
 +
        }
 +
 +
        .mt-xl-4, .my-xl-4 {
 +
            margin-top: 1.5rem !important
 +
        }
 +
 +
        .mr-xl-4, .mx-xl-4 {
 +
            margin-right: 1.5rem !important
 +
        }
 +
 +
        .mb-xl-4, .my-xl-4 {
 +
            margin-bottom: 1.5rem !important
 +
        }
 +
 +
        .ml-xl-4, .mx-xl-4 {
 +
            margin-left: 1.5rem !important
 +
        }
 +
 +
        .m-xl-5 {
 +
            margin: 3rem !important
 +
        }
 +
 +
        .mt-xl-5, .my-xl-5 {
 +
            margin-top: 3rem !important
 +
        }
 +
 +
        .mr-xl-5, .mx-xl-5 {
 +
            margin-right: 3rem !important
 +
        }
 +
 +
        .mb-xl-5, .my-xl-5 {
 +
            margin-bottom: 3rem !important
 +
        }
 +
 +
        .ml-xl-5, .mx-xl-5 {
 +
            margin-left: 3rem !important
 +
        }
 +
 +
        .p-xl-0 {
 +
            padding: 0 !important
 +
        }
 +
 +
        .pt-xl-0, .py-xl-0 {
 +
            padding-top: 0 !important
 +
        }
 +
 +
        .pr-xl-0, .px-xl-0 {
 +
            padding-right: 0 !important
 +
        }
 +
 +
        .pb-xl-0, .py-xl-0 {
 +
            padding-bottom: 0 !important
 +
        }
 +
 +
        .pl-xl-0, .px-xl-0 {
 +
            padding-left: 0 !important
 +
        }
 +
 +
        .p-xl-1 {
 +
            padding: .25rem !important
 +
        }
 +
 +
        .pt-xl-1, .py-xl-1 {
 +
            padding-top: .25rem !important
 +
        }
 +
 +
        .pr-xl-1, .px-xl-1 {
 +
            padding-right: .25rem !important
 +
        }
 +
 +
        .pb-xl-1, .py-xl-1 {
 +
            padding-bottom: .25rem !important
 +
        }
 +
 +
        .pl-xl-1, .px-xl-1 {
 +
            padding-left: .25rem !important
 +
        }
 +
 +
        .p-xl-2 {
 +
            padding: .5rem !important
 +
        }
 +
 +
        .pt-xl-2, .py-xl-2 {
 +
            padding-top: .5rem !important
 +
        }
 +
 +
        .pr-xl-2, .px-xl-2 {
 +
            padding-right: .5rem !important
 +
        }
 +
 +
        .pb-xl-2, .py-xl-2 {
 +
            padding-bottom: .5rem !important
 +
        }
 +
 +
        .pl-xl-2, .px-xl-2 {
 +
            padding-left: .5rem !important
 +
        }
 +
 +
        .p-xl-3 {
 +
            padding: 1rem !important
 +
        }
 +
 +
        .pt-xl-3, .py-xl-3 {
 +
            padding-top: 1rem !important
 +
        }
 +
 +
        .pr-xl-3, .px-xl-3 {
 +
            padding-right: 1rem !important
 +
        }
 +
 +
        .pb-xl-3, .py-xl-3 {
 +
            padding-bottom: 1rem !important
 +
        }
 +
 +
        .pl-xl-3, .px-xl-3 {
 +
            padding-left: 1rem !important
 +
        }
 +
 +
        .p-xl-4 {
 +
            padding: 1.5rem !important
 +
        }
 +
 +
        .pt-xl-4, .py-xl-4 {
 +
            padding-top: 1.5rem !important
 +
        }
 +
 +
        .pr-xl-4, .px-xl-4 {
 +
            padding-right: 1.5rem !important
 +
        }
 +
 +
        .pb-xl-4, .py-xl-4 {
 +
            padding-bottom: 1.5rem !important
 +
        }
 +
 +
        .pl-xl-4, .px-xl-4 {
 +
            padding-left: 1.5rem !important
 +
        }
 +
 +
        .p-xl-5 {
 +
            padding: 3rem !important
 +
        }
 +
 +
        .pt-xl-5, .py-xl-5 {
 +
            padding-top: 3rem !important
 +
        }
 +
 +
        .pr-xl-5, .px-xl-5 {
 +
            padding-right: 3rem !important
 +
        }
 +
 +
        .pb-xl-5, .py-xl-5 {
 +
            padding-bottom: 3rem !important
 +
        }
 +
 +
        .pl-xl-5, .px-xl-5 {
 +
            padding-left: 3rem !important
 +
        }
 +
 +
        .m-xl-auto {
 +
            margin: auto !important
 +
        }
 +
 +
        .mt-xl-auto, .my-xl-auto {
 +
            margin-top: auto !important
 +
        }
 +
 +
        .mr-xl-auto, .mx-xl-auto {
 +
            margin-right: auto !important
 +
        }
 +
 +
        .mb-xl-auto, .my-xl-auto {
 +
            margin-bottom: auto !important
 +
        }
 +
 +
        .ml-xl-auto, .mx-xl-auto {
 +
            margin-left: auto !important
 +
        }
 +
    }
 +
 +
    .text-monospace {
 +
        font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
 +
    }
 +
 +
    .text-justify {
 +
        text-align: justify !important
 +
    }
 +
 +
    .text-nowrap {
 +
        white-space: nowrap !important
 +
    }
 +
 +
    .text-truncate {
 +
        overflow: hidden;
 +
        text-overflow: ellipsis;
 +
        white-space: nowrap
 +
    }
 +
 +
    .text-left {
 +
        text-align: left !important
 +
    }
 +
 +
    .text-right {
 +
        text-align: right !important
 +
    }
 +
 +
    .text-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-light {
 +
        font-weight: 300 !important
 +
    }
 +
 +
    .font-weight-normal {
 +
        font-weight: 400 !important
 +
    }
 +
 +
    .font-weight-bold {
 +
        font-weight: 700 !important
 +
    }
 +
 +
    .font-italic {
 +
        font-style: italic !important
 +
    }
 +
 +
    .text-white {
 +
        color: #fff !important
 +
    }
 +
 +
    .text-primary {
 +
        color: #007bff !important
 +
    }
 +
 +
    a.text-primary:focus, a.text-primary:hover {
 +
        color: #0062cc !important
 +
    }
 +
 +
    .text-secondary {
 +
        color: #6c757d !important
 +
    }
 +
 +
    a.text-secondary:focus, a.text-secondary:hover {
 +
        color: #545b62 !important
 +
    }
 +
 +
    .text-success {
 +
        color: #28a745 !important
 +
    }
 +
 +
    a.text-success:focus, a.text-success:hover {
 +
        color: #1e7e34 !important
 +
    }
 +
 +
    .text-info {
 +
        color: #17a2b8 !important
 +
    }
 +
 +
    a.text-info:focus, a.text-info:hover {
 +
        color: #117a8b !important
 +
    }
 +
 +
    .text-warning {
 +
        color: #ffc107 !important
 +
    }
 +
 +
    a.text-warning:focus, a.text-warning:hover {
 +
        color: #d39e00 !important
 +
    }
 +
 +
    .text-danger {
 +
        color: #dc3545 !important
 +
    }
 +
 +
    a.text-danger:focus, a.text-danger:hover {
 +
        color: #bd2130 !important
 +
    }
 +
 +
    .text-light {
 +
        color: #f8f9fa !important
 +
    }
 +
 +
    a.text-light:focus, a.text-light:hover {
 +
        color: #dae0e5 !important
 +
    }
 +
 +
    .text-dark {
 +
        color: #343a40 !important
 +
    }
 +
 +
    a.text-dark:focus, a.text-dark:hover {
 +
        color: #1d2124 !important
 +
    }
 +
 +
    .text-body {
 +
        color: #212529 !important
 +
    }
 +
 +
    .text-muted {
 +
        color: #6c757d !important
 +
    }
 +
 +
    .text-black-50 {
 +
        color: rgba(0, 0, 0, .5) !important
 +
    }
 +
 +
    .text-white-50 {
 +
        color: rgba(255, 255, 255, .5) !important
 +
    }
 +
 +
    .text-hide {
 +
        font: 0/0 a;
 +
        color: transparent;
 +
        text-shadow: none;
 +
        background-color: transparent;
 +
        border: 0
 +
    }
 +
 +
    .visible {
 +
        visibility: visible !important
 +
    }
 +
 +
    .invisible {
 +
        visibility: hidden !important
 +
    }
 +
 +
    @media print {
 +
        *, ::after, ::before {
 +
            text-shadow: none !important;
 +
            box-shadow: none !important
 +
        }
 +
 +
        a:not(.btn) {
 +
            text-decoration: underline
 +
        }
 +
 +
        abbr[title]::after {
 +
            content: " (" attr(title) ")"
 +
        }
 +
 +
        pre {
 +
            white-space: pre-wrap !important
 +
        }
 +
 +
        blockquote, pre {
 +
            border: 1px solid #adb5bd;
 +
            page-break-inside: avoid
 +
        }
 +
 +
        thead {
 +
            display: table-header-group
 +
        }
 +
 +
        img, tr {
 +
            page-break-inside: avoid
 +
        }
 +
 +
        h2, h3, p {
 +
            orphans: 3;
 +
            widows: 3
 +
        }
 +
 +
        h2, h3 {
 +
            page-break-after: avoid
 +
        }
 +
 +
        @page {
 +
            size: a3
 +
        }
 +
 +
        body {
 +
            min-width: 992px !important
 +
        }
 +
 +
        .container {
 +
            min-width: 992px !important
 +
        }
 +
 +
        .navbar {
 +
            display: none
 +
        }
 +
 +
        .badge {
 +
            border: 1px solid #000
 +
        }
 +
 +
        .table {
 +
            border-collapse: collapse !important
 +
        }
 +
 +
        .table td, .table th {
 +
            background-color: #fff !important
 +
        }
 +
 +
        .table-bordered td, .table-bordered th {
 +
            border: 1px solid #dee2e6 !important
 +
        }
 +
    }
 +
 +
    /*# sourceMappingURL=bootstrap.min.css.map */
 +
</style>
 +
 +
 +
<style>
 +
    /* DEFAULT WIKI SETTINGS */
 +
    /**************************************************************************************************************************************************************************************************/
 +
 +
 +
    #home_logo, #sideMenu {
 +
        display: none;
 +
    }
 +
 +
    #sideMenu, #top_title, .patrollink {
 +
        display: none;
 +
    }
 +
 +
    #content {
 +
        margin-left: 0px;
 +
        margin-top: -7px;
 +
        padding: 0px;
 +
        width: 100%;
 +
        line-height: 1;
 +
    }
 +
 +
    body {
 +
        background-color: white;
 +
    }
 +
 +
    #bodyContent h1, #bodyContent h2, #bodyContent h3, #bodyContent h4, #bodyContent h5 {
 +
        margin-bottom: 0px;
 +
    }
 +
 +
    .judges-will-not-evaluate {
 +
        border: 4px solid #e4dede;
 +
        padding: 2% !important;
 +
        width: 92% !important;
 +
    }
 +
 +
    /* OWN Global Settings */
 +
    /**************************************************************************************************************************************************************************************************/
 +
    #top_menu_under {
 +
        height: 7px;
 +
    }
 +
 +
    #globalWrapper {
 +
        font-size: 100%;
 +
    }
 +
 +
    .fixed-top {
 +
        top: 16px;
 +
    }
 +
 +
    #HQ_page h1, h2, h3, h4, h5 {
 +
        font-family: inherit;
 +
    }
 +
 +
    /* table reboot from wiki */
 +
    #HQ_page th {
 +
        background-color: rgba(0, 158, 198, 0.3);
 +
        color: inherit;
 +
    }
 +
 +
    #HQ_page table .highlightBox {
 +
        background-color: rgba(0, 158, 198, 1);
 +
    }
 +
 +
    #HQ_page table {
 +
        margin-right: 0;
 +
        margin-left: 0;
 +
    }
 +
 +
    table {
 +
        text-align: left;
 +
    }
 +
 +
    .display-1 {
 +
        font-weight: 300 !important;
 +
    }
 +
 +
    #HQ_page p {
 +
        font-family: inherit;
 +
        font-size: 100%;
 +
    }
 +
 +
    #bodyContent a[href ^="https://"], .link-https {
 +
        padding-right: 0px;
 +
    }
 +
 +
    /* important for layout not overflow */
 +
    .row {
 +
        margin: 0;
 +
    }
 +
 +
    /* color codes */
 +
    .bg-phactory1 {
 +
        background-color: rgba(0, 203, 177, 1);
 +
        color: white;
 +
    }
 +
 +
    .bg-phactory1dark {
 +
        background-color: rgba(1, 101, 224, 1);
 +
        color: white;
 +
    }
 +
 +
    .text-phactory1 {
 +
        color: #009ec6;
 +
    }
 +
 +
    .text-phactory1dark {
 +
        color: rgba(1, 101, 224, 1);
 +
    }
 +
 +
    .text-phactoryTran {
 +
        background: -webkit-linear-gradient(rgba(1, 101, 224, 1), rgba(0, 203, 177, 1));
 +
        -webkit-background-clip: text;
 +
        -webkit-text-fill-color: transparent;
 +
    }
 +
 +
    .bg-phactory2 {
 +
        background-color: rgba(213, 59, 72, 1);
 +
        color: white;
 +
    }
 +
 +
    .bg-phactory2dark {
 +
        background-color: rgba(247, 148, 77, 1);
 +
        color: white;
 +
    }
 +
 +
    .text-phactory2 {
 +
        color: rgba(213, 59, 72, 1);
 +
    }
 +
 +
    .text-phactory2dark {
 +
        color: rgba(247, 148, 77, 1);
 +
    }
 +
 +
    .bg-phactory3 {
 +
        background-color: rgba(153, 0, 204, 1);
 +
        color: black;
 +
    }
 +
 +
    .bg-phactory3dark {
 +
        background-color: rgba(153, 51, 102, 1);
 +
        color: black;
 +
    }
 +
 +
    /* title area */
 +
    .pictureTitle {
 +
        height: 250px;
 +
        padding-top: 90px;
 +
    }
 +
 +
    /* social media */
 +
    .fa {
 +
        font-size: 20px;
 +
        text-align: center;
 +
        text-decoration: none;
 +
        color: white !important;
 +
        opacity: 0.7;
 +
    }
 +
 +
    .fa:hover {
 +
        text-decoration: none;
 +
        color: white;
 +
        opacity: 1;
 +
    }
 +
 +
 +
    /* sponsor foooter */
 +
    .sponsorLogo img {
 +
        padding: 8px;
 +
    }
 +
 +
    .sponsorLogo img {
 +
        -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
 +
        filter: grayscale(100%);
 +
        max-height: 50px;
 +
    }
 +
 +
    .sponsorLogo img:hover {
 +
        -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
 +
        filter: grayscale(0%);
 +
    }
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
Nav CSS ++++++++++++++++++++++++++++++*/
 +
    .dropdown:hover > .dropdown-menu {
 +
        display: block;
 +
    }
 +
 +
    .dropdown-menu {
 +
        background-color: rgba(100, 100, 100, 1);
 +
    }
 +
 +
    .dropdown-item, .dropdown-item:visited {
 +
        color: white;
 +
    }
 +
 +
    .dropdown-item:hover, .dropdown-item.active, .dropdown-item:active {
 +
        color: white;
 +
        background-color: rgba(0, 158, 198, 1);
 +
    }
 +
 +
/*++++++++++++++++++++++++++++++++
 +
contents CSS ++++++++++++++++++++++++++++++*/
 +
    * {
 +
        box-sizing: border-box;
 +
    }
 +
 +
 +
    .glpContainer {
 +
        display: flex;
 +
        width: 100%;
 +
        margin: 0;
 +
        padding: 1em auto 0;
 +
    }
 +
 +
    .glpContainer > * {
 +
        padding: 20px 25px;
 +
    }
 +
 +
    /* Both Needed */
 +
    #glpContentsOuter {
 +
        position: relative;
 +
        flex-basis: 15vw;
 +
        width: 15vw;
 +
 +
    }
 +
 +
    /* Both Needed */
 +
    .table-of-contents {
 +
        position: relative;
 +
        flex-basis: 15vw;
 +
        width: 15vw;
 +
 +
    }
 +
 +
    .stickyContents {
 +
        position: fixed;
 +
        top: 120px;
 +
    }
 +
 +
    .table-of-contents p {
 +
        text-transform: uppercase;
 +
        letter-spacing: 0.125em;
 +
        color: #fff;
 +
    }
 +
 +
    .table-of-contents ul {
 +
        position: fixed;
 +
        /* Chrome (asshole) */
 +
        position: sticky;
 +
        /* Firefox */
 +
        margin-top: 2em;
 +
        top: 4em;
 +
    }
 +
 +
    h1:first-child {
 +
        margin-top: 0;
 +
    }
 +
 +
    .post-content {
 +
        flex-basis: 70vw;
 +
        max-width: 100%;
 +
        margin-left: 5vw;
 +
    }
 +
 +
    /* important to the link position of the headings */
 +
    .post-content h1 {
 +
        padding-top: 30px;
 +
        color: #2ecc71;
 +
    }
 +
 +
    /* important to the link position of the headings */
 +
    .post-content h2 {
 +
        padding-top: 80px;
 +
        color: #2ecc71;
 +
    }
 +
 +
    /* link color */
 +
    .post-content a {
 +
        color: #2ecc71;
 +
    }
 +
 +
    #glpreferences a {
 +
        color: #F4F0DE!important
 +
    }
 +
 +
    ol li {
 +
  counter-increment: list;
 +
  list-style-type: none;
 +
  position: relative;
 +
}
 +
/* Outout the numbers using the counter() function, but use a custom color, and position the numbers how we want */
 +
    ol li:before {
 +
  color: #F4F0DE;
 +
  content: counter(list) ".";
 +
  left:-32px;
 +
  position: absolute;
 +
  text-align: right;
 +
  width: 26px;
 +
}
 +
 +
 +
    /* TOC part */
 +
 +
    .table-of-contents svg {
 +
        position: absolute;
 +
        left: 0;
 +
        top: 50%;
 +
        bottom: auto;
 +
        display: none;
 +
        stroke: #2ecc71;
 +
        transform: translateY(-50%);
 +
    }
 +
 +
    .toc-reading svg {
 +
        display: block;
 +
    }
 +
 +
    .table-of-contents ul {
 +
        width: 200px;
 +
        counter-reset: articles;
 +
        padding: 0;
 +
        margin-left: 0;
 +
    }
 +
 +
    .table-of-contents li {
 +
        display: block;
 +
        counter-increment: articles;
 +
    }
 +
 +
    .table-of-contents li + li {
 +
        margin-top: 2em;
 +
    }
 +
 +
    .table-of-contents a {
 +
        display: block;
 +
        padding: 0 1.1em 0 3.2em;
 +
        position: relative;
 +
        text-decoration: none;
 +
        color: #fff;
 +
        font-weight: bold;
 +
    }
 +
 +
    a.toc-reading,
 +
    a.toc-already-read.toc-reading {
 +
        color: #2ecc71;
 +
        opacity: 1;
 +
    }
 +
 +
    a.toc-already-read {
 +
        opacity: 0.6;
 +
    }
 +
 +
    .table-of-contents a:before {
 +
        content: counter(articles, decimal);
 +
        position: absolute;
 +
        bottom: auto;
 +
        left: 0;
 +
        top: 50%;
 +
        width: 36px;
 +
        height: 36px;
 +
        line-height: 34px;
 +
        text-align: center;
 +
        transform: translateY(-50%);
 +
        transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
 +
        box-shadow: 0 3px 5px 0 black;
 +
        color: #fff;
 +
    }
 +
 +
    .post-content .row {
 +
        text-align: justify;
 +
    }
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
contents End ++++++++++++++++++++++++++++++*/
 +
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
slide in Start ++++++++++++++++++++++++++++++*/
 +
 +
    .slide-left.slide-in {
 +
        transform: translateX(-3%);
 +
    }
 +
 +
    .slide-right.slide-in {
 +
        transform: translateX(3%);
 +
    }
 +
 +
    .slide-bottom.slide-in {
 +
        transform: translateY(3%);
 +
    }
 +
 +
    .slide-top.slide-in {
 +
        transform: translateY(-3%);
 +
    }
 +
 +
    .slide-there.slide-in {
 +
        transform: scale(0.95);
 +
    }
 +
 +
    .slide-in {
 +
        opacity: 0;
 +
        transition: all 0.8s;
 +
    }
 +
 +
    .slide-in.active {
 +
        opacity: 1;
 +
        transform: translateX(0%) scale(1);
 +
    }
 +
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
slide in End ++++++++++++++++++++++++++++++*/
 +
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
quotes Start ++++++++++++++++++++++++++++++*/
 +
    .quote-card {
 +
        background: #fff;
 +
        color: #222;
 +
        padding: 20px;
 +
        padding-left: 50px;
 +
        box-sizing: border-box;
 +
        box-shadow: 0 2px 4px rgba(34, 34, 34, 0.12);
 +
        position: relative;
 +
        overflow: hidden;
 +
        min-height: 120px;
 +
    }
 +
 +
    .quote-card p {
 +
        font-size: 22px !important;
 +
        line-height: 1.5;
 +
        margin: 0;
 +
        max-width: 80%;
 +
    }
 +
 +
    .quote-card cite {
 +
        font-size: 16px;
 +
        margin-top: 10px;
 +
        display: block;
 +
        font-weight: 200;
 +
        opacity: 0.8;
 +
    }
 +
 +
    .quote-card:before {
 +
        font-family: Georgia, serif;
 +
        content: "“";
 +
        position: absolute;
 +
        top: 10px;
 +
        left: 10px;
 +
        font-size: 5em;
 +
        color: rgba(238, 238, 238, 0.8);
 +
        font-weight: normal;
 +
    }
 +
 +
    .quote-card:after {
 +
        font-family: Georgia, serif;
 +
        content: "”";
 +
        position: absolute;
 +
        bottom: -110px;
 +
        line-height: 100px;
 +
        right: -32px;
 +
        font-size: 25em;
 +
        color: rgba(238, 238, 238, 0.8);
 +
        font-weight: normal;
 +
    }
 +
 +
    @media (max-width: 640px) {
 +
        .quote-card:after {
 +
            font-size: 10em;
 +
            right: 0px;
 +
            bottom: 0px;
 +
        }
 +
    }
 +
 +
    .quote-card.blue-card {
 +
        background: rgba(0, 158, 198, 1);
 +
        color: #fff;
 +
        box-shadow: 0 1px 2px rgba(34, 34, 34, 0.12), 0 2px 4px rgba(34, 34, 34, 0.24);
 +
    }
 +
 +
    .quote-card.blue-card:before, .quote-card.blue-card:after {
 +
        color: rgba(0, 203, 177, 1);
 +
    }
 +
 +
    .quote-card.red-card {
 +
        background: #d32f2f;
 +
        color: #fff;
 +
        box-shadow: 0 1px 2px rgba(34, 34, 34, 0.12), 0 2px 4px rgba(34, 34, 34, 0.24);
 +
    }
 +
 +
    .quote-card.red-card:before, .quote-card.red-card:after {
 +
        color: #f44336;
 +
    }
 +
 +
    .quote-card.yellow-card {
 +
        background: #f9a825;
 +
        color: #222;
 +
        box-shadow: 0 1px 2px rgba(34, 34, 34, 0.12), 0 2px 4px rgba(34, 34, 34, 0.24);
 +
    }
 +
 +
    .quote-card.yellow-card:before, .quote-card.yellow-card:after {
 +
        color: #fbc02d;
 +
    }
 +
 +
    .credits {
 +
        margin-top: 80px;
 +
    }
 +
 +
    .credits a {
 +
        color: #222;
 +
        text-decoration: none;
 +
        text-shadow: 0 0 2px rgba(34, 34, 34, 0.24);
 +
        padding-bottom: 1px;
 +
        display: inline-block;
 +
        border-bottom: 1px dashed rgba(34, 34, 34, 0.24);
 +
        opacity: 0.6;
 +
        transition: 0.3s all ease-in;
 +
    }
 +
 +
    .credits a:hover {
 +
        border-bottom-style: solid;
 +
        opacity: 1;
 +
    }
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
quotes End ++++++++++++++++++++++++++++++*/
 +
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
gallery Start ++++++++++++++++++++++++++++++*/
 +
 +
    /* The grid: Four equal columns that floats next to each other */
 +
 +
    /* Style the images inside the grid */
 +
    .gaGallery .col img {
 +
        opacity: 0.8;
 +
        cursor: pointer;
 +
    }
 +
 +
    .gaGallery .col img:hover {
 +
        opacity: 1;
 +
    }
 +
 +
    /* The expanding image container */
 +
    .ga-container {
 +
        position: relative;
 +
        display: block;
 +
    }
 +
 +
    /* Expanding image text */
 +
    #imgtext {
 +
        position: absolute;
 +
        bottom: 15px;
 +
        left: 15px;
 +
        color: white;
 +
        font-size: 20px;
 +
    }
 +
 +
    /* Closable button inside the expanded image */
 +
    .closebtn {
 +
        position: absolute;
 +
        top: 10px;
 +
        right: 15px;
 +
        color: white;
 +
        font-size: 35px;
 +
        cursor: pointer;
 +
    }
 +
 +
    /*++++++++++++++++++++++++++++++++
 +
gallery End ++++++++++++++++++++++++++++++*/
 +
 +
    @media only screen and (max-width: 575.98px) {
 +
    }
 +
 +
    @media only screen and (max-width: 767.98px) {
 +
        .pictureTitle {
 +
            height: 200px;
 +
        }
 +
 +
        .pictureTitle .display-2 {
 +
            font-size: 2rem;
 +
        }
 +
 +
        .pictureTitle h4 {
 +
            font-size: 1rem;
 +
        }
 +
 +
        #glpContentsOuter {
 +
            display: none;
 +
        }
 +
 +
        .glpContainer {
 +
            width: 100%;
 +
            margin: 0;
 +
            padding: 0 auto;
 +
        }
 +
 +
        .glpContainer > * {
 +
            padding: 0;
 +
        }
 +
 +
        .post-content {
 +
            flex-basis: 90vw;
 +
            max-width: 100%;
 +
            margin: 0 3vw;
 +
        }
 +
 +
        /* important to the link position of the headings */
 +
        .post-content h2 {
 +
            padding-top: 50px;
 +
        }
 +
 +
        table {
 +
            font-size: .8rem;
 +
        }
 +
 +
        .quote-card p {
 +
            font-size: 1rem !important;
 +
        }
 +
    }
 +
 +
 +
    @media only screen and (max-width: 1199.98px) {
 +
 +
    }
 +
 +
    @media only screen and (max-width: 1400px) {
 +
        .table-of-contents a {
 +
            font-size: 0.8rem;
 +
        }
 +
 +
        .table-of-contents li + li {
 +
            margin-top: 1.5em;
 +
        }
 +
    }
 +
</style>
 +
    <head>
 +
        <title>GLP.exe</title>
 +
        <meta charset="utf-8">
 +
        <meta name="viewport" content="width=device-width, initial-scale=1">
 +
        <link rel="stylesheet" href="https://2019.igem.org/Template:Tuebingen/FontAwesomeCSS">
 +
        <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Righteous" />
 +
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" type="text/css"/>
 +
        <style>
 +
            .mfp-bg {
 +
                top: 0;
 +
                left: 0;
 +
                width: 100%;
 +
                height: 100%;
 +
                z-index: 1042;
 +
                overflow: hidden;
 +
                position: fixed;
 +
                background: #0b0b0b;
 +
                opacity: 0.8;
 +
            }
 +
 +
            .mfp-wrap {
 +
                top: 0;
 +
                left: 0;
 +
                width: 100%;
 +
                height: 100%;
 +
                z-index: 1043;
 +
                position: fixed;
 +
                outline: none !important;
 +
                -webkit-backface-visibility: hidden;
 +
            }
 +
 +
            .mfp-container {
 +
                text-align: center;
 +
                position: absolute;
 +
                width: 100%;
 +
                height: 100%;
 +
                left: 0;
 +
                top: 0;
 +
                padding: 0 8px;
 +
                box-sizing: border-box;
 +
            }
 +
 +
            .mfp-container:before {
 +
                content: '';
 +
                display: inline-block;
 +
                height: 100%;
 +
                vertical-align: middle;
 +
            }
 +
 +
            .mfp-align-top .mfp-container:before {
 +
                display: none;
 +
            }
 +
 +
            .mfp-content {
 +
                position: relative;
 +
                display: inline-block;
 +
                vertical-align: middle;
 +
                margin: 0 auto;
 +
                text-align: left;
 +
                z-index: 1045;
 +
            }
 +
 +
            .mfp-inline-holder .mfp-content,
 +
            .mfp-ajax-holder .mfp-content {
 +
                width: 100%;
 +
                cursor: auto;
 +
            }
 +
 +
            .mfp-ajax-cur {
 +
                cursor: progress;
 +
            }
 +
 +
            .mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
 +
                cursor: -moz-zoom-out;
 +
                cursor: -webkit-zoom-out;
 +
                cursor: zoom-out;
 +
            }
 +
 +
            .mfp-zoom {
 +
                cursor: pointer;
 +
                cursor: -webkit-zoom-in;
 +
                cursor: -moz-zoom-in;
 +
                cursor: zoom-in;
 +
            }
 +
 +
            .mfp-auto-cursor .mfp-content {
 +
                cursor: auto;
 +
            }
 +
 +
            .mfp-close,
 +
            .mfp-arrow,
 +
            .mfp-preloader,
 +
            .mfp-counter {
 +
                -webkit-user-select: none;
 +
                -moz-user-select: none;
 +
                user-select: none;
 +
            }
 +
 +
            .mfp-loading.mfp-figure {
 +
                display: none;
 +
            }
 +
 +
            .mfp-hide {
 +
                display: none !important;
 +
            }
 +
 +
            .mfp-preloader {
 +
                color: #CCC;
 +
                position: absolute;
 +
                top: 50%;
 +
                width: auto;
 +
                text-align: center;
 +
                margin-top: -0.8em;
 +
                left: 8px;
 +
                right: 8px;
 +
                z-index: 1044;
 +
            }
 +
 +
            .mfp-preloader a {
 +
                color: #CCC;
 +
            }
 +
 +
            .mfp-preloader a:hover {
 +
                color: #FFF;
 +
            }
 +
 +
            .mfp-s-ready .mfp-preloader {
 +
                display: none;
 +
            }
 +
 +
            .mfp-s-error .mfp-content {
 +
                display: none;
 +
            }
 +
 +
            button.mfp-close,
 +
            button.mfp-arrow {
 +
                overflow: visible;
 +
                cursor: pointer;
 +
                background: transparent;
 +
                border: 0;
 +
                -webkit-appearance: none;
 +
                display: block;
 +
                outline: none;
 +
                padding: 0;
 +
                z-index: 1046;
 +
                box-shadow: none;
 +
                touch-action: manipulation;
 +
            }
 +
 +
            button::-moz-focus-inner {
 +
                padding: 0;
 +
                border: 0;
 +
            }
 +
 +
            .mfp-close {
 +
                width: 44px;
 +
                height: 44px;
 +
                line-height: 44px;
 +
                position: absolute;
 +
                right: 0;
 +
                top: 0;
 +
                text-decoration: none;
 +
                text-align: center;
 +
                opacity: 0.65;
 +
                padding: 0 0 18px 10px;
 +
                color: #FFF;
 +
                font-style: normal;
 +
                font-size: 28px;
 +
                font-family: Arial, Baskerville, monospace;
 +
            }
 +
 +
            .mfp-close:hover,
 +
            .mfp-close:focus {
 +
                opacity: 1;
 +
            }
 +
 +
            .mfp-close:active {
 +
                top: 1px;
 +
            }
 +
 +
            .mfp-close-btn-in .mfp-close {
 +
                color: #333;
 +
            }
 +
 +
            .mfp-image-holder .mfp-close,
 +
            .mfp-iframe-holder .mfp-close {
 +
                color: #FFF;
 +
                right: -6px;
 +
                text-align: right;
 +
                padding-right: 6px;
 +
                width: 100%;
 +
            }
 +
 +
            .mfp-counter {
 +
                position: absolute;
 +
                top: 0;
 +
                right: 0;
 +
                color: #CCC;
 +
                font-size: 12px;
 +
                line-height: 18px;
 +
                white-space: nowrap;
 +
            }
 +
 +
            .mfp-arrow {
 +
                position: absolute;
 +
                opacity: 0.65;
 +
                margin: 0;
 +
                top: 50%;
 +
                margin-top: -55px;
 +
                padding: 0;
 +
                width: 90px;
 +
                height: 110px;
 +
                -webkit-tap-highlight-color: transparent;
 +
            }
 +
 +
            .mfp-arrow:active {
 +
                margin-top: -54px;
 +
            }
 +
 +
            .mfp-arrow:hover,
 +
            .mfp-arrow:focus {
 +
                opacity: 1;
 +
            }
 +
 +
            .mfp-arrow:before,
 +
            .mfp-arrow:after {
 +
                content: '';
 +
                display: block;
 +
                width: 0;
 +
                height: 0;
 +
                position: absolute;
 +
                left: 0;
 +
                top: 0;
 +
                margin-top: 35px;
 +
                margin-left: 35px;
 +
                border: medium inset transparent;
 +
            }
 +
 +
            .mfp-arrow:after {
 +
                border-top-width: 13px;
 +
                border-bottom-width: 13px;
 +
                top: 8px;
 +
            }
 +
 +
            .mfp-arrow:before {
 +
                border-top-width: 21px;
 +
                border-bottom-width: 21px;
 +
                opacity: 0.7;
 +
            }
 +
 +
            .mfp-arrow-left {
 +
                left: 0;
 +
            }
 +
 +
            .mfp-arrow-left:after {
 +
                border-right: 17px solid #FFF;
 +
                margin-left: 31px;
 +
            }
 +
 +
            .mfp-arrow-left:before {
 +
                margin-left: 25px;
 +
                border-right: 27px solid #3F3F3F;
 +
            }
 +
 +
            .mfp-arrow-right {
 +
                right: 0;
 +
            }
 +
 +
            .mfp-arrow-right:after {
 +
                border-left: 17px solid #FFF;
 +
                margin-left: 39px;
 +
            }
 +
 +
            .mfp-arrow-right:before {
 +
                border-left: 27px solid #3F3F3F;
 +
            }
 +
 +
            .mfp-iframe-holder {
 +
                padding-top: 40px;
 +
                padding-bottom: 40px;
 +
            }
 +
 +
            .mfp-iframe-holder .mfp-content {
 +
                line-height: 0;
 +
                width: 100%;
 +
                max-width: 900px;
 +
            }
 +
 +
            .mfp-iframe-holder .mfp-close {
 +
                top: -40px;
 +
            }
 +
 +
            .mfp-iframe-scaler {
 +
                width: 100%;
 +
                height: 0;
 +
                overflow: hidden;
 +
                padding-top: 56.25%;
 +
            }
 +
 +
            .mfp-iframe-scaler iframe {
 +
                position: absolute;
 +
                display: block;
 +
                top: 0;
 +
                left: 0;
 +
                width: 100%;
 +
                height: 100%;
 +
                box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
 +
                background: #000;
 +
            }
 +
 +
            /* Main image in popup */
 +
            img.mfp-img {
 +
                width: auto;
 +
                max-width: 100%;
 +
                height: auto;
 +
                display: block;
 +
                line-height: 0;
 +
                box-sizing: border-box;
 +
                padding: 40px 0 40px;
 +
                margin: 0 auto;
 +
            }
 +
 +
            /* The shadow behind the image */
 +
            .mfp-figure {
 +
                line-height: 0;
 +
            }
 +
 +
            .mfp-figure:after {
 +
                content: '';
 +
                position: absolute;
 +
                left: 0;
 +
                top: 40px;
 +
                bottom: 40px;
 +
                display: block;
 +
                right: 0;
 +
                width: auto;
 +
                height: auto;
 +
                z-index: -1;
 +
                box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
 +
                background: #444;
 +
            }
 +
 +
            .mfp-figure small {
 +
                color: #BDBDBD;
 +
                display: block;
 +
                font-size: 12px;
 +
                line-height: 14px;
 +
            }
 +
 +
            .mfp-figure figure {
 +
                margin: 0;
 +
            }
 +
 +
            .mfp-bottom-bar {
 +
                margin-top: -36px;
 +
                position: absolute;
 +
                top: 100%;
 +
                left: 0;
 +
                width: 100%;
 +
                cursor: auto;
 +
            }
 +
 +
            .mfp-title {
 +
                text-align: left;
 +
                line-height: 18px;
 +
                color: #F3F3F3;
 +
                word-wrap: break-word;
 +
                padding-right: 36px;
 +
            }
 +
 +
            .mfp-image-holder .mfp-content {
 +
                max-width: 100%;
 +
            }
 +
 +
            .mfp-gallery .mfp-image-holder .mfp-figure {
 +
                cursor: pointer;
 +
            }
 +
 +
            @media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
 +
                /**
 +
      * Remove all paddings around the image on small screen
 +
      */
 +
                .mfp-img-mobile .mfp-image-holder {
 +
                    padding-left: 0;
 +
                    padding-right: 0;
 +
                }
 +
 +
                .mfp-img-mobile img.mfp-img {
 +
                    padding: 0;
 +
                }
 +
 +
                .mfp-img-mobile .mfp-figure:after {
 +
                    top: 0;
 +
                    bottom: 0;
 +
                }
 +
 +
                .mfp-img-mobile .mfp-figure small {
 +
                    display: inline;
 +
                    margin-left: 5px;
 +
                }
 +
 +
                .mfp-img-mobile .mfp-bottom-bar {
 +
                    background: rgba(0, 0, 0, 0.6);
 +
                    bottom: 0;
 +
                    margin: 0;
 +
                    top: auto;
 +
                    padding: 3px 5px;
 +
                    position: fixed;
 +
                    box-sizing: border-box;
 +
                }
 +
 +
                .mfp-img-mobile .mfp-bottom-bar:empty {
 +
                    padding: 0;
 +
                }
 +
 +
                .mfp-img-mobile .mfp-counter {
 +
                    right: 5px;
 +
                    top: 3px;
 +
                }
 +
 +
                .mfp-img-mobile .mfp-close {
 +
                    top: 0;
 +
                    right: 0;
 +
                    width: 35px;
 +
                    height: 35px;
 +
                    line-height: 35px;
 +
                    background: rgba(0, 0, 0, 0.6);
 +
                    position: fixed;
 +
                    text-align: center;
 +
                    padding: 0;
 +
                }
 +
            }
 +
 +
            @media all and (max-width: 900px) {
 +
                .mfp-arrow {
 +
                    -webkit-transform: scale(0.75);
 +
                    transform: scale(0.75);
 +
                }
 +
 +
                .mfp-arrow-left {
 +
                    -webkit-transform-origin: 0;
 +
                    transform-origin: 0;
 +
                }
 +
 +
                .mfp-arrow-right {
 +
                    -webkit-transform-origin: 100%;
 +
                    transform-origin: 100%;
 +
                }
 +
 +
                .mfp-container {
 +
                    padding-left: 6px;
 +
                    padding-right: 6px;
 +
                }
 +
            }
 +
 +
            .mfp-zoom-out {
 +
                /* start state */
 +
                /* animate in */
 +
                /* animate out */
 +
            }
 +
 +
            .mfp-zoom-out .mfp-with-anim {
 +
                opacity: 0;
 +
                transition: all 0.3s ease-in-out;
 +
                transform: scale(1.3);
 +
            }
 +
 +
            .mfp-zoom-out.mfp-bg {
 +
                opacity: 0;
 +
                transition: all 0.3s ease-out;
 +
            }
 +
 +
            .mfp-zoom-out.mfp-ready .mfp-with-anim {
 +
                opacity: 1;
 +
                transform: scale(1);
 +
            }
 +
 +
            .mfp-zoom-out.mfp-ready.mfp-bg {
 +
                opacity: 0.8;
 +
            }
 +
 +
            .mfp-zoom-out.mfp-removing .mfp-with-anim {
 +
                transform: scale(1.3);
 +
                opacity: 0;
 +
            }
 +
 +
            .mfp-zoom-out.mfp-removing.mfp-bg {
 +
                opacity: 0;
 +
            }
 +
        </style>
 +
 +
    </head>
 +
 +
<body style="">
 +
  <section id="nav-placeholder">
 +
    <nav class="shadow navbar navbar-expand-md navbar-dark fixed-top"
 +
        style="background-color: rgba(30, 30, 30, 0.3); z-index: 100;">
 +
        <a class="navbar-brand" href="https://2019.igem.org/Team:Tuebingen">
 +
            <img src="https://2019.igem.org/wiki/images/2/2a/T--Tuebingen--white_logo_animated.gif" alt="logo"
 +
                style="width:70px;">
 +
            <h5 class="d-inline ml-3" style="font-family: 'Righteous', cursive; font-weight: normal;">GLP.exe</h5>
 +
        </a>
 +
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
 +
            <span class="navbar-toggler-icon"></span>
 +
        </button>
 +
        <div class="collapse navbar-collapse justify-content-around" id="collapsibleNavbar">
 +
            <ul class="navbar-nav">
 +
                <li id="ourStoryButton" class="nav-item mx-3">
 +
                    <a class="nav-link" href="/Team:Tuebingen/Story"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">OUR STORY</a>
 +
                </li>
 +
 +
                <li class="nav-item dropdown mx-3">
 +
                    <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">
 +
                        PROJECT
 +
                    </a>
 +
                    <div class="dropdown-menu">
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Description"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Description</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Killswitch"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Kill Switch</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Nissle"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Nissle</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Incretin"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Incretin</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/CPP"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Cell Penetrating Peptides</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Results"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Results</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Demonstrate"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Demonstrate</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Notebook"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Notebook</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Model"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Model</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Software"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Software</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Outlook"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Outlook</a>
 +
                    </div>
 +
                </li>
 +
                <li class="nav-item dropdown mx-3">
 +
                    <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">
 +
                        PARTS
 +
                    </a>
 +
                    <div class="dropdown-menu">
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Parts"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Parts Overview</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Basic_Part"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Basic Parts</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Improved_Part"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Improved Parts</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Composite_Part"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Composite Parts</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Part_Collection"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Part Collection</a>
 +
                    </div>
 +
                </li>
 +
 +
                <li class="nav-item dropdown mx-3">
 +
                    <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal;color: #2ecc71;">
 +
                        PEOPLE
 +
                    </a>
 +
                    <div class="dropdown-menu">
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Team"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Team</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Collaborations"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Collaborations</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Attributions"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Attributions</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Sponsors"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Sponsors</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Gallery"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Gallery</a>
 +
                    </div>
 +
                </li>
 +
 +
                <li class="nav-item dropdown mx-3">
 +
                    <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">
 +
                        HUMAN PRACTICES
 +
                    </a>
 +
                    <div class="dropdown-menu">
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Human_Practices"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Overview</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Public_Engagement"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Education & Public
 +
                            Engagement</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Experts"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Experts</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Entrepreneurship"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Entrepreneurship</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/SDG"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Sustainable Development
 +
                            Goals</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Experimenta"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Experimenta Science
 +
                            Center</a>
 +
                    </div>
 +
                </li>
 +
                <li class="nav-item dropdown mx-3">
 +
                    <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">
 +
                        AWARDS
 +
                    </a>
 +
                    <div class="dropdown-menu">
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Human_Practices"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Integrated Human Practise</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Public_Engagement"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Education & Public
 +
                            Engagement</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Entrepreneurship"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Supporting
 +
                            Entrepreneurship</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Measurement"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Measurement</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Model"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Model</a>
 +
                        <a class="dropdown-item" href="/Team:Tuebingen/Software"
 +
                          style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Software</a>
 +
                    </div>
 +
                </li>
 +
 +
                <li class="nav-item mx-3">
 +
                    <a class="nav-link" href="/Team:Tuebingen/Safety"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">SAFETY</a>
 +
                </li>
 +
 +
                <li class="nav-item mx-3">
 +
                    <a class="nav-link" href="https://igem.org/2019_Judging_Form?team=Tuebingen" target="_blank"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">JUDGING
 +
                        FORM ⇗</a>
 +
                </li>
 +
 +
                <li class="nav-item mx-1 pt-2">
 +
                    <a href="https://www.facebook.com/igemtuebingen/" class="fa fa-facebook" target="_blank"></a>
 +
                </li>
 +
                <li class="nav-item mx-1 pt-2">
 +
                    <a href="https://twitter.com/iGEMTuebingen" class="fa fa-twitter" target="_blank"></a>
 +
                </li>
 +
                <li class="nav-item mx-1 pt-2">
 +
                    <a href="https://www.instagram.com/igem_tuebingen/" class="fa fa-instagram" target="_blank"></a>
 +
                </li>
 +
 +
            </ul>
 +
        </div>
 +
    </nav>
 +
</section>
 +
<script>
 +
    var url = window.location.href;
 +
    $(function () {
 +
        $('.nav-link[href="' + url + '"]').addClass("active");
 +
        $('.dropdown-item[href="' + url + '"]').addClass("active");
 +
        $('.dropdown-item[href="' + url + '"]').parent().parent().addClass("active");
 +
    });
 +
</script>
 +
<script src="https://2019.igem.org/Team:Tuebingen/jqueryminjs?action=raw&ctype=text/javascript"></script>
 +
<script src="https://2019.igem.org/Team:Tuebingen/popperjs?action=raw&ctype=text/javascript"></script>
 +
<script src="https://2019.igem.org/Team:Tuebingen/bootstrapjs?action=raw&ctype=text/javascript"></script>
 +
<script src="https://2019.igem.org/Template:Tuebingen/GLPexeJS?action=raw&ctype=text/javascript"></script>
 +
</body>
 +
 +
<style>
 +
 +
    .pictureTitle {
 +
        background: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .5)), url("http://2018.igem.org/wiki/images/2/21/T--Munich--header_projectdesign.png");
 +
        background-repeat: no-repeat;
 +
        background-size: cover;
 +
        background-position: center;
 +
    }
 +
 +
 +
    @media only screen and (max-width: 575.98px) {
 +
    }
 +
 +
    @media only screen and (max-width: 767.98px) {
 +
    }
 +
 +
    @media only screen and (max-width: 991.98px) {
 +
    }
 +
 +
    @media only screen and (max-width: 1199.98px) {
 +
    }
 +
 +
    /*
 +
========================
 +
    BUTTON STYLE BEGIN
 +
========================
 +
*/
 +
 +
.btn-link {
 +
        font-weight: 400;
 +
        color: #007bff;
 +
        background-color: transparent
 +
    }
 +
 +
    .btn-link:hover {
 +
        color: #0056b3;
 +
        text-decoration: underline;
 +
        background-color: transparent;
 +
        border-color: transparent
 +
    }
 +
 +
    .btn-link.focus, .btn-link:focus {
 +
        text-decoration: underline;
 +
        border-color: transparent;
 +
        box-shadow: none
 +
    }
 +
 +
    .btn-link.disabled, .btn-link:disabled {
 +
        color: #6c757d;
 +
        pointer-events: none
 +
    }
 +
 +
    .btn-link{
 +
opacity: 0.8;
 +
text-decoration: none;
 +
color: white;
 +
}
 +
.btn-link:hover{
 +
opacity: 1;
 +
text-decoration: none;
 +
    color: rgba(105, 202, 98, 1.1);
 +
}
 +
.btn-link:focus{
 +
opacity: 1;
 +
text-decoration: none;
 +
    color: rgba(105, 202, 98, 1.1);
 +
}
 +
.card-header{
 +
background-color: rgba(50,50,50,1);
 +
}
 +
.card button{
 +
width: 100%;
 +
font-size: 1.5rem;
 +
}
 +
    /*
 +
========================
 +
    BUTTON STYLE END
 +
========================
 +
*/
 +
 +
    /*
 +
========================
 +
      BUTTON ONE
 +
========================
 +
*/
 +
.btn-one {
 +
color: rgba(105, 202, 98, 1.1);
 +
transition: all 0.3s;
 +
position: relative;
 +
}
 +
.btn-one span {
 +
transition: all 0.3s;
 +
}
 +
.btn-one::before {
 +
content: '';
 +
position: absolute;
 +
bottom: 0;
 +
left: 0;
 +
width: 100%;
 +
height: 100%;
 +
z-index: 1;
 +
opacity: 0;
 +
transition: all 0.3s;
 +
border-top-width: 1px;
 +
border-bottom-width: 1px;
 +
border-top-style: solid;
 +
border-bottom-style: solid;
 +
border-top-color: rgba(105, 202, 98, 1.1);
 +
border-bottom-color: rgba(105, 202, 98, 1.1);
 +
transform: scale(0.1, 1);
 +
}
 +
.btn-one:hover span {
 +
letter-spacing: 2px;
 +
}
 +
.btn-one:hover::before {
 +
opacity: 1;
 +
transform: scale(1, 1);
 +
}
 +
.btn-one::after {
 +
content: '';
 +
position: absolute;
 +
bottom: 0;
 +
left: 0;
 +
width: 100%;
 +
height: 100%;
 +
z-index: 1;
 +
transition: all 0.3s;
 +
background-color: rgba(255,255,255,0.05);
 +
}
 +
.btn-one:hover::after {
 +
opacity: 0;
 +
transform: scale(0.1, 1);}
 +
    /*
 +
========================
 +
      BUTTON ONE END
 +
========================
 +
*/
 +
 +
    /*
 +
    ======================
 +
    HEADER BANNER STYLE BEGIN
 +
    ==========================
 +
    */
 +
 +
    .header {
 +
        position: relative;
 +
        overflow: hidden;
 +
        display: flex;
 +
        flex-wrap: wrap;
 +
        justify-content: center;
 +
        align-items: flex-start;
 +
        align-content: flex-start;
 +
        height: 50vh;
 +
        max-height: 350px;
 +
        min-width: 300px;
 +
        color: #eee;
 +
    }
 +
 +
    .header:after {
 +
        content: "";
 +
        width: 100%;
 +
        height: 100%;
 +
        position: absolute;
 +
        bottom: 0;
 +
        left: 0;
 +
        z-index: -1;
 +
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 40%, rgba(27, 32, 48, 1) 100%);
 +
    }
 +
 +
    .header:before {
 +
        content: "";
 +
        width: 100%;
 +
        height: 100%;
 +
        position: absolute;
 +
        top: 0;
 +
        left: 0;
 +
        -webkit-backface-visibility: hidden;
 +
        -webkit-transform: translateZ(0) scale(1.0, 1.0);
 +
        transform: translateZ(0);
 +
        background: #1B2030 url(https://2019.igem.org/wiki/images/6/6a/T--Tuebingen--software-banner.jpg) center no-repeat;
 +
        background-size: 100%, 100%;
 +
        animation: grow 30s linear 10ms infinite;
 +
        transition: all 0.2s ease-in-out;
 +
        z-index: -2
 +
    }
 +
 +
    .header a {
 +
        color: #eee
 +
    }
 +
 +
    .info {
 +
        width: 100%;
 +
        padding: 15% 10% 0 10%;
 +
        text-align: center;
 +
        text-shadow: 0 2px 3px rgba(0, 0, 0, 0.2)
 +
    }
 +
 +
    .info h1{
 +
        font-size:3.0em;
 +
    }
 +
 +
    .info h4, .meta {
 +
        font-size: 0.7em
 +
    }
 +
 +
    @media only screen and (min-width: 2250px) {
 +
        .info h1 {
 +
            margin-top: -50%;
 +
        }
 +
    }
 +
 +
    @media only screen and (min-width: 2000px) {
 +
        .info h1 {
 +
            margin-top: -10%;
 +
        }
 +
    }
 +
 +
    @media only screen and (min-width: 1500px) {
 +
        .info h1 {
 +
            margin-top: -5%;
 +
        }
 +
    }
 +
 +
    @media only screen and (max-width: 800px) {
 +
        .info h1 {
 +
            margin-top: 9%;
 +
            font-size: 2.3em;
 +
            text-align: center;
 +
        }
 +
 +
        .header {
 +
            height: 45vh;
 +
        }
 +
    }
 +
 +
    @media only screen and (max-width: 660px) {
 +
        .info h1 {
 +
            margin-top: 10%;
 +
            font-size: 2.3em;
 +
        }
 +
 +
        .header {
 +
            height:40vh
 +
        }
 +
    }
 +
 +
    @media only screen and (max-width: 600px) {
 +
        .header {
 +
            height:35vh
 +
        }
 +
    }
 +
 +
    @media only screen and (max-width: 560px) {
 +
        .info h1 {
 +
            margin-top: 15%;
 +
        }
 +
    }
 +
 +
    @media only screen and (max-width: 470px) {
 +
        .info h1 {
 +
            margin-top: 20%;
 +
            font-size: 1.9em;
 +
        }
 +
    }
 +
    @media only screen and (max-width: 345px) {
 +
        .info h1 {
 +
            margin-top: 24%;
 +
        }
 +
    }
 +
 +
 +
    @keyframes grow {
 +
        0% {
 +
            transform: scale(1)
 +
        }
 +
        50% {
 +
            transform: scale(1.2)
 +
        }
 +
    }
 +
 +
    /*  ======================
 +
        HEADER BANNER STYLE END
 +
        ==========================
 +
        */
 +
 +
</style>
 +
 +
<!-- Header Banner Begin-->
 +
<div class="header">
 +
  <div class="info">
 +
    <h1 style="font-family: 'Righteous', cursive; font-weight: normal; color:#2ecc71;">Software</h1>
 +
  </div>
 
</div>
 
</div>
 +
<!-- Header Banner End-->
  
<div class="column third_size">
+
 
<div class="highlight decoration_A_full">
+
<div style="background-color: #232323; overflow-x: fragments; overflow-wrap: break-word">
<h3> Inspiration </h3>
+
 
<p>
+
<div class="glpContainer">
Here are a few examples from previous teams:
+
    <aside id="glpContentsOuter" style="background-color: #232323">
</p>
+
        <aside id="phaContents" class="table-of-contents">
<ul>
+
            <!-- will be generated with JS -->
<li><a href="http://2016.igem.org/Team:BostonU_HW">2016 BostonU HW</a></li>
+
        </aside>
<li><a href="http://2016.igem.org/Team:Valencia_UPV">2016 Valencia UPV</a></li>
+
    </aside>
<li><a href="http://2014.igem.org/Team:Heidelberg/Software">2014 Heidelberg</a></li>
+
 
<li><a href="http://2014.igem.org/Team:Aachen/Project/Measurement_Device#Software">2014 Aachen</a></li>
+
    <main class="post-content">
</ul>
+
        <div id="image-popups">
 +
 
 +
        <h2 style="font-family:'Righteous'; color:#2ecc71;">C3Pred - Cell-Penetrating Peptide Predictor</h2>
 +
        <h3 style="font-family:'Righteous'; color:#2ecc71;">Our Software</h3>
 +
        <div class="row">
 +
            <div class="col-12">
 +
                <p>
 +
                    <a href="https://igem-tuebingen.com/c3pred/" onclick='window.open("https://igem-tuebingen.com/c3pred/","_self");'>Live Version</a><br>
 +
                    <a href="https://github.com/steffenlem/c3pred" onclick='window.open("https://github.com/steffenlem/c3pred","_self");'>Python package</a><br>
 +
                    Web app: (TBA)
 +
                </p>
 +
                <p>
 +
                    Cell-penetrating peptides (CPPs) are short 4-30 amino acids long peptides, which possess the
 +
                    ability to transport different cargo over the cell membrane. These cargos include proteins, nanobodies,
 +
                    DNA molecules, and small molecule drugs. In recent years, numerous promising clinical and pre-clinical
 +
                    trials have been launched, with CPPs as a carrier for pharmacologically active small molecules.
 +
                </p>
 +
                <p>
 +
                    They can be classified into three general groups: cationic, amphipathic, and hydrophobic CPPs.
 +
                    Each group of peptides has different physical-chemical properties and therefore differs in the
 +
                    internalization mechanism. The pathways that CPPs exploit to enter the cell can be divided into two larger
 +
                    groups, endocytic pathways, and direct cell penetration [2, 3]. Since there are different, not yet fully
 +
                    understood mechanisms involved, simple models, describing the relationship between sequence and function,
 +
                    are particularly challenging to generate. Hence, the discovery of novel CPPs and activity optimization is
 +
                    mostly relying on large screening approaches.
 +
                </p>
 +
                <figure>
 +
                        <a style="font-size: small"
 +
                          href="https://2019.igem.org/wiki/images/2/23/T--Tuebingen--CPP-function-transparent.png"
 +
                          data-effect="mfp-zoom-out"
 +
                          title="Fig.1">
 +
                            <img src="https://2019.igem.org/wiki/images/2/23/T--Tuebingen--CPP-function-transparent.png"
 +
                                class="figure-img img-fluid rounded"
 +
                                alt="A generic square placeholder"></a>
 +
                            <figcaption style="font-size: small; color: #F4F0DE">Fig.1: Proteins can be fused to a cell-penetrating peptide (CPP)
 +
                                (left). CPPs allow proteins to penetrate cells via different mechanisms and can
 +
                                be used to transport proteins into cells or through cells. Proteins without a
 +
                                CPP can normally not penetrate cells (right).</figcaption>
 +
                    </figure>
 +
            </div>
 +
        </div>
 +
 
 +
            <h2 style="font-family:'Righteous'; color:#2ecc71;">Motivation</h2>
 +
            <div class="row">
 +
                <div class="col-12">
 +
                    <p>
 +
                        As part of our project, we planned to utilize cell-penetrating peptides (CPPs) to allow a cargo,
 +
                        the Exendin-4 protein, to be transported across a eukaryotic cell-layer. A challenging part of
 +
                        our project design was to decide on a specific CPP out of the tremendous variety of different
 +
                        transporting peptides. In October 2019, CPPsite 2.0, the largest database for CPPs, contained
 +
                        more than 1850 different peptide motifs, which are capable of delivering conjugates into cells.
 +
                        However, the CPPsite database only contains qualitative information about whether a peptide has
 +
                        a cell-penetrating activity, but no quantitative information about how efficient cargo is
 +
                        transported across the cell membrane.
 +
                    </p>
 +
                    <p>
 +
                        Therefore we decided to generate a predictive software tool, which allows assigning a transport
 +
                        efficiency score to CPPs. This allows making educated decisions on the design process.
 +
                    </p>
 +
                </div>
 +
            </div>
 +
 
 +
            <h2 style="font-family:'Righteous';">Overview of our tool</h2>
 +
            <div class="row">
 +
                <div class="col-12">
 +
                    <p>
 +
                        Our goal was to create an easy-to-use software tool, which allows scientists to make design
 +
                        choices for their system based on quantitative transport activity scores. We put a strong
 +
                        emphasis on good usability for different kinds of users. Firstly, we implemented an intuitive
 +
                        browser-based graphical user interface for simple usability. Secondly, we also released our
 +
                        software tool as a Python package, which is easily installable for everyone using PIP, allowing
 +
                        other developers to incorporate our software tool into their scripts.
 +
                    </p>
 +
                    <p>
 +
                        Short peptide sequences can be submitted to the program by either using a sequence string in
 +
                        FASTA-format, an Uniprot ID or an iGEM Registry ID of coding DNA sequences. Our tool computes
 +
                        a transport efficiency score for each sequence, which is automatically interpreted for the user
 +
                        by comparing it to well-characterized CPPs.
 +
                    </p>
 +
 
 +
                    </div>
 +
                </div>
 +
 
 +
            <h3 style="font-family:'Righteous';">Why use our tool?</h3>
 +
            <div class="row">
 +
                <div class="col-12">
 +
                    <p>
 +
                        Our tool offers several distinct advantages for researchers interested in CPPs. First, our
 +
                        tool predicts real numerical values, which allows for a much more fine-tuned evaluation, as
 +
                        well as a comparison of CPP efficacy. Second, our tool is as user-friendly as it gets. The
 +
                        installation for a local version is trivial, which also allows for very simple integration
 +
                        into more advanced workflows. Moreover, our tool is accessible as a web app
 +
                        <a href="https://igem-tuebingen.com/c3pred/" onclick='window.open("https://igem-tuebingen.com/c3pred/","_self");'>here</a>.
 +
                    </p>
 +
                    <p>
 +
                        Our very simple to use web interface offers three simple and useful options: Peptides can either
 +
                        be entered as raw text sequences, via the Uniprot Accession number, or the iGEM Registry ID.
 +
                        Third, since our algorithm instantly returns the CPP efficiency, several CPPs with different
 +
                        modifications or lengths can be quickly compared, allowing for the exploration as well as the
 +
                        design of novel CPPs.
 +
                    </p>
 +
 
 +
                    </div>
 +
                </div>
 +
 
 +
 
 +
            <h2 style="font-family:'Righteous';">Installation and usage of our tool</h2>
 +
            <div class="row">
 +
                <div class="col-12">
 +
                    <p>Our tool can be used on Linux, Windows and Mac OS. Please follow the installation instruction <a href="https://c3pred.readthedocs.io/en/latest/installation.html" onclick='window.open("https://c3pred.readthedocs.io/en/latest/installation.html");'>here</a>.</p>
 +
                    <p>When starting our tool, the landing page allows navigating to the three running modes (from protein sequence,
 +
                        Uniprot Accession number &  iGEM Registry ID). Additional information about the running modes can
 +
                        be displayed by clicking on “more info”.</p>
 +
                </div>
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Prediction using a sequence string</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        To predict the transport effectivity of a FASTA-formatted amino acid string, please make sure
 +
                        that the sequence does only contain letters corresponding to the genetic code of the 20 standard
 +
                        amino acids. Moreover, please make sure that the submitted sequence is not longer than 50 residues.
 +
                    </p>
 +
                </div>
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Using a Uniprot Accession number</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        Since Uniprot is one of the largest publicly accessible resources for proteins, our tool allows
 +
                        using the Uniprot Accession number as input, which consists of 6-10 characters (e.g. Q86FU0).
 +
                        Information about the accession numbers can be found on the <a href="https://www.uniprot.org/help/accession_numbers" onclick='window.open("https://www.uniprot.org/help/accession_numbers","_self");'>Uniprot Website</a>.
 +
                    </p>
 +
                </div>
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Prediction using an iGEM Registry ID</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        Prediction on sequences in the iGEM registry can only be made on parts tagged in the subcategory
 +
                        “coding sequence”, otherwise the submitted identifier is rejected for the prediction.
 +
                        The DNA sequences are automatically translated into protein sequences.
 +
                    </p>
 +
                    <figure>
 +
                        <a style="font-size: small"
 +
                          href="https://2019.igem.org/wiki/images/4/4b/T--Tuebingen--c3pred_demo_1.gif"
 +
                          data-effect="mfp-zoom-out"
 +
                          title="Fig 2: C3Pred usage demonstration.">
 +
                            <img src="https://2019.igem.org/wiki/images/4/4b/T--Tuebingen--c3pred_demo_1.gif"
 +
                                class="figure-img img-fluid rounded"
 +
                                alt="A generic square placeholder"></a>
 +
                        <figcaption style="font-size: small; color: #F4F0DE">Fig 2: C3Pred usage demonstration.</figcaption>
 +
                    </figure>
 +
                </div>
 +
            </div>
 +
 
 +
            <h2 style="font-family:'Righteous'; color:#2ecc71;">Implementation</h2>
 +
 
 +
 
 +
            <div class="row">
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Input</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        C3Pred accepts three possible input formats for protein data:
 +
                    </p>
 +
                    <ul style="color: #2ecc71">
 +
                        <li>FASTA-formatted sequences</li>
 +
                        <li>UniProtKB Accession Number</li>
 +
                        <li>iGEM Part ID</li>
 +
                    </ul>
 +
                    <p>
 +
                        C3Pred automatically fetches and parses the information about the given identifiers using the
 +
                        UniProt website REST API or using the iGEM Registry API, respectively. For this function, an internet connection is required.
 +
                    </p>
 +
                </div>
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Input requirements</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        All proteins submitted to the tool must fulfill certain criteria, such that a transport
 +
                        efficiency score can be computed. CPPs usually have a length between 4-40 amino acids, thus only
 +
                        protein sequences with a length in this range are accepted as input. Moreover, only sequences
 +
                        containing the 20 standard amino acids should be used. Non-standard amino acid encodings like B
 +
                        encoding for asparagine/aspartate or S for selenocysteine can also be parsed and used for prediction,
 +
                        but this feature is experimental. Since information about those amino acids is not backed up by
 +
                        the training data, results produced for those peptides must be interpreted with caution.
 +
                    </p>
 +
                    <p>
 +
                        For iGEM part IDs further requirements need to be fulfilled, such that a prediction can be made.
 +
                        C3Pred only accepts parts defined as coding sequences. If the sequence is coding, our tool
 +
                        automatically translates it into a protein sequence.
 +
                    </p>
 +
                </div>
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Output</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        For every peptide, a transport efficiency score is computed. For peptides without a carrier
 +
                        property, the score is close to zero. For extremely active peptides, the score is close to 250-300.
 +
                        The values computed for different peptides can be directly compared. Since the output is a
 +
                        dimensionless numerical value,  a straightforward classification into no/low/medium/high
 +
                        activity is provided for the user to facilitate the interpretation process. High activities
 +
                        are defined by being in the upper 25 percentile (activity value: 80.08) of all CPP motifs.
 +
                        Medium activities are defined by being in the upper 50 percentile (activity value: 40.15).
 +
                        Moreover, a range of activity values of frequently used CPPs in the literature is also provided
 +
                        in the GUI for direct comparison.
 +
                    </p>
 +
                </div>
 +
                <figure>
 +
                        <a style="font-size: small"
 +
                          href="https://2019.igem.org/wiki/images/d/d6/T--Tuebingen--Workflow-transparent.png"
 +
                          data-effect="mfp-zoom-out"
 +
                          title="Fig 3: The workflow of C3Pred">
 +
                            <img src="https://2019.igem.org/wiki/images/d/d6/T--Tuebingen--Workflow-transparent.png"
 +
                                class="figure-img img-fluid rounded"
 +
                                alt="A generic square placeholder"></a>
 +
                            <figcaption style="font-size: small; color: #F4F0DE">Fig 3: The workflow of C3Pred: Information about the protein can
 +
                                be obtained from a sequence string direct.y, the iGEM part ID of coding sequences or
 +
                                using a UniProtKB accession number. The protein is then used as input for our machine
 +
                                learning model and the activity score is computed as output.</figcaption>
 +
                    </figure>
 +
            </div>
 +
            <h3 style="font-family:'Righteous'; color:#2ecc71;">Core Algorithm</h3>
 +
            <div class="container-fluid py-5 mb-0" style="background-color: #232323">
 +
                    <!-- FOR REUSE: REMOVE bg-dark IF U DONT WANNA HAVE A DARK BACKGROUND -->
 +
                    <div id="accordion">
 +
                        <div class="card">
 +
                            <div class="card-header" id="headingOne">
 +
                                <h5 class="mb-0">
 +
                                    <button class="btn btn-one btn-link collapsed" data-toggle="collapse"
 +
                                            data-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"
 +
                                            style="font-size: 110%">
 +
                                        Core Algorithm
 +
                                    </button>
 +
                                </h5>
 +
                            </div>
 +
                            <div id="collapseOne" class="collapse" aria-labelledby="headingOne"
 +
                                data-parent="#accordion">
 +
                                <div class="card-body" style="background-color: #232323;">
 +
                                    <h3 style="font-family:'Righteous'; color: #2ecc71;">XGBoost</h3>
 +
                                    <p style="color: #F4F0DE">
 +
                                        C3PRed is based on gradient boosted trees using the implementation of the XGBoost
 +
                                        library [5]. Gradient boosted trees are a commonly used algorithm for
 +
                                        supervised machine learning problems. Key advantages are their inherently
 +
                                        fast training speed and high accuracy for problems, which cannot be solved using
 +
                                        deep learning techniques, due to sparse datasets. The key idea of the gradient
 +
                                        boosted trees algorithm is to map a set of input features onto a single numerical
 +
                                        value. In our case, the input is the encoded protein sequence and the predicted
 +
                                        numerical value is the activity scores. For this purpose, numerous decision trees
 +
                                        are generated, which are iteratively added to the model, such that with each
 +
                                        addition the model improves.
 +
                                    </p>
 +
                                    <<h3 style="font-family:'Righteous'; color: #2ecc71;">Data</h3>
 +
                                    <p style="color: #F4F0DE">
 +
                                        To train our model we used the publicly available dataset by Ramaker et al. 2018,
 +
                                        consisting of transport efficiency values for 474 short peptide motifs [6].
 +
                                        In their experiments, short peptides were coupled with a fluorophore and the
 +
                                        transport over the membrane was then measured using fluorescence as a read-out.
 +
                                        The transport efficiency data for each peptide were log2-transformed to facilitate
 +
                                        the fitting process.
 +
                                    </p>
 +
 
 +
                                    <h3 style="font-family:'Righteous'; color: #2ecc71;">Encoding</h3>
 +
                                    <p style="color: #F4F0DE">
 +
                                        To encode the peptides for the machine learning step, we chose an extended
 +
                                        version of the BLOMAP encoding. BLOMAP is a machine-learning oriented representation
 +
                                        of amino acids [7]. It is based on a transformed BLOSUM substitution matrix.
 +
                                        The encoding is extended by numerical values by physicochemical properties of
 +
                                        each amino acid, including flexibility, weight, isoelectric point, hydrophobicity,
 +
                                        polarity, and area.
 +
                                    </p>
 +
                                    <p>
 +
                                        Each peptide is represented as the set of all possible sliding windows of the size
 +
                                        of 14 residues. Shorter peptides are padded at the N- and C-terminus.
 +
                                        An advantage of such an encoding is that after the training steps, it is possible
 +
                                        to analyze the final prediction tool for the most influential features. This allows
 +
                                        a better understanding of the transport mechanism and the general characteristics of CPPs.
 +
                                    </p>
 +
 
 +
                                    <h3 style="font-family:'Righteous'; color: #2ecc71;">Training</h3>
 +
                                    <p style="color: #F4F0DE">
 +
                                        For each sliding window of a peptide, an activity score is computed. The total
 +
                                        activity of the peptide is determined by the mean of all activity values of all sliding windows.
 +
                                        Our CPP transport activity prediction model was fitted to optimize Pearson's
 +
                                        correlation coefficient of the predicted values against the experimentally derived
 +
                                        ones. To find good hyperparameters of the gradient boosted trees algorithm, a random search was performed.
 +
                                        The evaluation of the performance of our predictor was performed using a 10-fold
 +
                                        cross-validation. In a k-fold cross-validation, the data is split into k-subsets of
 +
                                        equal size. The predictor is tested k times, with k-1 subsets of the data in the
 +
                                        training set and 1 subset in the test data. In each iteration, the single subset
 +
                                        which is not part of the training set is used for evaluation. In the end, each of
 +
                                        the k subsets has been in the training set exactly once.
 +
                                    </p>
 +
 
 +
                                    <table class="veggie">
 +
                                <caption>Table 1: Hyperparameters of XGBoost model</caption>
 +
                                <tbody>
 +
                                <th>Hyperparameter</th>
 +
                                <th>Value</th>
 +
                                    <tr>
 +
                                        <td>window_size</td>
 +
                                        <td>14</td>
 +
                                    </tr>
 +
                                    <tr>
 +
                                        <td>n_estimators</td>
 +
                                        <td>600</td>
 +
                                    </tr>
 +
                                <tr>
 +
                                        <td>learning_rate</td>
 +
                                        <td>0.4</td>
 +
                                    </tr>
 +
                                <tr>
 +
                                        <td>max_depth</td>
 +
                                        <td>5</td>
 +
                                    </tr>
 +
                                <tr>
 +
                                        <td>subsample</td>
 +
                                        <td>0.6</td>
 +
                                    </tr>
 +
                                <tr>
 +
                                        <td>gamma</td>
 +
                                        <td>3</td>
 +
                                    </tr>
 +
                                <tr>
 +
                                        <td>min_child_weight</td>
 +
                                        <td>0.75</td>
 +
                                    </tr>
 +
                                <tr>
 +
                                        <td>colsample_bytree</td>
 +
                                        <td>0.8</td>
 +
                                    </tr>
 +
                                </tbody>
 +
                            </table>
 +
                                </div>
 +
                            </div>
 +
                        </div>
 +
                    </div>
 +
                </div>
 +
 
 +
            <h3 style="font-family:'Righteous';">Performance</h3>
 +
            <div class="row">
 +
                <div class="col-12">
 +
                    <p>
 +
                        Predicted activity values of the 10-fold cross-validation are plotted against the
 +
                        experimentally derived ones. Each point represents a peptide. If the predictions would
 +
                        be perfectly accurate, all points would be on the diagonal.
 +
                    </p>
 +
                    <p>
 +
                        Pearson correlation: 0.804
 +
                    </p>
 +
                    <figure>
 +
                        <a style="font-size: small"
 +
                          href="https://2019.igem.org/wiki/images/f/f6/T--Tuebingen--predicted-values-scatter.png_transparent.png"
 +
                          data-effect="mfp-zoom-out"
 +
                          title="Fig 4">
 +
                            <img src="https://2019.igem.org/wiki/images/f/f6/T--Tuebingen--predicted-values-scatter.png_transparent.png"
 +
                                class="figure-img img-fluid rounded"
 +
                                alt="A generic square placeholder"></a>
 +
                        <figcaption style="font-size: small; color: #F4F0DE">Fig 4: Prediction results of C3Pred compared to experimentally derived values.
 +
                            Each point represents a protein. The correlation between predicted and the experimental values is 0.804.</figcaption>
 +
                    </figure>
 +
                    <p>
 +
                        The importance of each feature of the BLOMAP encoding is shown in this visualization.
 +
                        The higher the values, the greater is the importance of the feature on the results of the
 +
                        prediction. The feature isoelectric point is the most important one, which indicates that
 +
                        charged amino acids play the most important role in high activity values.
 +
                    </p>
 +
                    <figure>
 +
                        <a style="font-size: small"
 +
                          href="https://2019.igem.org/wiki/images/b/bc/T--Tuebingen--feature-importance_transparent.png"
 +
                          data-effect="mfp-zoom-out"
 +
                          title="Fig.5: Feature importance plot of the XGBoost model">
 +
                            <img src="https://2019.igem.org/wiki/images/b/bc/T--Tuebingen--feature-importance_transparent.png"
 +
                                class="figure-img img-fluid rounded"
 +
                                alt="A generic square placeholder"></a>
 +
                        <figcaption style="font-size: small; color: #F4F0DE">Fig 5: Feature importance plot of the XGBoost model. Each bar represents
 +
                            one of the features of the BLOMAP encoding. The important feature for the prediction is
 +
                            the isoelectric point, indicating the most influential role being charge.</figcaption>
 +
                    </figure>
 +
                    </div>
 +
                </div>
 +
 
 +
            <h2 style="font-family:'Righteous';">Results</h2>
 +
            <div class="row">
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Validation against experimental data</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        We used the data obtained from the experimental work of previous iGEM teams to validate the
 +
                        results of our prediction tool. In the past years, numerous teams have worked with CPPs. Some
 +
                        of them conducted experiments to compare the transport efficiency of the peptides, which again
 +
                        indicates the potential usefulness of our tool to other teams.
 +
                    </p>
 +
                    <p>
 +
                        The ATOMS Turkiye team of 2013 compared the efficiency of the two CPPs <a href="http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202006" onclick='window.open("http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202006","_self");'>TAT</a>
 +
                        and <a href="http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202009" onclick='window.open("http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202009","_self");'>MPG</a>
 +
                        to transport an apoptosis-inducing protein into different cell lines. Their
 +
                        findings of TAT fusion protein being better transported into the cell than the MPG fusion protein,
 +
                        are in accordance with our predicted values.
 +
                    </p>
 +
                    <p>
 +
                        Our predicted activity values (higher is better):<br>
 +
                        TAT: 45.97<br>
 +
                        MPG: 34.27
 +
                    </p>
 +
                    <p><a href="http://parts.igem.org/Part:BBa_K1202009" onclick='window.open("http://parts.igem.org/Part:BBa_K1202009","_self");'>Their results summary</a></p>
 +
                    <p>
 +
                        The iGEM Team DLUT-China of 2018 conducted a similar comparative experiment for multiple CPPs.
 +
                        They compared R8, <a href="http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202006" onclick='window.open("http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202006","_self");'>TAT</a>,
 +
                        <a href="http://parts.igem.org/Part:BBa_K2752011" onclick='window.open("http://parts.igem.org/Part:BBa_K2752011","_self");'>Pep-1 and cyclic heptapeptide DNP</a>.<br>
 +
                    Their results for R8, TAT and Pep-1 are in accordance with our predictions. R8 was the most transported peptides in their experiments and also scored best in our prediction.
 +
                    However, our tool predicts a bad score for the cyclic heptapeptide DNP, which shows high transport efficiency in their experiment. This can be explained by the fact that our tool was trained only with linear protein sequences containing the standard 20 amino acids. Special peptides, such as this one, probably cannot be predicted by our tool correctly.
 +
                    </p>
 +
                    <p>
 +
                        Our predicted activity values (higher is better):<br>
 +
                        R8: 52.50<br>
 +
                        TAT: 45.97<br>
 +
                        Pep-1: 45.12<br>
 +
                        cyclic heptapeptide DNP: 7.69
 +
                    </p>
 +
                    <p><a href="http://2018.igem.org/Team:DLUT_China/Results#A4.3" onclick='window.open("http://2018.igem.org/Team:DLUT_China/Results#A4.3","_self");'>Their results summary</a></p>
 +
 
 +
 
 +
                    </div>
 +
                </div>
 +
            <h2 style="font-family:'Righteous';">How our software influenced our project</h2>
 +
            <div class="row">
 +
                <h4 style="font-family:'Righteous'; color: #2ecc71;">Validation against experimental data</h4>
 +
                <div class="col-12">
 +
                    <p>
 +
                        We used the results of C3Pred to analyze CPPs to decide on a suitable CPP for our project.
 +
                        We analyzed a series of CPP which were already present in the iGEM Registry and additional
 +
                        peptides which were frequently referred to in the literature.
 +
                    </p>
 +
                    <p>
 +
                        <a href="http://parts.igem.org/Part:BBa_K2660000" onclick='window.open("http://parts.igem.org/Part:BBa_K2660000","_self");'>Penetratin : 153.16</a><br>
 +
                        <a href="http://parts.igem.org/Part:BBa_K380005" onclick='window.open("http://parts.igem.org/Part:BBa_K380005","_self");'>Tp10 : 100.68</a><br>
 +
                        <a href="http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202006" onclick='window.open("http://parts.igem.org/wiki/index.php?title=Part:BBa_K1202006","_self");'>TAT: 45.97</a>
 +
                    </p>
 +
                    <p>
 +
                        Since Penetratin showed the highest scores compared to the other parts available in the iGEM Registry,
 +
                        we decided to select this specific CPP as the carrier for the Exendin-4 protein of our project.
 +
                    </p>
 +
                    <p>
 +
                        Moreover, we computed an elevated transport activity for the CPP fusion protein
 +
                        <a href="http://parts.igem.org/Part:BBa_K3096016" onclick='window.open("http://parts.igem.org/Part:BBa_K3096016","_self");'>TAT-LK15</a>
 +
                        , which has been reported to enhance the properties of TAT.
 +
                    </p>
 +
                    <p>
 +
                        <a href="http://parts.igem.org/Part:BBa_K3096016" onclick='window.open("http://parts.igem.org/Part:BBa_K3096016","_self");'>TAT-LK15 : 228.81</a>
 +
                    </p>
 +
                    </div>
 +
                </div>
 +
 
 +
            <h3 style="font-family:'Righteous';">How our software influenced our project (2.0)</h3>
 +
            <div class="row">
 +
                <div class="col-12">
 +
                    <p>
 +
                        We used the results of C3Pred to analyze a series of CPPs to decide on a suitable peptide for our project.
 +
                    </p>
 +
                    <p>
 +
                        Details on the selection process can be found on the <a href="https://2019.igem.org/TEam:Tuebingen/Model" onclick='window.open("https://2019.igem.org/TEam:Tuebingen/Model","_self");'>modeling page</a>.
 +
                    </p>
 +
                    </div>
 +
                </div>
 +
        </div>
 +
 
 +
          <div id="glpreferences" class="row">
 +
                <h3 style="font-family:'Righteous'; color: #2ecc71;">References</h3>
 +
                <div class="col-12" style="font-size: small; overflow-wrap: break-word;">
 +
                    <ol>
 +
                        <li style="color: #F4F0DE"><a href=https://www.nature.com/articles/s41467-018-04874-6>https://www.nature.com/articles/s41467-018-04874-6</a></li>
 +
                        <li id="ref_2" style="color: #F4F0DE"><a href="https://www.nature.com/articles/s41598-018-30790-2">https://www.nature.com/articles/s41598-018-30790-2</a></li>
 +
                        <li id="ref_3" style="color: #F4F0DE"><a href="https://www.doi.org/10.1016/j.tips.2017.01.003">https://www.doi.org/10.1016/j.tips.2017.01.003</a></li>
 +
                        <li id="ref_4" style="color: #F4F0DE"><a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6324683/">https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6324683/</a></li>
 +
                        <li id="ref_5" style="color: #F4F0DE"><a href="http://dx.doi.org/10.1145/2939672.2939785">http://dx.doi.org/10.1145/2939672.2939785</a></li>
 +
                        <li id="ref_6" style="color: #F4F0DE"><a href="https://doi.org/10.1142/9781860947322_0014">https://doi.org/10.1142/9781860947322_0014</a></li>
 +
                        <li id="ref_7" style="color: #F4F0DE"><a href="https://doi.org/10.1080/10717544.2018.1458921">https://doi.org/10.1080/10717544.2018.1458921</a></li>
 +
                    </ol>
 +
                </div>
 +
            </div>
 +
    </main>
 
</div>
 
</div>
 
</div>
 
</div>
  
 +
 +
 +
<script src="https://2019.igem.org/Team:Tuebingen/sidebarJS?action=raw&ctype=text/javascript"></script>
 +
 +
<script src="https://2019.igem.org/Team:Tuebingen/smoothScrollJS?action=raw&ctype=text/javascript"></script>
 +
<script>
 +
var scroll = new SmoothScroll('a[href*="#"]');
 +
</script>
 +
<script src="https://2019.igem.org/Team:Tuebingen/magni-popup-minJS?action=raw&ctype=text/javascript"></script>
 +
<script src="https://2019.igem.org/Team:Tuebingen/popup-imagesJS?action=raw&ctype=text/javascript"></script>
 +
 +
<div class='container-fluid p-3' style="background-color: rgba(35, 35, 35, 0.4);">
 +
    <hr>
 +
    <div class='row align-items-center'>
 +
        <div class='col-6 col-md-2 sponsorLogo text-center'>
 +
            <a href="https://www.stura-tuebingen.de/" target="_blank2"><img class="img-fluid"
 +
                                                                            src="https://2019.igem.org/wiki/images/1/10/T--Tuebingen--stura_logo.png"
 +
                                                                            style="max-height: 80px;"></a>
 +
        </div>
 +
        <div class='col-6 col-md-2 sponsorLogo text-center'>
 +
            <a href="https://www.embl.de/" target="_blank2"><img class="img-fluid"
 +
                                                                src="https://2019.igem.org/wiki/images/c/c4/T--Tuebingen--embl_logo.png"
 +
                                                                style="max-height: 80px;"></a>
 +
        </div>
 +
                <div class='col-6 col-md-2 sponsorLogo text-center'>
 +
            <a href="https://www.medizin.uni-tuebingen.de/de/medizinische-fakultaet/forschung/core-facilities/ncct"
 +
              target="_blank2"><img class="img-fluid"
 +
                                    src="https://2019.igem.org/wiki/images/e/ec/T--Tuebingen--NCCT.png"
 +
                                    style="max-height: 80px;"></a>
 +
        </div>
 +
        <div class='col-6 col-md-2 sponsorLogo text-center'>
 +
            <a href="https://www.kohlbacherlab.org" target="_blank2"><img class="img-fluid"
 +
                                                                          src="https://2019.igem.org/wiki/images/9/99/T--Tuebingen--kohlbacher_logo.png"
 +
                                                                          style="max-height: 80px;"></a>
 +
        </div>
 +
        <div class='col-6 col-md-2 sponsorLogo text-center'>
 +
            <a href="https://www.dieter-schwarz-stiftung.de/homepage.html" target="_blank2"><img class="img-fluid"
 +
                                                                                                src="https://2019.igem.org/wiki/images/8/86/T--Tuebingen--LogoDSS.png"
 +
                                                                                                style="max-height: 80px;"></a>
 +
        </div>
 +
 +
        <div class='col-6 col-md-2 sponsorLogo text-center'>
 +
            <a href="https://www.experimenta.science/en/" target="_blank2"><img class="img-fluid"
 +
                                                                                src="https://2019.igem.org/wiki/images/e/eb/T--Tuebingen--Logo-Experimenta.png"
 +
                                                                                style="max-height: 80px;"></a>
 +
        </div>
 +
 +
    </div>
 +
 +
    <hr>
 +
    <div class='row align-items-center'>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.lexogen.com/" target="_blank2"><img class="img-fluid"
 +
                                                                    src="https://2019.igem.org/wiki/images/4/43/T--Tuebingen--lexogen_logo.png"></a>
 +
        </div>
 +
                <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.zmbp.uni-tuebingen.de/zmbp.html" target="_blank2"><img class="img-fluid"
 +
                                                                                        src="https://2019.igem.org/wiki/images/d/d8/T--Tuebingen--zmbp_logo.png"
 +
                                                                                        style="max-height: 80px;"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="http://s466755640.online.de/4bl/" target="_blank2"><img class="img-fluid"
 +
                                                                            src="https://2019.igem.org/wiki/images/0/0b/T--Tuebingen--4base_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.agilent.com/" target="_blank2"><img class="img-fluid"
 +
                                                                    src="https://2019.igem.org/wiki/images/e/e7/T--Tuebingen--agilent_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.digitalocean.com/" target="_blank2"><img class="img-fluid"
 +
                                                                          src="https://2019.igem.org/wiki/images/6/67/T--Tuebingen--digitalocean_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://dwk.com/" target="_blank2"><img class="img-fluid"
 +
                                                            src="https://2019.igem.org/wiki/images/c/ce/T--Tuebingen--dwk_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.eppendorf.com/" target="_blank2"><img class="img-fluid"
 +
                                                                      src="https://2019.igem.org/wiki/images/a/a6/T--Tuebingen--eppendorf_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.implen.de/" target="_blank2"><img class="img-fluid"
 +
                                                                  src="https://2019.igem.org/wiki/images/b/bb/T--Tuebingen--Logo-Implen.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.jenabioscience.com/" target="_blank2"><img class="img-fluid"
 +
                                                                            src="https://2019.igem.org/wiki/images/3/31/T--Tuebingen--JBS_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.gbo.com/" target="_blank2"><img class="img-fluid"
 +
                                                                src="https://2019.igem.org/wiki/images/a/ae/T--Tuebingen--greiner_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="http://www.metabion.com/" target="_blank2"><img class="img-fluid"
 +
                                                                    src="https://2019.igem.org/wiki/images/4/41/T--Tuebingen--Logo-Metabion.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.microsynth.ch/home-ch.html" target="_blank2"><img class="img-fluid"
 +
                                                                                  src="https://2019.igem.org/wiki/images/1/18/T--Tuebingen--microsynth_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.neb.com/" target="_blank2"><img class="img-fluid"
 +
                                                                src="https://2019.igem.org/wiki/images/2/29/T--Tuebingen--neb_logo.png"></a>
 +
        </div>
 +
    </div>
 +
 +
    <div class='row align-items-center'>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.promega.de/en/" target="_blank2"><img class="img-fluid"
 +
                                                                      src="https://2019.igem.org/wiki/images/f/f8/T--Tuebingen--promega_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.qiagen.com/us/" target="_blank2"><img class="img-fluid"
 +
                                                                      src="https://2019.igem.org/wiki/images/9/92/T--Tuebingen--qiagen_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.carlroth.com/en/en" target="_blank2"><img class="img-fluid"
 +
                                                                          src="https://2019.igem.org/wiki/images/6/61/T--Tuebingen--roth_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.sitoolsbiotech.com/" target="_blank2"><img class="img-fluid"
 +
                                                                            src="https://2019.igem.org/wiki/images/3/31/T--Tuebingen--sibiotools_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.snapgene.com/" target="_blank2"><img class="img-fluid"
 +
                                                                      src="https://2019.igem.org/wiki/images/3/3a/T--Tuebingen--snapgene_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.trilinkbiotech.com/" target="_blank2"><img class="img-fluid"
 +
                                                                            src="https://2019.igem.org/wiki/images/b/b6/T--Tuebingen--trilink_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://twistbioscience.com/" target="_blank2"><img class="img-fluid"
 +
                                                                        src="https://2019.igem.org/wiki/images/4/4c/T--Tuebingen--Logo-Twist.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="http://www.vazymebiotech.com/" target="_blank2"><img class="img-fluid"
 +
                                                                          src="https://2019.igem.org/wiki/images/b/b7/T--Tuebingen--vazyme_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.biolegend.com/" target="_blank2"><img class="img-fluid"
 +
                                                                      src="https://2019.igem.org/wiki/images/c/c3/T--Tuebingen--biolegend_logo.png"></a>
 +
        </div>
 +
        <div class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.zymoresearch.de/" target="_blank2"><img class="img-fluid"
 +
                                                                        src="https://2019.igem.org/wiki/images/6/6e/T--Tuebingen--zymo_logo.png"></a>
 +
        </div>
 +
 +
    </div>
 +
</div>
 +
 +
<script src="https://2019.igem.org/Team:Tuebingen/magni-popup-minJS?action=raw&ctype=text/javascript"></script>
 +
<script src="https://2019.igem.org/Team:Tuebingen/popup-imagesJS?action=raw&ctype=text/javascript"></script>
 +
<div class="visualClear"></div>
 
</html>
 
</html>

Revision as of 18:58, 20 October 2019

GLP.exe

Software

C3Pred - Cell-Penetrating Peptide Predictor

Our Software

Live Version
Python package
Web app: (TBA)

Cell-penetrating peptides (CPPs) are short 4-30 amino acids long peptides, which possess the ability to transport different cargo over the cell membrane. These cargos include proteins, nanobodies, DNA molecules, and small molecule drugs. In recent years, numerous promising clinical and pre-clinical trials have been launched, with CPPs as a carrier for pharmacologically active small molecules.

They can be classified into three general groups: cationic, amphipathic, and hydrophobic CPPs. Each group of peptides has different physical-chemical properties and therefore differs in the internalization mechanism. The pathways that CPPs exploit to enter the cell can be divided into two larger groups, endocytic pathways, and direct cell penetration [2, 3]. Since there are different, not yet fully understood mechanisms involved, simple models, describing the relationship between sequence and function, are particularly challenging to generate. Hence, the discovery of novel CPPs and activity optimization is mostly relying on large screening approaches.

A generic square placeholder
Fig.1: Proteins can be fused to a cell-penetrating peptide (CPP) (left). CPPs allow proteins to penetrate cells via different mechanisms and can be used to transport proteins into cells or through cells. Proteins without a CPP can normally not penetrate cells (right).

Motivation

As part of our project, we planned to utilize cell-penetrating peptides (CPPs) to allow a cargo, the Exendin-4 protein, to be transported across a eukaryotic cell-layer. A challenging part of our project design was to decide on a specific CPP out of the tremendous variety of different transporting peptides. In October 2019, CPPsite 2.0, the largest database for CPPs, contained more than 1850 different peptide motifs, which are capable of delivering conjugates into cells. However, the CPPsite database only contains qualitative information about whether a peptide has a cell-penetrating activity, but no quantitative information about how efficient cargo is transported across the cell membrane.

Therefore we decided to generate a predictive software tool, which allows assigning a transport efficiency score to CPPs. This allows making educated decisions on the design process.

Overview of our tool

Our goal was to create an easy-to-use software tool, which allows scientists to make design choices for their system based on quantitative transport activity scores. We put a strong emphasis on good usability for different kinds of users. Firstly, we implemented an intuitive browser-based graphical user interface for simple usability. Secondly, we also released our software tool as a Python package, which is easily installable for everyone using PIP, allowing other developers to incorporate our software tool into their scripts.

Short peptide sequences can be submitted to the program by either using a sequence string in FASTA-format, an Uniprot ID or an iGEM Registry ID of coding DNA sequences. Our tool computes a transport efficiency score for each sequence, which is automatically interpreted for the user by comparing it to well-characterized CPPs.

Why use our tool?

Our tool offers several distinct advantages for researchers interested in CPPs. First, our tool predicts real numerical values, which allows for a much more fine-tuned evaluation, as well as a comparison of CPP efficacy. Second, our tool is as user-friendly as it gets. The installation for a local version is trivial, which also allows for very simple integration into more advanced workflows. Moreover, our tool is accessible as a web app here.

Our very simple to use web interface offers three simple and useful options: Peptides can either be entered as raw text sequences, via the Uniprot Accession number, or the iGEM Registry ID. Third, since our algorithm instantly returns the CPP efficiency, several CPPs with different modifications or lengths can be quickly compared, allowing for the exploration as well as the design of novel CPPs.

Installation and usage of our tool

Our tool can be used on Linux, Windows and Mac OS. Please follow the installation instruction here.

When starting our tool, the landing page allows navigating to the three running modes (from protein sequence, Uniprot Accession number & iGEM Registry ID). Additional information about the running modes can be displayed by clicking on “more info”.

Prediction using a sequence string

To predict the transport effectivity of a FASTA-formatted amino acid string, please make sure that the sequence does only contain letters corresponding to the genetic code of the 20 standard amino acids. Moreover, please make sure that the submitted sequence is not longer than 50 residues.

Using a Uniprot Accession number

Since Uniprot is one of the largest publicly accessible resources for proteins, our tool allows using the Uniprot Accession number as input, which consists of 6-10 characters (e.g. Q86FU0). Information about the accession numbers can be found on the Uniprot Website.

Prediction using an iGEM Registry ID

Prediction on sequences in the iGEM registry can only be made on parts tagged in the subcategory “coding sequence”, otherwise the submitted identifier is rejected for the prediction. The DNA sequences are automatically translated into protein sequences.

A generic square placeholder
Fig 2: C3Pred usage demonstration.

Implementation

Input

C3Pred accepts three possible input formats for protein data:

  • FASTA-formatted sequences
  • UniProtKB Accession Number
  • iGEM Part ID

C3Pred automatically fetches and parses the information about the given identifiers using the UniProt website REST API or using the iGEM Registry API, respectively. For this function, an internet connection is required.

Input requirements

All proteins submitted to the tool must fulfill certain criteria, such that a transport efficiency score can be computed. CPPs usually have a length between 4-40 amino acids, thus only protein sequences with a length in this range are accepted as input. Moreover, only sequences containing the 20 standard amino acids should be used. Non-standard amino acid encodings like B encoding for asparagine/aspartate or S for selenocysteine can also be parsed and used for prediction, but this feature is experimental. Since information about those amino acids is not backed up by the training data, results produced for those peptides must be interpreted with caution.

For iGEM part IDs further requirements need to be fulfilled, such that a prediction can be made. C3Pred only accepts parts defined as coding sequences. If the sequence is coding, our tool automatically translates it into a protein sequence.

Output

For every peptide, a transport efficiency score is computed. For peptides without a carrier property, the score is close to zero. For extremely active peptides, the score is close to 250-300. The values computed for different peptides can be directly compared. Since the output is a dimensionless numerical value, a straightforward classification into no/low/medium/high activity is provided for the user to facilitate the interpretation process. High activities are defined by being in the upper 25 percentile (activity value: 80.08) of all CPP motifs. Medium activities are defined by being in the upper 50 percentile (activity value: 40.15). Moreover, a range of activity values of frequently used CPPs in the literature is also provided in the GUI for direct comparison.

A generic square placeholder
Fig 3: The workflow of C3Pred: Information about the protein can be obtained from a sequence string direct.y, the iGEM part ID of coding sequences or using a UniProtKB accession number. The protein is then used as input for our machine learning model and the activity score is computed as output.

Core Algorithm

XGBoost

C3PRed is based on gradient boosted trees using the implementation of the XGBoost library [5]. Gradient boosted trees are a commonly used algorithm for supervised machine learning problems. Key advantages are their inherently fast training speed and high accuracy for problems, which cannot be solved using deep learning techniques, due to sparse datasets. The key idea of the gradient boosted trees algorithm is to map a set of input features onto a single numerical value. In our case, the input is the encoded protein sequence and the predicted numerical value is the activity scores. For this purpose, numerous decision trees are generated, which are iteratively added to the model, such that with each addition the model improves.

<

Data

To train our model we used the publicly available dataset by Ramaker et al. 2018, consisting of transport efficiency values for 474 short peptide motifs [6]. In their experiments, short peptides were coupled with a fluorophore and the transport over the membrane was then measured using fluorescence as a read-out. The transport efficiency data for each peptide were log2-transformed to facilitate the fitting process.

Encoding

To encode the peptides for the machine learning step, we chose an extended version of the BLOMAP encoding. BLOMAP is a machine-learning oriented representation of amino acids [7]. It is based on a transformed BLOSUM substitution matrix. The encoding is extended by numerical values by physicochemical properties of each amino acid, including flexibility, weight, isoelectric point, hydrophobicity, polarity, and area.

Each peptide is represented as the set of all possible sliding windows of the size of 14 residues. Shorter peptides are padded at the N- and C-terminus. An advantage of such an encoding is that after the training steps, it is possible to analyze the final prediction tool for the most influential features. This allows a better understanding of the transport mechanism and the general characteristics of CPPs.

Training

For each sliding window of a peptide, an activity score is computed. The total activity of the peptide is determined by the mean of all activity values of all sliding windows. Our CPP transport activity prediction model was fitted to optimize Pearson's correlation coefficient of the predicted values against the experimentally derived ones. To find good hyperparameters of the gradient boosted trees algorithm, a random search was performed. The evaluation of the performance of our predictor was performed using a 10-fold cross-validation. In a k-fold cross-validation, the data is split into k-subsets of equal size. The predictor is tested k times, with k-1 subsets of the data in the training set and 1 subset in the test data. In each iteration, the single subset which is not part of the training set is used for evaluation. In the end, each of the k subsets has been in the training set exactly once.

Table 1: Hyperparameters of XGBoost model
Hyperparameter Value
window_size 14
n_estimators 600
learning_rate 0.4
max_depth 5
subsample 0.6
gamma 3
min_child_weight 0.75
colsample_bytree 0.8

Performance

Predicted activity values of the 10-fold cross-validation are plotted against the experimentally derived ones. Each point represents a peptide. If the predictions would be perfectly accurate, all points would be on the diagonal.

Pearson correlation: 0.804

A generic square placeholder
Fig 4: Prediction results of C3Pred compared to experimentally derived values. Each point represents a protein. The correlation between predicted and the experimental values is 0.804.

The importance of each feature of the BLOMAP encoding is shown in this visualization. The higher the values, the greater is the importance of the feature on the results of the prediction. The feature isoelectric point is the most important one, which indicates that charged amino acids play the most important role in high activity values.

A generic square placeholder
Fig 5: Feature importance plot of the XGBoost model. Each bar represents one of the features of the BLOMAP encoding. The important feature for the prediction is the isoelectric point, indicating the most influential role being charge.

Results

Validation against experimental data

We used the data obtained from the experimental work of previous iGEM teams to validate the results of our prediction tool. In the past years, numerous teams have worked with CPPs. Some of them conducted experiments to compare the transport efficiency of the peptides, which again indicates the potential usefulness of our tool to other teams.

The ATOMS Turkiye team of 2013 compared the efficiency of the two CPPs TAT and MPG to transport an apoptosis-inducing protein into different cell lines. Their findings of TAT fusion protein being better transported into the cell than the MPG fusion protein, are in accordance with our predicted values.

Our predicted activity values (higher is better):
TAT: 45.97
MPG: 34.27

Their results summary

The iGEM Team DLUT-China of 2018 conducted a similar comparative experiment for multiple CPPs. They compared R8, TAT, Pep-1 and cyclic heptapeptide DNP.
Their results for R8, TAT and Pep-1 are in accordance with our predictions. R8 was the most transported peptides in their experiments and also scored best in our prediction. However, our tool predicts a bad score for the cyclic heptapeptide DNP, which shows high transport efficiency in their experiment. This can be explained by the fact that our tool was trained only with linear protein sequences containing the standard 20 amino acids. Special peptides, such as this one, probably cannot be predicted by our tool correctly.

Our predicted activity values (higher is better):
R8: 52.50
TAT: 45.97
Pep-1: 45.12
cyclic heptapeptide DNP: 7.69

Their results summary

How our software influenced our project

Validation against experimental data

We used the results of C3Pred to analyze CPPs to decide on a suitable CPP for our project. We analyzed a series of CPP which were already present in the iGEM Registry and additional peptides which were frequently referred to in the literature.

Penetratin : 153.16
Tp10 : 100.68
TAT: 45.97

Since Penetratin showed the highest scores compared to the other parts available in the iGEM Registry, we decided to select this specific CPP as the carrier for the Exendin-4 protein of our project.

Moreover, we computed an elevated transport activity for the CPP fusion protein TAT-LK15 , which has been reported to enhance the properties of TAT.

TAT-LK15 : 228.81

How our software influenced our project (2.0)

We used the results of C3Pred to analyze a series of CPPs to decide on a suitable peptide for our project.

Details on the selection process can be found on the modeling page.