/* -- css base do layout1 responsive -- */

/* --- Cores Base Indicadas/Visíveis na Proposta de Design diferem --- */
/* vermelho (proposta) - #80172A */
/* laranja (proposta) - #9f1c33 */
/* amarelo (proposta) - #F2AD00 */
/* cinza escuro (proposta) - #808080 */
/* cinza claro (proposta) - #d8d8d8 */
/* cinza muito claro - #f9f9f9 */
/* preto (proposta) - #262626 */
/* vermelho (printscreen) - #b51400 */
/* laranja (printscreen) - #e02400 */


/* ------------------------------------------------------------------------- */
/* -- propriedades base: podem ser chamadas na forma var(--property-name) -- */
/* ------------------------------------------------------------------------- */

:root {
    --base-color-bordeaux: #80172a;
    --base-color-red: #9b1528;/* ad182d escurecido quando tivemos de escurecer o orange */ /*#b51400; -- deixou de ser red */
    --base-color-orange: #B3002A;/* #c3002f falhava nos testes de contraste AAA */ /*#cf0a2c, #e02400; -- deixou de ser orange */
    --base-color-yellow: #f2ad00;
    --base-color-very-light-grey: #f9f9f9;
    --base-color-medium-light-grey: #efefef;            
    --base-color-light-grey: #d8d8d8;
    --base-color-dark-grey: #545454;/* -- antes #808080, foi alterado porque tinha pouco constraste -- */
    --base-color-medium-dark-grey: #555f61;
    --base-color-very-dark-grey: #333;    
    --base-color-black: #262626;

    --base-color-eartes: #aa7bc9;
    --base-color-ect: #026937;
    --base-color-ecs: #0082ca;
    --base-color-esesjd: #ffbf3b;
    --base-color-iifa: #c3002f;    
    
    --base-font-size: 10pt;

    --border-color-header: #ccc;
    --footer-sitemap-color: #343a40;

    --child-block-background-color: #f5f5f5;    
}


/* --------------------------- */
/* -- Body e Elementos Base -- */
/* --------------------------- */

body
{
  background-color:#fff;
  font-family: SourceSansPro_Regular;
  font-size: var(--base-font-size);
  margin: 0;
  padding: 0;
  color: var(--base-color-black);
  text-align:left; /* fix IE default center align */
}
body.font_size_base
{  
  font-size: var(--base-font-size);
}
body.font_size_medium
{  
  font-size: 1.1em;
}
body.font_size_large
{  
    font-size: 1.2em;
}
img
{
    max-width: 100%;
    height: auto;
    border:0;
}
h1, h2, h3, h4,h5,h6
{  
    font-weight:normal;
    display: block;/* -- antes tinha inline-block foi retirado porque titulos seguidos ficavam lado a lado -- */
    clear: both;
}
h1
{
    font-family: SourceSansPro_Bold;        
    font-size: 4.6em;
    margin-bottom: 30px;
}
h1.medium {
    font-size: 3.8em;
}
h1.long {
    font-size: 3em;
}
h1::before {
    content: '';
    display: block;
    width: 250px;
    border-top: 7px solid var(--base-color-black);
    margin-bottom: 15px;
}
h2
{
    font-family: SourceSansPro_Bold;        
    font-size: 2.5em;
    /*border-top: 5px solid var(--base-color-black);*/
    padding-top: 5px;
    padding-right: 5%;    
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 10px;    
}
h2::before {
    content: '';
    display: block;
    width: 200px;
    border-top: 5px solid var(--base-color-black);/*--base-color-black*/
    margin-top: 10px;    
    margin-bottom: 10px;
}
h3
{
    font-family: SourceSansPro_Semibold;        
    font-size: 1.5em;
    /*border-top: 3px solid var(--base-color-black);*/
    padding-top: 10px;
    padding-right: 5%;    
    text-transform: uppercase;
}
h3::before {
    content: '';
    display: block;
    width: 150px;
    border-top: 3px solid var(--base-color-black);
    margin-top: 10px;    
    margin-bottom: 10px;
}
h4
{  
    font-size:1.3em;
    font-family: SourceSansPro_Semibold;
    margin-top: 10px;    
}
h5
{  
    font-size:1.1em;
    font-family: SourceSansPro_Semibold;
    margin-top: 10px;    
}
:link, *:visited
{  
  text-decoration:none;
}
:-moz-any-link:focus {
  outline: none;
}
a,
a:active,
a:focus,
a:link,
a:visited {
    color: var(--base-color-black);
    text-decoration: none;
}
a:hover{
    color: var(--base-color-orange);
}
ul
{
    list-style-type: square;
    padding-left: 25px;
}
ul li::marker {
    font-size: 1.2em;
}	
p
{  
    text-align:left;/*justify;*/
}

/* -- link skip to main content -- */

a.skip-main {
    left:-999px;
    position:absolute;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    z-index:-999;
}
a.skip-main:focus,
a.skip-main:active {
    color: #fff;
    background-color:#333;
    left: auto;
    top: auto;
    width: 30%;
    height: auto;
    overflow:auto;
    margin: 10px 35%;
    padding:5px;
    text-align:center;
    font-size:1.2em;
    z-index:999;
}


.full-content a,
.full-content a:active,
.full-content a:focus,
.full-content a:link,
.full-content a:visited,
.full-content p a,
.full-content p a:active,
.full-content p a:focus,
.full-content p a:link,
.full-content p a:visited {
    text-decoration: underline;
}
.full-content .line .line-content a
{
    text-decoration: none;/* retira os underlines de templates line*/
}
.full-content .line-default .line-content a
{
    text-decoration: underline;/* acrescenta os underlines de templates line-default, retirados na linha anterior */
}
.unidade .full-content .childs
{
    margin-top: 80px;
    margin-bottom: 50px;
}
.full-content .childs.row,
.full-content .embed-row.row
{
    /* undo bootstrap row */
    margin-left: 0;
    margin-right: 0;    
}
h1 a, h2 a, h3 a, h4 a, h5 a {
    text-decoration: none!important;    
}
td p
{  
    margin-bottom: 0;
}
.text a,
/*.text ul a,
.text ol a*/ {
    text-decoration: underline;
}
.text a:hover,
.text ul a:hover,
.text ol a:hover{
    text-decoration: underline var(--base-color-orange);		   
}

/* ------------------------------ */
/* -- Parts base configuration -- */
/* ------------------------------ */

.header,
.menu,
.topmenu,
.path,
.main,
.main-numbers,
.footer-plataformas,
.footer-certificacoes,
.footer-sitemap,
.footer-contacts,
.footer-bottom
{
    
}
.header {background-color: #fff; color: var(--base-color-black); border-bottom: 1px solid var(--border-color-header);}
.header-content {}
.menu {background-color: #fff; color: var(--base-color-black);}
.path {background-color: #fff;}
.main {background-color: transparent;}
.main-numbers {background-color: transparent;}
.footer-plataformas {background-color: transparent;}
.footer-certificacoes {background-color: transparent;}
.footer-sitemap {background-color: var(--footer-sitemap-color);}
.footer-contacts {background-color: var(--base-color-orange); color: #fff;}
.footer-bottom {background-color: var(--base-color-red);}


/* ----------------------------- */
/* -- Header, Menu e Submenus -- */
/* ----------------------------- */

.header .search-box,
.header .area-reservada
{
    /*float:left;*/
    display: inline-block;
}
.header .header-right-content .search-box,
.header .header-right-content .area-reservada{
    margin-right: 20px;
}
.header .navbar-collapse .nav-link
{
    display: inline-block;
}
.header .navbar .navbar-toggler-container
{
    text-align: right;
}

.header .navbar .dropdown-menu
{
    border: 1px solid var(--border-color-header);
    border-radius: 0;
    top: 94%;/* correcao do posicionamento porque o dropdownmenu */
    opacity: 90%;
}
.header .navbar .dropdown-menu a.dropdown-item
{
    line-height: 20px;
    padding-left: 10px;
    padding-right: 10px;    
}
.header .navbar .row
{
    flex-grow: 1; /* corrige o problema da class row dentro do navbar */
}
.header .navbar-nav .nav-item
{
    padding-left: 0;
    margin-right: 10px;
}
.header .navbar-nav > .nav-item a
{
    border-bottom: 2px solid #fff;
}
.header .navbar-nav > .nav-item > a
{
    text-transform: uppercase;
}
.header .navbar-nav > .nav-item.active > a,
.header .navbar-nav > .nav-item.active > .nav-item-anchor > a,
.header .navbar-nav > .nav-item a:hover{
    /*background-color:#fff;  */
    border-bottom: 2px solid var(--base-color-orange);
}
.header .header-right-content
{
    justify-content: flex-end;
}
.header .header-right-content,
.header .header-right-content a
{
    padding-top: 15px;
}
.header .search-box,
.header .search-box a,
.header .area-reservada,
.header .area-reservada a,
.header .idiomas,
.header .idiomas a
{
    color: var(--base-color-dark-grey);
}
.header .search-box input.form-control
{
    border-radius: 15px 15px;
    height: 25px;
    padding-right: 30px;
    width: 150px;
    font-size: 0.9em;
}
.header .search-box .fa-search,
.header .area-reservada .fa-user
 {
     font-size: 0.8em;
 }
.header .search-box .fa-search/*passou a ser um button*/
{
    position:relative;
    left: -25px;
    padding: 3px;
    background-color: transparent;
    border: 0;
}
.header .area-reservada .fa-user
 {
     margin-right: 5px;
 }
.header .idiomas .selected
{
    color: var(--base-color-black);
}
.header .navbar-brand
{
    margin:0;
    padding:0;
}
.header .navbar-brand a
{
    padding:0;
}
.header .navbar-brand img/* se for svg */
{
    height: 45px;
}

/* -- submenu - configurações genéricas do submenu (no topo e na lateral) -- */
.submenu
{
    font-family: SourceSansPro_Semibold;
}
.submenu ul
{
    list-style: none;
    margin: 0;
    padding-left: 10px;
}
.submenu ul li
{
    border-left: 2px solid var(--base-color-light-grey);
}
.submenu ul li .nav-link
{
    position: relative;
    left: -2px;/* para que possa sobrebor o border laranja */
    padding: 5px 10px 0px 10px;
    border-left: 2px solid var(--base-color-light-grey);    
}
.submenu ul li .nav-link:hover,
.submenu ul li .nav-link:active
{
    border-left: 2px solid var(--base-color-orange);
}
/*
.submenu .nav-item .arrow
{
    margin-left: 10px;
}
*/
.submenu .nav-item .nav-link[aria-expanded="true"] span.arrow::before,
.submenu .nav-item .submenu-opt-pointer[aria-expanded="true"]::before
{
    content: "\f106"!important;/*icon do fontawesome*/
}
.submenu .nav-item .nav-link[aria-expanded="false"] span.arrow::before,
.submenu .nav-item .submenu-opt-pointer[aria-expanded="false"]::before
{
    content: "\f107"!important;/*icon do fontawesome*/
}
.submenu .root-nav-item.active > a,
.submenu .root-nav-item.active > .nav-item-anchor > a,
.submenu .nav-item.active > a,
.submenu .nav-item.active > .nav-item-anchor > a
{
    color: var(--base-color-orange);    
}
.submenu .nav-link
{
    padding: 5px 10px 5px 1em;    
}
.submenu .nav-link.nav-link-with-children
{
    display: inline-block;
    max-width: 82%;
}
.submenu .submenu-opt-pointer
{
    display: inline-block;
    width: 15%;
    padding: 5px 1em;
}
.submenu .submenu-opt-pointer:focus {
    outline: none;
}
				  


/* -- header-submenu - configurações especificas do header-submenu -- */
.header-submenu
{
    
}
.header-submenu .header-submenu-nav-link
{
    display: block;
    text-align: center;
    text-transform: uppercase;
    padding: 12px 0;
    font-weight: bold;
}
.header-submenu .submenu ul li .nav-link
{
    padding: 10px 10px;
}
.header-submenu .header-submenu-nav-link .arrow
{
    float: right;
    display: block;
    padding: 3px;
    right: 5%;
    position: relative;
    margin-right: 15px;
}
.header-submenu .header-submenu-nav-content
{
    padding: 10px;
}
.header-submenu .header-submenu-nav-content .submenu
{
    max-height: 300px;
    overflow-y: auto;
}
.header-submenu .header-submenu-nav-link[aria-expanded="true"] span.arrow::before{
    content: "\f106"!important;/*icon do fontawesome*/
}
.header-submenu .header-submenu-nav-link[aria-expanded="false"] span.arrow::before{
    content: "\f107"!important;/*icon do fontawesome*/
}

/* -- main-submenu - configurações especificas do main-submenu (lateral) -- */
.main-submenu .submenu
{
    position: sticky;    
    top: 200px;
    margin-bottom: 20px;    
}
.main-submenu .submenu .root-nav-item
{
    font-size: 1.1em;
}



/* -- header-transparent -- */
.header.header-transparent
{
    background-color: transparent;    
    color: #fff;
    border-color: transparent;
    font-weight: bold;
}
.header.header-transparent a
{
    color: #fff!important;
}
.header.header-transparent #navbarNavDropdown
{
    font-weight: normal;
}
.header.header-transparent #navbarNavDropdown .search-box input
{
    color: var(--base-color-black)!important;
    border-color: var(--base-color-black)!important;
}
.header.header-transparent .navbar-nav .dropdown-menu a
{
    color: var(--base-color-black)!important;
}
.header.header-transparent .navbar-nav .dropdown-menu a:hover{
    background-color: transparent;
}							    
.header.header-transparent .fa::before{
    color: #fff;
}
.header.header-transparent .nav-item a
{
    border-color: transparent;
}
.header.header-transparent .search-box input
{
    color: #fff;
    font-weight: bold;
    background-color: transparent;
    border-color: #fff;
}


/* ----------------------------- */
/* -- Path                    -- */
/* ----------------------------- */

.path 
{
    font-size: 0.9em;
}
.path.path-after-submenu
{
    margin-top: 20px;
}
.path .breadcrumb-item.active
{
    color: var(--base-color-dark-grey);
}
.path .breadcrumb-item a
{
    color: var(--base-color-dark-grey);
}


/* ----------------------------- */
/* -- Main                    -- */
/* ----------------------------- */

.main .main-content
{
    min-height: 500px;
}

/* ----------------------------- */
/* -- Footer                  -- */
/* ----------------------------- */

.footer-plataformas
{
    margin-top: 50px;
    border-top: 1px solid #e9e9e9;
}
.footer-plataformas .footer-plataformas-content
{
    padding-top: 10px;
    padding-bottom: 10px;    
}
.footer-plataformas .row 
{
    justify-content: center;/* flexbox */
}
.footer-plataformas .footer-link
{
    margin: 10px 20px;
}
.footer-plataformas .footer-link img
{
    opacity: 0.5;
    height: 22px;
    width: auto;
}
.footer-plataformas .footer-link a:hover img
{
    opacity: 1;    
}





.footer-certificacoes
{
    border-top: 1px solid #e9e9e9;
}
.footer-certificacoes .footer-certificacoes-content
{
    padding: 10px 30px;
}
.footer-certificacoes .row
{
    justify-content: flex-start;/* flexbox */
}
.footer-certificacoes .label-certificacoes
{
    font-weight: bold;
}
.footer-certificacoes .footer-link
{
    margin: 10px 10px;
}
.footer-certificacoes .footer-link img
{
    /*opacity: 0.5;*/
    height: 40px;
    width: auto;
}








.footer-sitemap .footer-sitemap-content
{
    padding-top: 30px;
    padding-bottom: 20px;    
}
.footer-sitemap .footer-sitemap-block
{
    margin-bottom: 20px;
}
.footer-sitemap .footer-sitemap-block .titulo
{
    color: #fff;
    font-family: SourceSansPro_Semibold;
    font-size: 1.1em;
    text-transform: uppercase;
}
.footer-sitemap .footer-sitemap-block .opcoes a
{
    color: var(--base-color-light-grey);
}
.footer-sitemap .footer-sitemap-block ul
{
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.footer-contacts .footer-contacts-content
{
    padding-top: 10px;
    padding-bottom: 10px;    
}
.footer-contacts .bloco-contactos
{
    margin-top: 10px;
    margin-bottom: 10px;    
}
.footer-contacts .bloco-contactos .label
{
    font-weight: bold;
}
.footer-contacts .bloco-contactos a
{
    color: #fff;
}
.footer-contacts .toggle-contacts-link,
.footer-contacts .toggle-contacts-link:hover{
    color: #fff;
}					   
.footer-contacts .toggle-contacts-link[aria-expanded="true"] span.arrow::before{
    content: "\f106"!important;/*icon do fontawesome*/
}
.footer-contacts .toggle-contacts-link[aria-expanded="false"] span.arrow::before{
    content: "\f107"!important;/*icon do fontawesome*/
}
.footer-bottom .footer-bottom-content
{
    padding-top: 20px;
    padding-bottom: 10px;    
}
.footer-bottom .footer-bottom-content,
.footer-bottom .footer-bottom-content a
{
    color: #fff;
}

.footer-bottom .footer-bottom-content .copyright-aviso-legal,
.footer-bottom .footer-bottom-content .logos-financiamento,
.footer-bottom .footer-bottom-content .redes-sociais
 {
     margin-bottom: 15px;
 }
.footer-bottom .footer-bottom-content .aviso-legal
{
    color: #fff; /* retirado o var(--base-color-light-grey) porque falhava nos testes de contraste */
}
.footer-bottom .footer-bottom-content .logos-financiamento
{
    text-align: center;
}
.footer-bottom .footer-bottom-content .logos-financiamento img
{
    max-height: 35px;
    max-width: 32%;
    margin-bottom: 10px;
    margin-left: 5px;
    margin-right: 5px;    
}
.footer-bottom .footer-bottom-content .logos-financiamento img.small
{
    max-height: 25px;
    margin-bottom: 15px;
}
.footer-bottom .footer-bottom-content .redes-sociais
{
    display: flex;
    justify-content: right;/* flexbox */
    font-size: 1.8em;
}
.footer-bottom .footer-bottom-content .redes-sociais a
{
    margin: 0 7px;
    height:20px;
}

/* -- Full Views -- */
.full .full-content
{
    margin-bottom: 50px;
}
.full .full-content > .short-description
{
    font-family: SourceSansPro_Bold;
    font-size: 1.1em;
    position: relative;
    top: -30px;
    margin-bottom: 20px;
}
.full .full-content > .description
{
    padding-top: 0px;
    padding-bottom: 20px;    
}

/* -- Line Default View-- */
.line-default a::before {
    content: '';
    display: inline-block;
    height: 6px;
    width: 6px;
    margin-right: 3px;
    position: relative;
    top: -2px;
    background-color: var(--base-color-black);
}
/* -- Line Default para os documentos_gesdoc-- */
.documentos.line-default a::before,
.documento.line-default a::before,
.documentos_gesdoc.line-default a::before,
.documento_gesdoc.line-default a::before,
.grupo_pastas_gesdoc.line-default a::before
{
    background-color: transparent;
    width: 0;
    margin-right: 0;
    top: 0;
}
.documentos.line-default a span.icon,
.documento.line-default a span.icon,
.documentos_gesdoc.line-default a span.icon,
.documento_gesdoc.line-default a span.icon,
.grupo_pastas_gesdoc.line-default a span.icon
{
    font-size: 20pt;
    width: 25pt;
}


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

/* xs - Extra Small devices (nao e necessario nos min-width) */
/* sm - Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {}
/* md - Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {}
/* lg - Large devices (desktops, 992px and up) */
@media (min-width: 992px) {}
/* xl - Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}

/*********************************/
/* -- 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: 1199.98px) {
    h1 { font-size: 4.1em; }
    h1.medium {
	font-size: 3.2em;
    }
    h1.long {
	font-size: 2.5em;
    }
    h2 { font-size: 2.2em; }
    h3 { font-size: 1.3em; }
}
/* md - Medium devices (tablets, below 992px) */
@media (max-width: 991.98px) {
    h1 { font-size: 2.6em; }
    h1.medium {
	font-size: 2.3em;
    }
    h1.long {
	font-size: 2em;
    }    
    h2 { font-size: 1.6em; }
    h3 { font-size: 1.2em; }

    .header
    {
	/* o header é sticky-top, quando expandido, em devices pequenos estava a ficar cortado */
	/* as duas propriedades seguintes corrigem esse problema, acrescentando um scroll no header se necessario */
	/* 100vh = 100 unidades do viewport height */
	max-height: 100vh;
	overflow: auto;
    }
    .header .navbar-brand img
    {
	height: 30px;
    }
    .header #navbarNavDropdown
    {
	background-color: #fff;
	padding-top: 10px;
	padding-bottom: 10px;	
    }
    .header.header-transparent #navbarNavDropdown a
    {
	color: var(--base-color-black)!important;
    }    
    .header.header-transparent #navbarNavDropdown .fa::before{
	color: var(--base-color-black);
    }

    .footer-plataformas .footer-link
    {
	margin: 10px 15px;
    }
    .footer-plataformas .footer-link img
    {
	height: 20px;
    }

    /* icones my.ue */
    .full #link_google_play img,
    .full #link_app_store img    
    {
	height: 60px;
    }
    
    
}
/* sm - Small devices (landscape phones, below 768px) */
@media (max-width: 767.98px) {
    h1 { font-size: 2.4em; }
    h1.medium {
	font-size: 2.1em;
    }
    h1.long {
	font-size: 1.8em;
    }        
    h2 { font-size: 1.4em; }
    h3 { font-size: 1.1em; }

    .footer-plataformas .footer-link
    {
	margin: 10px 10px;
    }
    .footer-plataformas .footer-link img
    {
	height: 15px;
    }    

    /* icones my.ue */
    .full #link_google_play img,
    .full #link_app_store img    
    {
	height: 50px;
    }
    
}
/* xs - Extra Small devices (portrait phones, below 576px) */
@media (max-width: 575.98px) {}

