@charset "utf-8";
/**
 *------------------------------------------------------------------------------
 * JOÃO CRISOSTOMO
 *------------------------------------------------------------------------------
 * @Template		SKY
 * @System      joomla 5
 * @file        template.css
 *------------------------------------------------------------------------------
 */
 :root {
  --transition-base: all 0.25s ease-in-out;
}
*, ::after, ::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
}
/*Os modals no backoffice Necessitam disto para apresentar
o body dentro do iframe sem scroll*/
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
 }
 
 /*////////////////////////////////////////////////////
-               Add-ons tests
////////////////////////////////////////////////////*/

/*mantem as imagens "intro image" e "Full Article Image" dentro da tag figure*/
figure img {
  width: 100%;
  object-fit: cover;
}
.figure img {
  width: 100%;
  object-fit: cover;
}
@media (min-width: 720px) {
  .txt-col-1{
    column-count: 1 !important;
  }
  .txt-col-2{
    column-count: 2 !important;
  }
  .txt-col-3{
    column-count: 3 !important;
  }
}
.inline {
  display: inline-block;
}
.img-100{
  width: 100%;
}
.img-cover{
  object-fit: cover;
}
.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}
div[class*="txt-col"]{
  column-count: 1;
  column-gap: 2.5em;
}

/*
* Do ficheiro classes.css
*/
.visible {
  visibility: visible !important;
}
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}
.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}


/*////////////////////////////////////////////////////
-                  RESPONSIVENESS
////////////////////////////////////////////////////*/


/* .container-banner .row {
  justify-content: center;
} */
.container-top-a .row > div{
  width: 100%;
}
.container-top-b .row > div{
  width: 100%;
}
.container-bottom-a .row > div{
  width: 100%;
}
.container-bottom-b .row > div{
  width: 100%;
}
.container-footer .row > div{
  width: 100%;
}
.container-top-a > *, 
.container-top-b > *, 
.container-bottom-a > *, 
.container-bottom-b > * {
  flex: 1;
  margin: .5em 0;
}
/*////////////////////////////////////////////////////

-               TEMPLATE STRUCTURE
////////////////////////////////////////////////////*/

#stage{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.system-debug {
  display:block
 }
 .module {
  position: relative;
}
 /*=================================================/
**   TOPBAR
*/
#topbar{
  /* align-items: center; */
}
.container-topbar{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
/*=================================================/
**   HEADER 
*/
header { 
  position: relative;
  z-index: 10;
}

/*=================================================/
  NAVIGATION
*/

#main-navbar{
  /* border: 1px solid blue; */
  min-height: 70px;
  }

#main-navbar .container{
  display: flex;
  flex-wrap: nowrap;
  }
  .nav-position{
    display: flex;
    flex-grow: 1;
    flex-shrink: 1;
    }

  #nav-top{
    /* align-items: start; */
  }
    .container-nav-top {
      justify-content: center;
    }
      
      #nav-left{
      /* align-items: center; */
      }
        .container-nav-left{
            display: flex;
            justify-content: start;  
            align-items: center;
        }
      #nav-center{
      /* align-items: center; */
      }
        .container-nav-center{
            display: flex;
            justify-content: center;
            align-items: center;
            padding-top: 10px; /*colocar em .brand-box no theme*/
        }
      #nav-right{
      /* align-items: center; */
      }
        .container-nav-right{
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }

  #nav-bottom{
    /* align-items: center; */
  }
    .container-nav-bottom {
      justify-content: center;
    }
/*==============================================/
   SYSTEM MESSAGE CONTAINER
*/
#system-message-container joomla-alert {
  margin-top: 30px;
  margin-bottom: 30px;
}

/*==============================================/
   BREADCRUMBS
*/
#breadcrumbs {
  margin-top: 30px;
  margin-bottom: 30px;
}

/*==============================================/
   MAIN CONTENT AREA
*/
#main-content-area{
  /*background-color: rgb(255, 248, 183); */
  /* display: flex; */
  flex-flow: column wrap; 
  width:100%;
  /* border: 5px solid #e93fbe; */
}
#sidebar-left{
  /* background-color: cornflowerblue; */
  /* flex-grow: 1; */
  width:100%;
  order: 3;
}
#component-area{
  /* background-color: rgb(192, 255, 195); */
  /* flex-grow: 1; */
  width:100%;
  padding: 0;
}
#sidebar-right{
  /* background-color: pink; */
  /* flex-grow: 1; */ 
  width:100%;
  padding: 0;
}
@media (min-width: 992px) {
    #main-content-area{
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
    }
    #sidebar-left{
      width: 21%;
      min-width: 220px;
      order: 0;
      flex-grow: 1; 
    }
    #component-area{
      width: 58%;
      flex-grow: 1; 
    }
    #sidebar-right{
      width: 21%;
      min-width: 220px;
      flex-grow: 1;
      padding-left: 15px; 
    }
}

/*
  Position Bottom B
==============================*/
.container-bottom-b{
  display: flex;
}

/*==============================================/
   FOOTER
*/
footer{
  margin-top: auto;
}


