:root {
	--dynamic-height: 2em;
}

/* PALETA BASEADA NO SVG */

/* Prefeito e Vice-Prefeito */
.bg-prefeitura-primary { background-color: #496e6e; }
.border-prefeitura-primary { border-color: #3a5858; }
.text-prefeitura-primary { color: #ffffff; }

/* Órgãos de Assessoramento Direto */
.bg-assessoramento-header { background-color: #00aeef; }
.border-assessoramento-header { border-color: #008ec4; }
.bg-assessoramento-item { background-color: #8ed8f8; }
.border-assessoramento-item { border-color: #6bc9f5; }

/* Órgãos Meios de Gestão */
.bg-meios-header { background-color: #fff200; }
.border-meios-header { border-color: #e6da00; }
.bg-meios-item { background-color: #fff685; }
.border-meios-item { border-color: #fff359; }

/* Órgãos Fins Execução */
.bg-fins-header { background-color: #a6ce38; }
.border-fins-header { border-color: #91b431; }
.bg-fins-item { background-color: #adbc72; }
.border-fins-item { border-color: #9cac5f; }

/* Texto padrão */
.text-organograma { color: #231f20; }

.pmpc-org *,
*:before,
*:after {
    box-sizing: border-box;
    margin: 0;
}



.pmpc-org ol.organizational-chart,
.pmpc-org ol.organizational-chart ol,
.pmpc-org ol.organizational-chart li,
.pmpc-org ol.organizational-chart li > div {
    position: relative;
}

.pmpc-org ol.organizational-chart,
.pmpc-org ol.organizational-chart ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pmpc-org ol.organizational-chart {
    text-align: center;
}

.pmpc-org ol.organizational-chart ol {
    padding-top: 1em;
}

.pmpc-org ol.organizational-chart ol:before,
.pmpc-org ol.organizational-chart ol:after,
.pmpc-org ol.organizational-chart li:before,
.pmpc-org ol.organizational-chart li:after,
.pmpc-org ol.organizational-chart > li > div:before,
.pmpc-org ol.organizational-chart > li > div:after {
    background-color: #0078D4;
    content: '';
    position: absolute;
}

.pmpc-org ol.organizational-chart ol > li {
    padding: 1em 0 0 1em;
}

.pmpc-org ol.organizational-chart > li ol:before {
    height: 1em;
    left: 50%;
    top: 0;
    width: 3px;
}

.pmpc-org ol.organizational-chart > li ol:after {
    height: 3px;
    left: 3px;
    top: 1em;
    width: 50%;
}

.pmpc-org ol.organizational-chart > li ol > li:not(:last-of-type):before {
    height: 3px;
    left: 0;
    top: 2em;
    width: 1em;
}

.pmpc-org ol.organizational-chart > li ol > li:not(:last-of-type):after {
    height: 100%;
    left: 0;
    top: 0;
    width: 3px;
}

.pmpc-org ol.organizational-chart > li ol > li:last-of-type:before {
    height: 3px;
    left: 0;
    top: 2em;
    width: 1em;
}

.pmpc-org ol.organizational-chart > li ol > li:last-of-type:after {
    height: 2em;
    left: 0;
    top: 0;
    width: 3px;
}

.pmpc-org ol.organizational-chart li > div {
    text-align: center;
    position: relative;
    box-shadow: 0px 4px 12px rgba(0,0,0,0.08);
    -webkit-transition: all linear 120ms;
    -moz-transition: all linear 120ms;
    transition: all linear 120ms;
}

.pmpc-org ol.organizational-chart li > div:hover {
    transform: scale(1.02);
    box-shadow: 0px 8px 12px rgba(0,0,0,0.08);
}

/*** PRIMARY ***/
.pmpc-org ol.organizational-chart > li {
    margin-bottom: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid #e6e6e6;
}


.pmpc-org ol.organizational-chart > li > div + div {
    margin-top: 1em;
}

.pmpc-org ol.organizational-chart > li > div + div:after {
    height: calc(100% + 1em);
    right: -1em;
    top: -1em;
    width: 3px;
}

.pmpc-org ol.organizational-chart > li > div {
    margin-right: 1em;
}

/*** SECONDARY ***/
.pmpc-org ol.organizational-chart > li > ol:before {
    left: inherit;
    right: 0;
}

.pmpc-org ol.organizational-chart > li > ol:after {
    left: 0;
    width: 100%;
}

/*** MEDIA QUERIES ***/
@media ( max-width: 1279.98px  ){
	.pmpc-org ol.organizational-chart li:before {
		top: 3em;
		height: 3px;
		right: 0;
		width: 1em;
	}

	.pmpc-org ol.organizational-chart li:after {
		top: 3em;
		height: calc(var(--dynamic-height) - 2em);
		right:  0;
		width: 3px;
	}
}

@media (min-width: 1280px){
    .pmpc-org ol.organizational-chart {
        margin-left: -1em;
        margin-right: -1em;
    }

    /* PRIMARY */
    .pmpc-org ol.organizational-chart > li > div {
        display: inline-block;
        float: none;
        margin: 0 1em 1em 1em;
        vertical-align: bottom;
    }

    .pmpc-org ol.organizational-chart > li > div:only-of-type {
        margin-bottom: 0;
        width: calc((100% / 1) - 2em - 4px);
    }

    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(2),
    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(2) ~ div {
        width: calc((100% / 2) - 2em - 4px);
    }

    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(3),
    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(3) ~ div {
        width: calc((100% / 3) - 2em - 4px);
    }

    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(4),
    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(4) ~ div {
        width: calc((100% / 4) - 2em - 4px);
    }

    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(5),
    .pmpc-org ol.organizational-chart > li > div:first-of-type:nth-last-of-type(5) ~ div {
        width: calc((100% / 5) - 2em - 4px);
    }

    .pmpc-org ol.organizational-chart > li > div:before,
    .pmpc-org ol.organizational-chart > li > div:after {
        bottom: -1em!important;
        top: inherit!important;
    }

    .pmpc-org ol.organizational-chart > li > div:before {
        height: 1em!important;
        left: 50%!important;
        width: 3px!important;
    }

	
    .pmpc-org ol.organizational-chart > li > div:only-of-type:after {
        display: none;
    }

    .pmpc-org ol.organizational-chart > li > div:first-of-type:not(:only-of-type):after,
    .pmpc-org ol.organizational-chart > li > div:last-of-type:not(:only-of-type):after {
        bottom: -1em;
        height: 3px;
        width: calc(50% + 1em + 3px);
    }

    .pmpc-org ol.organizational-chart > li > div:first-of-type:not(:only-of-type):after {
        left: calc(50% + 3px);
    }

    .pmpc-org ol.organizational-chart > li > div:last-of-type:not(:only-of-type):after {
        left: calc(-1em - 3px);
    }

    .pmpc-org ol.organizational-chart > li > div + div:not(:last-of-type):after {
        height: 3px;
        left: -2em;
        width: calc(100% + 4em);
    }

    /* SECONDARY */
    .pmpc-org ol.organizational-chart > li > ol {
        display: flex;
        flex-wrap: nowrap;
    }

    .pmpc-org ol.organizational-chart > li > ol:before,
    .pmpc-org ol.organizational-chart > li > ol > li:before {
        height: 1em!important;
        left: 50%!important;
        top: 0!important;
        width: 3px!important;
    }

    .pmpc-org ol.organizational-chart > li > ol:after {
        display: none;
    }
	
	.pmpc-org ol.organizational-chart > li > ol > li {
		flex-grow: 1;
		padding-left: 1em;
		padding-right: 1em;
		padding-top: 1em;
	}
	

	.pmpc-org ol.organizational-chart > li > ol > li.multiplo {
		padding-left: 0.4em !important;
		padding-right: 0.4em !important;
	}
	
	.pmpc-org ol.organizational-chart > li > ol > li.multiplo .card-content {
		padding: 0.4em;
	}
	.pmpc-org ol.organizational-chart > li > ol > li.extremo {
		padding-left: 0.1em !important;
		padding-right: 0.1em !important;
	}
	
	.pmpc-org ol.organizational-chart > li > ol > li.extremo .card-content {
		padding-left: 0.1em;
		padding-right: 0.1em;
		padding-top: 0.4em;
		padding-bottom: 0.4em;
		font-size: var(--font-size-scale-down-02) !important;
	}

	
    .pmpc-org ol.organizational-chart > li > ol > li:only-of-type {
        padding-top: 0;
    }

    .pmpc-org ol.organizational-chart > li > ol > li:only-of-type:before,
    .pmpc-org ol.organizational-chart > li > ol > li:only-of-type:after {
        display: none;
    }

    .pmpc-org ol.organizational-chart > li > ol > li:first-of-type:not(:only-of-type):after,
    .pmpc-org ol.organizational-chart > li > ol > li:last-of-type:not(:only-of-type):after {
        height: 3px;
        top: 0;
        width: 50%;
    }

    .pmpc-org ol.organizational-chart > li > ol > li:first-of-type:not(:only-of-type):after {
        left: 50%;
    }

    .pmpc-org ol.organizational-chart > li > ol > li:last-of-type:not(:only-of-type):after {
        left: 0;
    }

    .pmpc-org ol.organizational-chart > li > ol > li + li:not(:last-of-type):after {
        height: 3px;
        left: 0;
        top: 0;
        width: 100%;
    }

}