/* -- Blocos da Proposta Grafica -- */

/* -- box-shadow generica -- */
.box-shadow::after
{
    content:"";
    position:absolute;
    width:100%;
    bottom:0;/* necessario */
    left: 0;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}

/* -- Hightlight Paragraph - customtags e includes -- */

.highlight-paragraph
{
    padding: 0 15px;
    border-left: 5px solid var(--base-color-black);
}
.highlight-paragraph .highlight-paragraph-title
{
    font-family: SourceSansPro_Semibold;
    font-size: 1.6em;
}
.highlight-paragraph .highlight-paragraph-title p
{
    margin-bottom: 0;
}
.highlight-paragraph .highlight-paragraph-text
{
    font-size: 1.2em;
}


/* -- Bloco01 (banner+resumo) - include utilizado no inÃ­cio das sub-pÃ¡ginas -- */
.bloco01 .bloco01-banner
{
    max-height: 380px;
    overflow: hidden;
}
.bloco01 .bloco01-banner .banners,
.bloco01 .bloco01-banner .banners-content
 {
     max-height: 380px;
 }
/* -- override slick slider css -- */
.bloco01 .bloco01-banner .banners .slick-dots
{
    bottom: 2vh;
}
.bloco01 .bloco01-banner .banners .slick-dots li button::before {
    font-size: 12px;
    opacity: 0.8;
    color: var(--base-color-medium-light-grey);
}
.bloco01 .bloco01-banner .banners .slick-dots li button:hover::before,
.bloco01 .bloco01-banner .banners .slick-dots li.slick-active button::before {
    opacity: 1;
    color: var(--base-color-black);
}


.bloco01 .bloco01-banner.without-description
{
    margin-bottom: 50px;
}
.bloco01 .bloco01-banner img
{
    width: 100%;
    height: auto;
}
.bloco01 .bloco01-banner p /*nos customtags podem aparecer p */
{
    margin: 0;
}
.bloco01 .bloco01-short-description
 {
     position: relative;
     top: -40px;/* estava -30px */
     margin: 0 auto;
     background-color: #fff;
     padding: 30px;
     /* -- RETIRADO da proposta inicial -- */     
     /*border-bottom: 5px solid var(--base-color-orange);*/
     border-bottom: 1px solid var(--base-color-light-grey);     
 }
.bloco01 .bloco01-short-description p
{
    margin-bottom: 0;
    font-size: 1.1em;
    text-align: left;
}
.bloco01 .bloco01-short-description::after
{
    content:"";
    position:absolute;
    width:100%;
    bottom:0;/* necessario */
    left: 0;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
    /*bottom: -5px;*/
    bottom: 0px;        
}




/* -- Bloco02 (image + resumo lateral) - customtags ou includes -- */
.bloco02
{}
.bloco02 .bloco02-image
{}
.bloco02 .bloco02-image p /*nos customtags podem aparecer p */
{
    margin: 0;
}
.bloco02 .bloco02-image img
{
    width: 100%;
    height: auto;
}
.bloco02 .bloco02-short-description
{
    background-color: #fff;
    padding: 30px;
    border-bottom: 1px solid #d9d9d9;
    position: relative;/* necessario para que a sombra funcione */
    line-height: 1.2;
    text-align: left;
}
.bloco02 .bloco02-short-description > p
{
    font-family: SourceSansPro_Semibold;
    font-size: 1.4em;/*2em*/
    text-align: left;
    line-height: 1.4em;
}
.bloco02 .bloco02-short-description::after
{
    content:"";
    position:absolute;
    width:100%;
    bottom:0;/* necessario */
    left: 0;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}


/* -- Bloco03 - customtags ou includes -- */
.bloco03
{
    padding: 1%;
    margin-bottom: 20px;
}
/* o bloco03 pode ser utilizado nas view line, se assim for retira-se o padding default do bloco já que a view */
.line-content > .bloco03
{
    padding: 0;
}
.bloco03,
.bloco03 a
{
    font-family: SourceSansPro_Bold;
    font-size: 1.12em;
    text-decoration:none!important;
}
.bloco03 a .sigla
{
    color: var(--base-color-red);
}
.bloco03 a .sub-title
{
    font-family: SourceSansPro_Semibold;
    font-size: 0.6em;
    line-height: 15px;
    display:block; /* para o line-height funcionar no span */
}
.bloco03 .bloco03-content
{
    position: relative;/* necessario para que a sombra funcione */
    text-align: left;    
}
.bloco03 .bloco03-content p
{
    text-align: left;
}
.bloco03 .bloco03-content::after
{
    content:"";
    position:absolute;
    width:100%;
    bottom:3px;/* necessario */
    left: 0;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}
.bloco03 .bloco03-content a
{
    display: block;
    min-height: 150px;
    padding: 5%;
    border-bottom: 1px solid #d9d9d9;    
}
.bloco03 .bloco03-content a:hover{
    border-bottom: 1px solid var(--base-color-dark-grey);
    color: var(--base-color-black);
}
.bloco03 .bloco03-content a .arrow
{
    position: absolute;/* absolute inside anchor */
    left: 5%;
    bottom: 5%;
}
.bloco03-white .bloco03-content a
{
    background-color: var(--child-block-background-color);/*#fff;*/
    /* -- RETIRADO da proposta inicial -- */    
    /* border-top: 5px solid var(--base-color-yellow); */
    border-top: 1px solid var(--base-color-light-grey);    
}
.bloco03-white .bloco03-content a:hover{
    background-color: #fafafa;
}
.bloco03-grey  .bloco03-content a
{
    background-color: #f5f5f5;
    /*border-top: 5px solid #f5f5f5;*//* so para manter o mesmo tamanho do bloco03-white */
    border-top: 1px solid #f5f5f5;        
}
.bloco03-grey  .bloco03-content a:hover
{
    background-color: #f0f0f0;
    border-color: #f0f0f0;    
}
/* -- situacao em que usado um link dentro do bloco03 -- */
.bloco03 .bloco03-content p a::before
{
    position: absolute;
    bottom: 5%;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f061";
}


/* -- Bloco04 (image + resumo + cargo + nome) - customtags ou includes -- */
.bloco04
{}
.bloco04 .bloco04-image
{
    position: relative;/* necessario para que a sombra funcione */
    height: auto;
    display: inline-table;/* sem isto, o div ficava maior que a imagem e a sombra nao ficava bem */
    /* tem breakpoint definido */
}
.bloco04 .bloco04-image p /*nos customtags podem aparecer p */
{
    margin: 0;
}
.bloco04 .bloco04-image img
{
    width: 100%;
    height: auto;
}    
.bloco04 .bloco04-image::after{
    content:"";
    position:absolute;
    width:90%;
    /*bottom:0;*/ /* em 2021 retirei */
    left: 5%;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}
.bloco04 .bloco04-text
{
    color: var(--base-color-black);/*#fff*/
    padding: 30px;
    /*background-color: var(--base-color-orange);*/
    background-color: var(--child-block-background-color);    
    /* breakpoint definido no final */
}
.bloco04 .bloco04-text p
{
    text-align: left;
}
.bloco04 .bloco04-text .bloco04-title
{
    font-family: SourceSansPro_Semibold;
    font-size: 1.4em;
}
.bloco04 .bloco04-text .bloco04-short-description
{
    font-size: 1.1em;
}
.bloco04 .bloco04-text .bloco04-separator
{
    border-top: 3px solid var(--base-color-red);/*#fff*/
    margin: 10px 0 5px 0;
    display: inline-block;
    width: 65px;
}    
.bloco04 .bloco04-text .bloco04-place
{
    font-style: normal;
}
.bloco04 .bloco04-text .bloco04-place p /*nos customtags podem aparecer p */
{
    margin: 0;
}
.bloco04 .bloco04-text .bloco04-name
{
    font-style: normal;    
    font-weight: bold;
}
.bloco04 .bloco04-text .bloco04-name p /*nos customtags podem aparecer p */
{
    margin: 0;
} 




/* -- Bloco05 (video/imagem+texto/resumo) -- */
.bloco05
{
     margin-bottom: -40px;/* margin negativa porque o texto tem top negativo*/
}
.bloco05 .bloco05-video
{
    margin: 0 auto;    
    max-height: 400px;
    overflow: hidden;
}
.bloco05 .bloco05-video.without-description
{
    margin-bottom: 50px;
}
.bloco05 .bloco05-banner img,
.bloco05 .bloco05-video iframe
{
    width: 100%;
    height: auto;
}
.bloco05 .bloco05-video p /*nos customtags podem aparecer p */
{
    margin: 0;
}
.bloco05 .bloco05-texto
 {
     position: relative;
     top: -80px;
     margin: 0 auto;
     background-color: #fff;
     padding: 30px;
     /* -- RETIRADO da proposta inicial -- */     
     /*border-bottom: 5px solid var(--base-color-orange);*/
     border-bottom: 1px solid var(--base-color-light-grey);     
 }
.bloco05 .bloco05-texto p
{
    margin-bottom: 5px;
    font-size: 1.1em;
    text-align: left;
}
.bloco05 .bloco05-texto::after
{
    content:"";
    position:absolute;
    width:100%;
    bottom:0;/* necessario */
    left: 0;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
    /*bottom: -5px;*/
    bottom: 0px;        
}





/* -- BLOCO05 (Old) - bloco adicional que era para ser utilizado nas caixas de departamentos nas escolas -- */
/* -- mas os departamentos passaram a ser mostrados de outra forma, numa opção extensível -- */
/*
.bloco05
{
    padding: 1%;
    margin-bottom: 20px;
}
.line-content > .bloco05
{
    padding: 0;
}
.bloco05,
.bloco05 a
{
    font-family: SourceSansPro_Bold;
    font-size: 1.2em;
}
.bloco05 .bloco05-content
{
    position: relative;
    text-align: left;
    background-color: var(--base-color-medium-light-grey);    
}
.bloco05 .bloco05-content p
{
    text-align: left;
}
.bloco05 .bloco05-content::after
{
    content:"";
    position:absolute;
    width:100%;
    bottom:0;
    left: 0;
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}
.bloco05 .bloco05-content a
{
    display: block;
    min-height: 150px;
    padding: 5%;
}
.bloco05 .bloco05-content a:hover{
    border-bottom: 1px solid var(--base-color-dark-grey);
    color: var(--base-color-black);
}
.bloco05 .bloco05-content a .arrow
{
    position: absolute;
    left: 5%;
    bottom: 5%;
}
*/
/* --- BLOCO05 OLD --- */


/* -- Bloco06 (image + resumo + cargo + nome) - customtags ou includes -- */
.bloco06
{
    margin-bottom: 80px;
}
.bloco06 .bloco06-responsavel
{
    position: relative;/* necessario para que a sombra funcione */
    height: auto;
    display: inline-block;/* sem isto, o div ficava maior que a imagem e a sombra nao ficava bem */
    /* tem breakpoint definido */
    /*margin-bottom: 15px;*/

    /* linhas para alinhar verticalmente o conteúdo */
    /* alterado em junho de 2023 porque existiam unidades com descrições maiores */
    /* display: flex; */
    /* align-items: center; */
}
.bloco06 .bloco06-responsavel .responsavel-principal-unidade
{
    background-color: #4d4d4d;
    color: #fff;
    padding: 15px;
    font-size: 0.9em;    
}
.bloco06 .bloco06-responsavel .foto
{
    overflow: hidden;
    /* as duas linhas seguintes forçam o tamanho relativo da altura da foto */
    height: 0;
    padding-bottom: 120%;/* para ficar mais rectangular */
}
.bloco06 .bloco06-responsavel .foto img
{
    /*filter: grayscale(100%);*/
    width: 100%;
}
.bloco06 .bloco06-responsavel a
{
    color: #fff;
    text-decoration: none;
}
.bloco06 .bloco06-responsavel .titulo
{
    /*margin-top: 10px;*//* -- retirado quando o título passou para baixo do nome -- */
    text-transform: uppercase;
    font-family: SourceSansPro_Semibold;
}
/*nos customtags podem aparecer p */
.bloco06 .bloco06-responsavel p 
{
    margin: 0;
}
.bloco06 .bloco06-descricao
{
    position: relative;   
    color: var(--base-color-black);/*#fff*/
    padding: 30px;
    /*background-color: var(--base-color-orange);*/
    background-color: var(--child-block-background-color);    
    /* breakpoint definido no final */
    font-size: 1.1em;

    /* estas duas linhas alinham o conteúdo ao centro */
    display: flex;
    align-items: center;
}
.bloco06 .bloco06-descricao p
{
    text-align: left;
}





.bloco-icon-texto-icon p
{
    text-align: center;
}
.bloco-icon-texto-icon p img
{
    max-width: 100%;
}

/* -- BotÃ£o principal generico - vermelho -- */
.botao-principal
{
    display: inline-block;
    font-family: SourceSansPro_Semibold;
    position: relative;/* necessario para que a sombra funcione */
    margin-bottom: 10px;
}
.botao-principal-alignment
{
    text-align: center;
    min-height: 50px;/* para que se altere o ecrÃ£ quando o botao aumenta no hover */
}
.botao-principal p /* aparece com os custom tags */
{
    margin: 0;
}
.botao-principal a,
.botao-principal input
{
    /*border-radius: 15px 15px;*/
    display: block;
    text-decoration: none!important;
    
    min-height: 30px;
    line-height: 30px;
    min-width: 150px;
    padding: 3px 30px;    
    font-size: 1.1em;    

    border: 0;
    
    text-align: center;
    color: #fff;
    background-color: var(--base-color-orange);

}
.botao-principal a,
.botao-principal a:link {
    text-decoration: none!important;
}

.botao-principal a:hover,
.botao-principal input:hover {
    /* para aumentar o botao */

    /*border-radius: 16px 16px;*/
    font-size: 1.2em;
    z-index: 10;
    text-decoration: none;    
}
/*
.botao-principal::after
{
    content:"";
    position:absolute;
    width:90%;
    bottom:0;
    left: 5%;
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}
*/


/* -- botao-secundario generico - branco -- */
.botao-secundario
{
    display: inline-block;
    margin-bottom: 10px;
}
.botao-secundario-alignment
{
    text-align: left;/*right;*//*design indicou que ficava tudo alinhado a esquerda*/
}
.botao-secundario p /* aparece com os custom tags */
{
    margin: 0;
}
.botao-secundario a
{
    border: 1px solid var(--base-color-black);
    /*border-radius: 15px 15px;*/
    display: inline;/*block*/

    height: 25px;/*30px*/
    min-width: 100px;
    padding: 3px 15px;    
    font-size: 1.1em;    

    text-align: center;
    color: var(--base-color-black);
}
.botao-secundario a,
.botao-secundario a:link {
    text-decoration: none!important;
}			
.botao-secundario a:hover{
    background-color: var(--base-color-black);
    color: #fff;
}



.botao-lateral-fixo
{
    position: fixed;
    right: 0;
    top: 200px;
    z-index: 5;
    background-color: var(--base-color-orange);
    color: #fff;

    /*writing-mode: sideways-lr;*//* css3 */
    transform-origin: right bottom;
    transform: rotate(-90deg);
    /* Legacy */
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    
    -ms-transform-origin: right bottom;
    -ms-transform: rotate(-90deg);
    
    -o-transform-origin: right bottom;
    -o-transform: rotate(-90deg);
}
.botao-lateral-fixo.nav-is-visible
{
    display:none;
}
.botao-lateral-fixo a
{
    display: block;
    padding: 10px 20px;
    font-weight: bold;
    color: #fff    
}
.botao-lateral-fixo:hover{
    top: 190px;/* ajuste vertical, a caixa move-se para baixo quando aumentado  */
}
.botao-lateral-fixo a:hover{
    padding: 15px 20px;
}
			  


/* --- accordion --- */
.accordion
{
    margin-bottom: 20px;
}
.accordion.accordion-one-option
{
    margin-bottom: 0;/* undo previous line */
}
.accordion .accordion-option .accordion-option
{
    margin: 20px;
}
.accordion>.accordion-option,
.accordion .accordion-option
 {
    border: 0;
    background-color: #fff;     
    overflow: hidden;
    border-bottom: 1px solid var(--base-color-black);
    margin-bottom: 20px;
 }
.accordion>.accordion-option::after,
.accordion .accordion-option::after {
    content:"";
    position:absolute;
    width:96%;
    /*bottom:0;*//* necessario */
    left: 2%;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}
.accordion>.accordion-option>.accordion-option-header a.btn,
.accordion>.accordion-option .accordion-option-header a.btn
 {
    display: block;
    width: 100%;
    text-align: left;
 }
.accordion>.card>.card-header,
.accordion>.accordion-option>.accordion-option-header
{
    border-radius: 0;
    padding: 0;
}
.accordion>.card>.card-header>button,
.accordion>.accordion-option>.accordion-option-header>button,
.accordion>.accordion-option .accordion-option-header>button
{
    display: block;
    width: 100%;
    text-align: left;
}
.accordion>.card>.card-header>button>span.arrow,
.accordion>.accordion-option>.accordion-option-header>button>span.arrow,
.accordion>.accordion-option .accordion-option-header>button>span.arrow
{
    float: right;
    font-size: 1.4em;
}
.accordion>.card>.card-header>button[aria-expanded="true"]>span.arrow::before,
.accordion>.accordion-option>.accordion-option-header>button[aria-expanded="true"]>span.arrow::before,
.accordion>.accordion-option .accordion-option-header>button[aria-expanded="true"]>span.arrow::before {
    content: "\f106"!important;/*icon do fontawesome*/
}
.accordion>.card>.card-header>button[aria-expanded="false"]>span.arrow::before,
.accordion>.accordion-option>.accordion-option-header>button[aria-expanded="false"]>span.arrow::before,
.accordion>.accordion-option .accordion-option-header>button[aria-expanded="false"]>span.arrow::before {
    content: "\f107"!important;/*icon do fontawesome*/
}
.accordion>.accordion-option .row,
.list .row
{
    border-bottom: 1px solid var(--base-color-black);
}
.accordion>.accordion-option .bloco-grafico.row
{
    border-bottom: 0;
}
.accordion>.accordion-option .row-headers,
.list .row-headers
{
    font-weight: bold;
}
.accordion>.accordion-option .row .field-label,
.accordion>.accordion-option .row .field,
.accordion>.accordion-option .row-header,
.accordion>.accordion-option .row-value,
.list .row .field-label,
.list .row .field
 {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
    /*width: 100%;*//* isto nao pode estar aqui porque normalmente vamos querer utilizar col-... */
 }
.accordion>.accordion-option .row .field-label,
.list .row .field-label
{
    font-family: SourceSansPro_Semibold;
}
.accordion>.accordion-option .row .field-with-link,
.list .row .field-with-link
{
    padding-top: 0;
    padding-bottom: 0;    
}
.accordion>.accordion-option .row .field a,
.accordion>.accordion-option .row .unidade-nome a,
.list .row .field a
{
    display: inline-block;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    text-decoration:none;/*para tirar os underlines*/
}
.accordion>.accordion-option>.accordion-option-header.accordion-option-header-white,
.accordion>.accordion-option .accordion-option-header.accordion-option-header-white
{
    background-color: #fff!important;/* tive de forçar porque nas escolas ha coloracoes */
    color: var(--base-color-black);
}
.accordion>.accordion-option .accordion-option-header.accordion-option-header-white > a
{
    text-decoration: none;
    color: var(--base-color-black);    
}
/* -- accordion-transparent -- */

.accordion-transparent>.card>.card-header,
.accordion-transparent>.accordion-option>.accordion-option-header
{
    background-color: transparent;
    color: var(--base-color-black);    
}
.accordion-transparent>.card>.card-header>button,
.accordion-transparent>.accordion-option>.accordion-option-header>button
{
    color: var(--base-color-black);
}

/* -- accordion-black -- */

.accordion-black>.card>.card-header,
.accordion-black>.accordion-option>.accordion-option-header,
.accordion-black>.accordion-option .accordion-option-header
{
    background-color: var(--base-color-black);
    color: #fff;    
}
.accordion-black>.card>.card-header>button,
.accordion-black>.accordion-option>.accordion-option-header>button,
.accordion-black>.accordion-option .accordion-option-header>button
{
    color: #fff;
}

/* -- accordion-red -- */
.accordion>.accordion-option,
.accordion .accordion-option
 {
    border-bottom: 1px solid var(--base-color-red);
 }
.accordion-black>.accordion-option,
.accordion-black .accordion-option
 {
    border-bottom: 1px solid var(--base-color-black);
 }
.accordion-red>.card>.card-header,
.accordion-red>.accordion-option>.accordion-option-header,
.accordion-red>.accordion-option .accordion-option-header
{
    background-color: var(--base-color-red);
    color: #fff;    
}
.accordion-red>.accordion-option>.accordion-option-content .accordion-option-header,
.accordion-red>.accordion-option .accordion-option-content .accordion-option-header
{
    background-color: var(--base-color-orange);
}
.accordion-red>.card>.card-header>button,
.accordion-red>.accordion-option>.accordion-option-header>button,
.accordion-red>.accordion-option .accordion-option-header>button,
.accordion-red>.accordion-option .accordion-option-header>a
{
    color: #fff;
}
.accordion-red>.accordion-option .accordion-option-header>a
{
    text-decoration:none;
}
.accordion-red>.accordion-option .accordion-option-header>a:hover {
    text-decoration:underline;    
}
							


/* -- Embed -- */

.full-content .video.embed,
.full-content .video.embed-responsive {
    height: auto;
    position: relative;/* o bootstrap tem um position: absolute que impedia a possibilidade de ter o height: auto que nos dava jeito */
    overflow: unset;/* o boostrap tem um overflow:hidden por defeito que estava a estragar o box-shadow */
}
.full-content .embed-responsive video {
    position: relative;/* o bootstrap tem um position: absolute que impedia a possibilidade de ter o height: auto que nos dava jeito */
}
.full-content .embed-responsive iframe {
    position: relative;/* o bootstrap tem um position: absolute que impedia a possibilidade de ter o height: auto que nos dava jeito */
    min-height: 440px;
}
.full-content .video .videowall-endscreen/* quadro dos videos relacionados */
{
    display:none;
}


/* -- slider-block -- */

.slider-block
{
    position: relative;/* para que as arrows possam ser absolute */
}
.slider-block .slick-dots
{
    bottom: -10px;
}
.slider-block .slick-dots li
{
    margin: 0 2px;
}
/* esconde o slick-dot se so tiver um dot */
.slick-slider .slick-dots li:first-child:nth-last-child(1) {
    display:none;
}

.slider-block .slick-prev,
.slider-block .slick-next
 {
     height: 40px;/*2vw*/
     width: 30px;/*2vw*/
     top: 40%;
     /*background-color: transparent;*//* estava a gerar scrollbars */
     background-color: #fff;     
 }
.slider-block .slick-prev {
    /*left: -25px;*//* estava a gerar scrollbars */
    left: -15px;    
}
.slider-block .slick-next {
    /*right: -25px;*//* estava a gerar scrollbars */
    right: -15px;    
}
.slider-block .slick-prev.slick-disabled,
.slider-block .slick-next.slick-disabled {
    opacity: .25;
}
.slider-block .slick-prev::before,
.slider-block .slick-next::before {
    content: '';/* retira as setas default */
}
.slider-block .slick-prev polyline,
.slider-block .slick-next polyline
 {
     fill: none;
     stroke: var(--base-color-black);
     stroke-width: 500;
     stroke-miterlimit: 10;
 }


/* --- Indicador (factos e numeros ou outros) --- */
.indicador
{
    border-left: 5px solid var(--base-color-black);
    padding: 0 20px;
    margin-bottom: 20px;
}
.indicador .highlight .ambito,
.indicador .line .ambito
{
    font-weight: bold;
    font-size: 2em;
}
.indicador .highlight .quantificacao,
.indicador .line .quantificacao {
    font-family: SourceSansPro_Semibold;     
    font-size: 3em;
}
.indicador .highlight .quantificacao .icon,
.indicador .line .quantificacao .icon
{
    margin-right: 20px;
}


/* -- bloco-contactos -- */
.full .contactos-localizacao::after {
    content:"";
    position:absolute;
    width:90%;
    bottom:0;/* necessario */
    left: 5%;/* necessario */
    z-index:-1;
    transform:scale(.9);
    box-shadow: 0px 0px 8px 2px #000000;
}

.full .contactos-localizacao
{
    padding: 10px;
    background-color: var(--base-color-medium-light-grey);
}
.full .contactos-localizacao .titulo
{
    font-family: SourceSansPro_Semibold;
    text-transform: uppercase;
    margin-bottom: 5px;
}		 
.full .contactos-localizacao .label
{
    font-family: SourceSansPro_Semibold;    
}
.full .label
{
    font-family: SourceSansPro_Semibold;    
}
.full .contacto.morada
{
    margin-top: 5px;
}
.full .contactos-localizacao .localizacao .mapa
{
    display: block;
    height: 90%;
    overflow: hidden;
}
.full .contactos-localizacao .latitude-longitude
{
    margin-bottom: 10px;
}


/* -- botao-secundario generico - branco -- */
.botao-sac-ue
{
    display: inline-block;
    margin-bottom: 10px;
}
.botao-sac-ue a
{
    display: block;/*block*/
    padding: 5px 0;    
}
.botao-sac-ue a,
.botao-sac-ue a:link {
    text-decoration: none!important;
}			
.botao-sac-ue a img
{
    height: 2vh;
    width: auto;
}


/* -- Bloco-Contactos-Horizontal (localização + contactos) - customtags ou includes -- */
.bloco-contactos-horizontal
{
    margin-bottom: 30px;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-localizacao
{
    padding: 10px 30px;
    background-color: var(--child-block-background-color);    
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-localizacao .titulo
{
    text-transform: uppercase;
    font-family: SourceSansPro_Light;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-localizacao .mapa
{
    overflow: hidden;
    max-height: 200px;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-localizacao .mapa img
{
    width: 100%;
    /*filter: grayscale(100%);*/
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-localizacao .coordenadas
{
    margin-top: 10px;
}
/*nos customtags podem aparecer p */
.bloco-contactos-horizontal .bloco-contactos-horizontal-localizacao p 
{
    margin: 0;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-contactos
{
    color: var(--base-color-black);/*#fff*/
    padding: 20px 20px 0 20px;
    position: relative;

    /* estas linhas alinham o conteúdo ao fundo */
    display: flex;
    align-items: end;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-contactos p 
{
    margin: 0;
    text-align: left;    
}
.bloco-contactos-horizontal a
{
    text-decoration: none!important;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-contactos .label
{
    font-family: SourceSansPro_Light;
    text-transform: uppercase;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-contactos .valor
{
    font-family: SourceSansPro_Semibold;
}
.bloco-contactos-horizontal .bloco-contactos-horizontal-contactos .morada
{
    margin-top: 0!important;
}


/* -- widget-simple -- */
.widget-simple
{
    padding: 10px;
    margin-bottom: 10px;
    background-color: var(--base-color-medium-light-grey);
    font-size: 1.2em;
}
.widget-simple .widget-label
{
    font-family: SourceSansPro_Light;
    text-transform: uppercase;
}
.widget-simple .widget-value
{
    font-family: SourceSansPro_Semibold;    
}
.widget-simple .widget-value a
{
    text-decoration: none;
}


/* --- Default Class Elements --- */


/*********************************/
/* -- Breakpoints Bootstrap 4 -- */
/* -- Com min-width           -- */
/*********************************/

/* xs - Extra Small devices (nao e necessario nos min-width) */
@media (min-width: 0) {
    .bloco06 .bloco06-responsavel 
    {
	    top: 15px;/* para ficar sobreposto à caixa da descrição */
	    left: 30px;
	    z-index: 2;
    }
}
/* sm - Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {}
/* md - Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {

    .bloco06 .bloco06-responsavel 
    {
	/*top: 0;*/
	/* alterado em junho de 2023 quando foi alterado o alinhamento do bloco ao centro */
	top: 4rem;
	left: 5%;
	z-index: 2;
    }
    .bloco06 .bloco06-descricao
    {
	left: -5%;
	padding-left: 15%;
	min-height: 320px;	
    }    
}
/* lg - Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .bloco02
    {
	margin-bottom: -100px;/* igual ao top do bloco02-short-description */
    }
    .bloco02 .bloco02-short-description
    {
	top: -100px;
    }    
    .bloco02 .bloco02-image.mr-auto 
    {
	left: 3%;
    }
    .bloco02 .bloco02-short-description.ml-auto
    {
	left: -3%;
    }
    .bloco02 .bloco02-image.ml-auto 
    {
	left: -3%;
    }
    .bloco02 .bloco02-short-description.mr-auto
    {
	left: 3%;
    }
    
    .bloco04 .bloco04-image 
    {
	    top: 25px;
	    left: 5%;
	    z-index: 2;
    }
    .bloco04 .bloco04-text
    {
	left: -5%;
	padding-left: 12%;
    }    
}
/* xl - Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .bloco06 .bloco06-descricao
    {
	min-height: 360px;
    }    
}

/*********************************/
/* -- Breakpoints Bootstrap 4 -- */
/* -- Com max-width           -- */
/*********************************/
/* xl - Extra Large devices (nao e necessario nos max-width) */
/* lg - Large devices (desktops, below 1200px) */
@media (max-width: 1999.98px) {}
/* md - Medium devices (tablets, below 992px) */
@media (max-width: 991.98px) {}
/* sm - Small devices (landscape phones, below 768px) */
@media (max-width: 767.98px) {
    .bloco02 .bloco02-short-description > p
    {
	font-size: 1.2em;
    }
    .botao-lateral-fixo
    {
	top: 150px;
    }
    .botao-lateral-fixo:hover
    {
	top: 140px;
    }

    .bloco03 .bloco03-content a
    {
	min-height: 100px;
    }

    .full-content .embed-responsive iframe {
	min-height: 250px;
    }    
    
}
/* xs - Extra Small devices (portrait phones, below 576px) */
@media (max-width: 575.98px) {
    .indicador .line .ambito
    {
	font-size: 1.2em;
    }
    .indicador .line .quantificacao
    {
	font-size: 1.2em;
    }
}



/* ------------------------------------------------- */



