Loading menubar.....

Difference between revisions of "Team:Tuebingen/Software"

(Prototype team page)
 
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Tuebingen}}
+
<html lang="en" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/html">
<html>
+
  
 +
<meta charset="UTF-8"/>
  
<div class="column full_size judges-will-not-evaluate">
+
<style>
<h3>★  ALERT! </h3>
+
    /* Paste this css to your style sheet file or under head tag */
<p>This page is used by the judges to evaluate your team for the <a href="https://2019.igem.org/Judging/Medals">medal criterion</a> or <a href="https://2019.igem.org/Judging/Awards"> award listed below</a>. </p>
+
    /* This only works with JavaScript,
<p> Delete this box in order to be evaluated for this medal criterion and/or award. See more information at <a href="https://2019.igem.org/Judging/Pages_for_Awards"> Instructions for Pages for awards</a>.</p>
+
    if it's not present, don't show loader */
</div>
+
    .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: #292935;
 +
    }
  
<div class="clear"></div>
+
    .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%;
 +
        }
 +
    }
  
<div class="column full_size">
+
    @media screen and (max-width: 1100px ) {
<h1>Software</h1>
+
        .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/4/49/T--Tuebingen--DNA_gif.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 #2ecc71;
 +
    }
 +
 +
    .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: #2ecc71;
 +
        border-color: #2ecc71
 +
    }
 +
 +
    .btn-success:hover {
 +
        color: #fff;
 +
        background-color: #2ecc71;
 +
        border-color: #2ecc71
 +
    }
 +
 +
    .btn-success.focus, .btn-success:focus {
 +
        box-shadow: 0 0 0 .2rem #2ecc71
 +
    }
 +
 +
    .btn-success.disabled, .btn-success:disabled {
 +
        color: #fff;
 +
        background-color: #2ecc71;
 +
        border-color: #2ecc71
 +
    }
 +
 +
    .btn-success:not(:disabled):not(.disabled).active, .btn-success:not(:disabled):not(.disabled):active, .show > .btn-success.dropdown-toggle {
 +
        color: #fff;
 +
        background-color: #2ecc71;
 +
        border-color: #2ecc71
 +
    }
 +
 +
    .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 #2ecc71
 +
    }
 +
 +
    .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: #232323 !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;
 +
    }
 +
 +
 +
    /* 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: #232323;
 +
    }
 +
 +
    .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;
 +
    }
 +
 +
    .post-content h4 {
 +
        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 - Software</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="">
 +
<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/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/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/Outlook"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Outlook</a>
 +
                    <a class="dropdown-item" href="/Team:Tuebingen/Entrepreneurship"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Entrepreneurship</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/Characterized_Part"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Characterized
 +
                        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>
 +
                    <a class="dropdown-item" href="/Team:Tuebingen/Downloads"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Downloads</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/Sponsors"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Sponsors</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/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/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>
 +
                    <a class="dropdown-item" href="/Team:Tuebingen/Survey"
 +
                      style="font-family: 'Righteous', cursive; font-weight: normal; color: #2ecc71;">Survey</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/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: #2ecc71;
 +
    }
 +
 +
    .btn-link:focus {
 +
        opacity: 1;
 +
        text-decoration: none;
 +
        color: #2ecc71;
 +
    }
 +
 +
    .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: #2ecc71;
 +
        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: #2ecc71;
 +
        border-bottom-color: #2ecc71;
 +
        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
 +
        ==========================
 +
        */
 +
    .vegan {
 +
        display: block;
 +
        margin-left: auto;
 +
        margin-right: auto;
 +
        width: 70%;
 +
    }
 +
 +
</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>
 +
 
 +
                <div class="row">
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color:#2ecc71;">Our Software</h3>
 +
                        <p>
 +
                        <ul style="color: #F4F0DE">
 +
                            <li><a href="https://igem-tuebingen.com/c3pred/" style="color: #2ecc71"
 +
                                  onclick='window.open("https://igem-tuebingen.com/c3pred/","_self");'>Live Version</a>
 +
                            </li>
 +
                            <li><a href="https://github.com/igemsoftware2019/Tuebingen_c3pred" style="color: #2ecc71"
 +
                                  onclick='window.open("https://github.com/igemsoftware2019/Tuebingen_c3pred","_self");'>Python
 +
                                Package Repository</a> and <a
 +
                                    href="https://github.com/igemsoftware2019/Tuebingen_c3pred" style="color: #2ecc71"
 +
                                    onclick='window.open("https://github.com/igemsoftware2019/Tuebingen_c3pred/releases","_self");'>Judging
 +
                                Release</a></li>
 +
                            <li><a href="https://github.com/igemsoftware2019/Tuebingen_c3pred" style="color: #2ecc71"
 +
                                  onclick='window.open("https://github.com/igemsoftware2019/Tuebingen_c3pred_webapp","_self");'>Webapp Repository
 +
                            </a> and <a href="https://github.com/igemsoftware2019/Tuebingen_c3pred" style="color: #2ecc71"
 +
                                        onclick='window.open("https://github.com/igemsoftware2019/Tuebingen_c3pred_webapp/releases","_self");'>Judging
 +
                                Release</a></li>
 +
                        </ul>
 +
                        </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 class="vegan">
 +
                            <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">Figure 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>
 +
                            C3Pred is an easy-to-use software tool, which allows scientists to make design choices for
 +
                            their CPP-utilizing 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 <a href="https://github.com/igemsoftware2019/Tuebingen_c3pred_gui"
 +
                                        onclick='window.open("https://github.com/igemsoftware2019/Tuebingen_c3pred_gui","_self");'>browser-based
 +
                            graphical user interface</a>
 +
                            for simple usability. Secondly, we also
 +
                            released our software tool as a <a
 +
                                href="https://github.com/igemsoftware2019/Tuebingen_c3pred"
 +
                                onclick='window.open("https://github.com/igemsoftware2019/Tuebingen_c3pred","_self");'>Python
 +
                            package</a>, 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>
 +
 
 +
 
 +
                <div class="row">
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71">Why use our tool?</h3>
 +
                        <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>
 +
 
 +
                    <div class="col-12">
 +
                        <h4 style="font-family:'Righteous';">Prediction using a sequence string</h4>
 +
                        <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 40
 +
                            residues.
 +
                        </p>
 +
                    </div>
 +
 
 +
                    <div class="col-12">
 +
                        <h4 style="font-family:'Righteous';">Using a Uniprot Accession number</h4>
 +
                        <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>
 +
 
 +
                    <div class="col-12">
 +
                        <h4 style="font-family:'Righteous';">Prediction using an iGEM Registry ID</h4>
 +
                        <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 class="vegan">
 +
                            <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">Figure 2: C3Pred usage demonstration.
 +
                            </figcaption>
 +
                        </figure>
 +
                    </div>
 +
                </div>
 +
 
 +
                <h2 style="font-family:'Righteous'; color:#2ecc71;">Implementation</h2>
 +
 
 +
 
 +
                <div class="row">
 +
 
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71;">Input</h3>
 +
                        <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>
 +
 
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71;">Input requirements</h3>
 +
                        <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>
 +
 
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71;">Output</h3>
 +
                        <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 class="vegan">
 +
                        <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">Figure 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>
 +
 
 +
                                    <figure>
 +
                                        <a style="font-size: small"
 +
                                          href="https://2019.igem.org/wiki/images/f/f3/T--Tuebingen--softwaretable.png"
 +
                                          data-effect="mfp-zoom-out" title="">
 +
                                            <img src="https://2019.igem.org/wiki/images/f/f3/T--Tuebingen--softwaretable.png"
 +
                                                class="figure-img img-fluid rounded" alt="Placeholder"></a>
 +
                                    </figure>
 +
                                </div>
 +
                            </div>
 +
                        </div>
 +
                    </div>
 +
                </div>
 +
 
 +
 
 +
                <div class="row">
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71">Performance</h3>
 +
                        <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. Our algorithm achieved a Pearson
 +
                            correlation of 0.804, which is considered very good.
 +
                        </p>
 +
                        <figure class="vegan">
 +
                            <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">Figure 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 class="vegan">
 +
                            <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">Figure 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">
 +
 
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71;">Validation against experimental data</h3>
 +
                        <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>
 +
                        <h4 style="color: #2ecc71">ATOMS Turkiye</h4>
 +
                        <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://2013.igem.org/Team:ATOMS-Turkiye/Project/Module2/Experiment"
 +
                              onclick='window.open("http://2013.igem.org/Team:ATOMS-Turkiye/Project/Module2/Experiment","_self");'>Results
 +
                            of the ATOMS Turkiye team</a></p>
 +
                        <h4 style="color: #2ecc71">DLUT-China</h4>
 +
                        <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");'>Results
 +
                            iGEM Team DLUT-China</a></p>
 +
 
 +
 
 +
                    </div>
 +
                </div>
 +
                <h2 style="font-family:'Righteous';">How our software influenced our project</h2>
 +
                <div class="row">
 +
 
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71;">Validation against experimental data</h3>
 +
                        <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>
 +
 
 +
 
 +
                <div class="row">
 +
                    <div class="col-12">
 +
                        <h3 style="font-family:'Righteous'; color: #2ecc71">How our software influenced our project
 +
                            (2.0)</h3>
 +
                        <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>Kauffman,
 +
                            W. Berkeley, Shantanu Guha, and William C. Wimley. "Synthetic molecular evolution of hybrid
 +
                            cell penetrating peptides." Nature communications 9.1 (2018): 2568.</a></li>
 +
                        <li id="ref_2" style="color: #F4F0DE"><a
 +
                                href="https://www.nature.com/articles/s41598-018-30790-2">Hoffmann, Katrin, et al. "A
 +
                            platform for discovery of functional cell-penetrating peptides for efficient multi-cargo
 +
                            intracellular delivery." Scientific reports 8.1 (2018): 12538.</a></li>
 +
                        <li id="ref_3" style="color: #F4F0DE"><a href="https://www.doi.org/10.1016/j.tips.2017.01.003">Guidotti,
 +
                            Giulia, Liliana Brambilla, and Daniela Rossi. "Cell-penetrating peptides: from basic
 +
                            research to clinics." Trends in pharmacological sciences 38.4 (2017): 406-424.</a></li>
 +
                        <li id="ref_4" style="color: #F4F0DE"><a
 +
                                href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6324683/">Tripathi, Prem Prakash, et
 +
                            al. "Cell penetrating peptides in preclinical and clinical cancer diagnosis and therapy."
 +
                            Oncotarget 9.98 (2018): 37252.</a></li>
 +
                        <li id="ref_5" style="color: #F4F0DE"><a href="http://dx.doi.org/10.1145/2939672.2939785">Chen,
 +
                            Tianqi, and Carlos Guestrin. "Xgboost: A scalable tree boosting system." Proceedings of the
 +
                            22nd acm sigkdd international conference on knowledge discovery and data mining. ACM,
 +
                            2016.</a></li>
 +
                        <li id="ref_6" style="color: #F4F0DE"><a href="https://doi.org/10.1142/9781860947322_0014">Maetschke,
 +
                            Stefan, Michael Towsey, and Mikael Boden. "BLOMAP: an encoding of amino acids which improves
 +
                            signal peptide cleavage site prediction." Proceedings of the 3rd Asia-Pacific bioinformatics
 +
                            conference. 2005.</a></li>
 +
                        <li id="ref_7" style="color: #F4F0DE"><a href="https://doi.org/10.1080/10717544.2018.1458921">Ramaker,
 +
                            Katrin, et al. "Cell penetrating peptides: a comparative transport analysis for 474 sequence
 +
                            motifs." Drug delivery 25.1 (2018): 928-937.</a></li>
 +
                    </ol>
 +
                </div>
 +
            </div>
 +
            <p style="visibility: hidden">hallo123</p>
 +
            <p style="visibility: hidden">hallo123</p>
 +
            <p style="visibility: hidden">hallo123</p>
 +
            <p style="visibility: hidden">hallo123</p>
 +
            <p style="visibility: hidden">hallo123</p>
 +
        </main>
 +
    </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: #919191;">
 +
    <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.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.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.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 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>
 +
 +
    <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>
 +
 +
    <div class='row align-items-center'>
 +
        <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 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 class='col-4 col-md-2 col-xl-1 sponsorLogo text-center'>
 +
            <a href="https://www.eurofins.com/" target="_blank2"><img class="img-fluid"
 +
                                                                      src="https://2019.igem.org/wiki/images/c/cd/T--Tuebingen--eurofins_logo.svg"></a>
 +
        </div>
 +
 +
    </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>

Latest revision as of 20:07, 11 December 2019

GLP.exe - Software

Software

C3Pred - Cell-Penetrating Peptide Predictor

Our Software

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
Figure 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

C3Pred is an easy-to-use software tool, which allows scientists to make design choices for their CPP-utilizing 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 40 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
Figure 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
Figure 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.

Placeholder

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. Our algorithm achieved a Pearson correlation of 0.804, which is considered very good.

A generic square placeholder
Figure 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
Figure 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.

ATOMS Turkiye

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

Results of the ATOMS Turkiye team

DLUT-China

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

Results iGEM Team DLUT-China

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.

hallo123

hallo123

hallo123

hallo123

hallo123