/* ========== FLOWCHART ========== */

    .flowchart-wrapper {
        margin: 0 5%;
        max-width: 80em;
    }

    .flowchart-container {
        float: left;
        padding: 1em;
        width: 100%;
    }

    .flowchart-highlight { background: #282828 !important; }
    .flowchart-highlight a { color: #F2F2F2 !important; }

    h1, h2, h3, h4, h5 { display: inline-block; line-height: 1; }

    h2, h2, h4, h5 { font-size: 1.1rem; }

    ol.organizational-chart,
    ol.organizational-chart ol,
    ol.organizational-chart li,
    ol.organizational-chart li > div {
        position: relative;
    }

    ol.organizational-chart,
    ol.organizational-chart ol {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    ol.organizational-chart {
        text-align: center;
    }

    ol.organizational-chart ol {
        padding-top: 1em;
    }

    ol.organizational-chart a { display: inline-block; color: #282828; }

    ol.organizational-chart ol:before,
    ol.organizational-chart ol:after,
    ol.organizational-chart li:before,
    ol.organizational-chart li:after,
    ol.organizational-chart > li > div:before,
    ol.organizational-chart > li > div:after {
        background-color: #282828;
        content: '';
        position: absolute;
    }

    ol.organizational-chart ol > li {
        padding: 1em 0 0 1em;
    }

    ol.organizational-chart > li ol:before {
        height: 1em;
        left: 50%;
        top: 0;
        width: 2px;
    }

    ol.organizational-chart > li ol:after {
        height: 2px;
        left: 2px;
        top: 1em;
        width: 50%;
    }

    ol.organizational-chart > li ol > li:not(:last-of-type):before {
        height: 2px;
        left: 0;
        top: 2em;
        width: 1em;
    }

    ol.organizational-chart > li ol > li:not(:last-of-type):after {
        height: 100%;
        left: 0;
        top: 0;
        width: 2px;
    }

    ol.organizational-chart > li ol > li:last-of-type:before {
        height: 2px;
        left: 0;
        top: 2em;
        width: 1em;
    }

    ol.organizational-chart > li ol > li:last-of-type:after {
        height: 2em;
        left: 0;
        top: 0;
        width: 2px;
    }

    ol.organizational-chart li > div {
        min-height: 2em;
        padding: 1em;
    }

    ol.organizational-chart li > div a span { display: block; }

    /* ---- LEVELS 2+ ---- */

    ol.organizational-chart > li > ol > li > div a span {
        font-size: 1em;
    }

    /* ---- FIRST LEVEL ---- */

        ol.organizational-chart > li > div {
            margin-right: 1em;
            background: #1242B340;
            border: 1px solid #282828;
            padding: 3%;
        }

        ol.organizational-chart > li > div:before {
            bottom: 2em;
            height: 2px;
            right: -1em;
            width: 1em;
        }

        ol.organizational-chart > li > div:first-of-type:after {
            bottom: 0;
            height: 2em;
            right: -1em;
            width: 2px;
        }

        ol.organizational-chart > li > div + div {
            margin-top: 1em;
        }

        ol.organizational-chart > li > div + div:after {
            height: calc(100% + 1em);
            right: -1em;
            top: -1em;
            width: 2px;
        }

    /* ---- SECOND LEVEL ---- */

        ol.organizational-chart > li > ol:before {
            left: inherit;
            right: 0;
        }

        ol.organizational-chart > li > ol:after {
            left: 0;
            width: 100%;
        }

        ol.organizational-chart > li > ol > li > div {
            background: #2612B340;
            border: 1px solid #282828;
        }

    /* ---- THIRD LEVEL ---- */

        ol.organizational-chart > li > ol > li > ol > li > div {
            background: #B3121240;
            border: 1px solid #282828;
        }

    /* ---- FOURTH LEVEL ---- */

        ol.organizational-chart > li > ol > li > ol > li > ol > li > div {
            background: #B35D1240;
            border: 1px solid #282828;
        }

    /* ---- FIFTH LEVEL ---- */

        ol.organizational-chart > li > ol > li > ol > li > ol > li > ol > li > div {
            background: #B39A1240;
            border: 1px solid #282828;
        }

/* ========== CENTER FLOWCHART ========== */

    #center-flowchart { padding: 0; }

    #center-flowchart .center-left-header {
      margin: 1% 0 3%;
      padding: 10px 5%;
      border-bottom: 2px solid  #282828;
    }

    #center-flowchart .center-left-header-label span {
      font-size: 270%;
    }

    #center-flowchart .center-left-content {
      overflow-x: auto;
      padding: 0;
    }

    #center-flowchart .center-left-content #flowchart-info-list > li { 
        margin-left: 5%;
        margin-right: 5%;
    }

    #center-flowchart .desc {
      margin: 10px;
    }

    #center-flowchart .flowchart-info-header {
      margin: 20px 0;
      font-weight: 600;
      font-size: 1.2rem;
      border-bottom: 2px solid #282828;
    }

    #center-flowchart .flowchart-info-header span {
        display: inline-block;
        margin-left: 5%;
        padding: 5px 10px;
        border: 2px solid #282828;
        border-bottom: none;
    }

    #center-flowchart ul {
      display: block;
      margin-top: 0;
      overflow: hidden;
    }

    #center-flowchart ul li {
      display: inline-block;
      list-style-type: none;
      border-bottom: 1px dotted #282828;
    }

    #center-flowchart ul li a {
      display: flex;
    }

    #center-flowchart ul li div.flow-container {
      display: inline-block;
      padding: 10px;
      margin-right: 70px;
      max-width: 130px;
      font-size: .8em;
      border: 1px solid #282828;
      color: #282828;
      cursor: pointer;
    }

    #center-flowchart ul li.gone div {
      border: 1px dashed #282828;
    }

    #center-flowchart ul li span {
      display: block;
      padding: 5px 0;
    }

    #center-flowchart img {
      float: left;
      margin-right: 20px;
      /*-webkit-filter: grayscale(100%);
      filter: grayscale(100%);*/
      border-radius: 50%;
    }

    .flowchart {
      margin: 50px 0;
    }

    .flowchart a {
      color: #282828;
      cursor: default;
    }

    .flowchart a:hover {
      text-decoration: none;
    }

/* ========== FLOWCHART INFO ========== */

    .flowchart-info-container {
      margin: 30px 0;
    }

    .flowchart-info-container ul li {

        padding-top: 20px;
        padding-bottom: 20px;

    }

    .flowchart-info-container .flowchart-info-title {
      font-weight: 600;
      font-size: 120%;
    }

    .flowchart-info-container .flowchart-info-subtitle {
      font-size: 80%;
    }

    .flowchart-info-container .flowchart-info-sources, .back {
      font-size: 80%;
    }

    .flowchart-info-container .back {
      display: block;
      margin-top: 10px;
    }

/* ========== MEDIA ========== */

    @media only screen and ( min-width: 64em ) {

        ol.organizational-chart {
            margin-left: -1em;
            margin-right: -1em;
        }

        /* PRIMARY */
        ol.organizational-chart > li > div {
            display: inline-block;
            float: none;
            margin: 0 1em 1em 1em;
            vertical-align: bottom;
        }

        ol.organizational-chart > li > div:only-of-type {
            margin-bottom: 0;
            width: calc((100% / 1) - 2em - 4px);
        }

        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(2),
        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(2) ~ div {
            width: calc((100% / 2) - 2em - 4px);
        }

        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(3),
        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(3) ~ div {
            width: calc((100% / 3) - 2em - 4px);
        }

        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(4),
        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(4) ~ div {
            width: calc((100% / 4) - 2em - 4px);
        }

        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(5),
        ol.organizational-chart > li > div:first-of-type:nth-last-of-type(5) ~ div {
            width: calc((100% / 5) - 2em - 4px);
        }

        ol.organizational-chart > li > div:before,
        ol.organizational-chart > li > div:after {
            bottom: -1em!important;
            top: inherit!important;
        }

        ol.organizational-chart > li > div:before {
            height: 1em!important;
            left: 50%!important;
            width: 2px!important;
        }

        ol.organizational-chart > li > div:only-of-type:after {
            display: none;
        }

        ol.organizational-chart > li > div:first-of-type:not(:only-of-type):after,
        ol.organizational-chart > li > div:last-of-type:not(:only-of-type):after {
            bottom: -1em;
            height: 2px;
            width: calc(50% + 1em + 2px);
        }

        ol.organizational-chart > li > div:first-of-type:not(:only-of-type):after {
            left: calc(50% + 2px);
        }

        ol.organizational-chart > li > div:last-of-type:not(:only-of-type):after {
            left: calc(-1em - 2px);
        }

        ol.organizational-chart > li > div + div:not(:last-of-type):after {
            height: 2px;
            left: -2em;
            width: calc(100% + 4em);
        }

        /* SECONDARY */
        ol.organizational-chart > li > ol {
            display: flex;
            flex-wrap: nowrap;
        }

        ol.organizational-chart > li > ol:before,
        ol.organizational-chart > li > ol > li:before {
            height: 1em!important;
            left: 50%!important;
            top: 0!important;
            width: 2px!important;
        }

        ol.organizational-chart > li > ol:after {
            display: none;
        }

        ol.organizational-chart > li > ol > li {
            flex-grow: 1;
            padding-left: 1em;
            padding-right: 1em;
            padding-top: 1em;
        }

        ol.organizational-chart > li > ol > li:only-of-type {
            padding-top: 0;
        }

        ol.organizational-chart > li > ol > li:only-of-type:before,
        ol.organizational-chart > li > ol > li:only-of-type:after {
            display: none;
        }

        ol.organizational-chart > li > ol > li:first-of-type:not(:only-of-type):after,
        ol.organizational-chart > li > ol > li:last-of-type:not(:only-of-type):after {
            height: 2px;
            top: 0;
            width: 50%;
        }

        ol.organizational-chart > li > ol > li:first-of-type:not(:only-of-type):after {
            left: 50%;
        }

        ol.organizational-chart > li > ol > li:last-of-type:not(:only-of-type):after {
            left: 0;
        }

        ol.organizational-chart > li > ol > li + li:not(:last-of-type):after {
            height: 2px;
            left: 0;
            top: 0;
            width: 100%;
        }

    }