/*
  STYLE v 1.1;
  05/2023;
  João Diogo Pereira;
*/

:root{
  --headerSize: 57px;
  --white: #ffffff;
  --black: #000000;
  --gray: #b5b3b3;
  --darkgray: #808080;
  --yellow: #FFC52A;
  --green: #459146;
  --orange: #D6742A;
}

.bg-green{
  background-color: var(--green);
}

/*FONTS*/

@font-face {
  font-family: 'Barlow';
  src: url(../fonts/Barlow.ttf);
}

/*GERAL*/

*{
  font-family: 'Barlow'!important;
}

html {
  overflow-x: hidden; 
}

.main-container {
  margin: 0 auto;
  width: 90%; 
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0; 
}

a {
  text-decoration: none; 
}

.row {
  margin: 0;
  padding: 0; 
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; 
}

main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; 
  margin-top: var(--headerSize);
}

.preloader{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: var(--white)
}

.preloader svg.logo {
  width: 5%;
  opacity: 0;
  height: auto;
  animation: pulse 1s ease-in-out 1 forwards;
}

.preloader svg.loader {
  width: 1%;
  opacity: 0;
  height: auto;
  animation: smallPulse 1s ease-in-out 1 forwards;
}

@keyframes pulse {
  0%{
    width: 5%;
    opacity: 0;
  }
  100%{
    width: 25%;
    opacity: 1;
  }
}

@keyframes smallPulse {
  0%{
    width: 1%;
    opacity: 0;
  }
  100%{
    width: 5%;
    opacity: 1;
  }
}

img{
  max-width: 100%;
  display: inline-block;
}

h1, .title{
  font-size: 24px;
  color: var(--black);
  text-transform: uppercase;
  font-weight: 500;
}

h2{
  font-size: 20px;
  color: var(--black);
  text-transform: uppercase;
  font-weight: 500;
}

.content{
  line-height: 1.3;
  font-size: 16px;
  color: var(--black);
  font-weight: 400;
}

footer .content{
  color: var(--white);
}

.content a{
  color: var(--black);
  text-decoration: underline;
  transition: all .3s ease-in-out;
}

.content a.no-underline{
    text-decoration: none;
}

.content a:hover{
  color: var(--green);
}

footer .content a{
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

footer .content a:hover{
  color: var(--white);
  text-decoration-color: var(--white);
}

.content ul{
  list-style-type: disc;
}

.content ol{
  list-style-type: decimal;
}


.content table{
  width: 100%;
  border-collapse: collapse;
}

.content table th, .content table td {
  border: solid 1px var(--green);
  padding: .5rem;
  text-align: center;
}

.content table th {
  background-color: var(--green);
  color: var(--white);
  font-weight: 500;
}

.img{
  width: 100%;
  aspect-ratio: 4/3;
}

.img.fixed{
  aspect-ratio: auto;
  position: sticky;
  top: 0;
}

.programa__img{
  width: 100%;
  background-color: transparent;
}

.img img, .programa__img img{
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

.programa__img span{
  font-size: 16px;
  font-weight: 400;
  color: var(--darkgray);
  text-decoration: underline;
  text-decoration-color: var(--white);
  transition: all .3s ease-in-out;
}

.programa__img:hover span{
  text-decoration-color: var(--black);
  color: var(--black);
}

.programa__img span svg{
  width: 16px;
  height: 16px;
}

.noticia__img{
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}

.noticia__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: all .3s ease-in-out;
}

.noticia:hover .noticia__img img{
  transform: scale(1.1);
}

.noticia__content{
  background-color: var(--gray);
  transition: all .3s ease-in-out;
}

.noticia:hover .noticia__content{
  background-color: var(--darkgray);
}

.noticia__content__data{
  color: var(--black);
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
}

.noticia__content__text{
  color: var(--white);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
}

.noticia__content__text *:last-child{
  margin-bottom: 0;
}

.pagination ul.page-numbers{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.pagination li{
  margin: 0 4px;
}

.pagination li .page-numbers{
  font-size: 16px; 
  font-weight: 500;
  line-height: 1.3;
  height: 25px;
  aspect-ratio: 1;
  border: solid 1px var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black);
  background-color: var(--white);
  transition: all .3s ease-in-out;
}

.pagination li .page-numbers.current, .pagination li .page-numbers:hover{
  background-color: var(--green);
  color: var(--white);
  border: solid 1px var(--green);
}

.content__data{
  font-size: 20px;
  color: var(--green);
  text-transform: uppercase;
  font-weight: 500;
}

.btns{
  line-height: 1.3;
  font-size: 16px;
  font-weight: 400;
  transition: all .3s ease-in-out;
}

.btns svg{
  width: 16px;
  height: 18px;
  vertical-align: text-bottom;
}

.btns--back{
  color: var(--darkgray);
  text-decoration: underline;
  background-color: transparent;
  border: 0;
  text-decoration-color: var(--white);
}

.btns--back svg{
  transform: scaleX(-1);
}

.btns--back.more svg{
  transform: scaleX(1);
}

.btns--back:hover{
  color: var(--darkgray);
  text-decoration-color: var(--darkgray);
}

.btns--green{
  padding: 4px 8px;
  color: var(--white);
  background-color: var(--green);
  border: solid 1px var(--green);
}

.btns--green:hover{
  color: var(--green);
  background-color: transparent;
  border: solid 1px var(--green);
}

.btns--white{
  padding: 8px 16px;
  font-weight: 600;
  color: var(--white);
  background-color: transparent;
  border: solid 1px var(--white);
}

.btns--white:hover{
  color: var(--green);
  background-color: var(--white);
  border: solid 1px var(--white);
}

.equipa__img{
  aspect-ratio: 1;
}

.equipa__img img{
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

.equipa__w25{
  width: 25%;
}

.equipa__w75{
  width: 75%;
}

.equipa__content__title{
  font-size: 35px;
  color: var(--black);
  font-weight: 500;
}

.equipa__content__text{
  color: var(--green);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
}

.equipa__content__title--small{
  font-size: 16px;
}

.equipa__content__text--small{
  font-size: 14px;
}

.color-green{
  color: var(--green);
}

.color-black{
  color: var(--black);
}

.color-white{
  color: var(--white);
}

.freguesia__info{
  text-transform: uppercase;
  font-size: 18px;
  color: var(--green);
  text-transform: uppercase;
  font-weight: 500;
}

.sticky{
  position: sticky;
  top: calc(var(--headerSize) + 3rem);
}

.noptin-inpost-main-wrapper .noptin-optin-form-wrapper{
  margin: 0!important;
}

.noptin-optin-form-wrapper{
  background-color: transparent!important;
}

.noptin-form-header{
  padding: 0 0 .5rem 0!important;
}

.noptin-form-header .noptin-form-heading{
  padding-top: 0!important;
  text-align: left!important;
}

.noptin-form-footer{
  padding: 0!important;
}

.noptin-form-footer .noptin-form-note{
  text-align: left!important;
  margin-top: 4px!important;
}

.noptin-form-footer .noptin-form-note a{
  color: var(--white)!important;
  text-decoration: underline!important;
  text-decoration-color: transparent!important;
  transition: all .3s ease-in-out;
}

.noptin-form-footer .noptin-form-note a:hover{
  text-decoration-color: var(--white)!important;
}

.noptin-form-footer .noptin-form-submit{
  border-color: inherit!important;
  border-radius: 0!important;
}

.noptin-form-footer .noptin-optin-field-wrapper:not(.noptin-optin-field-wrapper-hidden) .noptin-form-field{
  border-radius: 0!important;
  background-color: var(--white);
  color: var(--black);
  font-size: 16px;
}

.noptin-form-footer .noptin-optin-field-wrapper:not(.noptin-optin-field-wrapper-hidden) .noptin-form-field::placeholder{
  color: var(--black);
}

.slogan{
  font-size: 30px;
}

.inputs{
  line-height: 1.3;
  font-size: 16px;
  color: var(--black);
  font-weight: 400;
  background-color: var(--white);
  padding: 8px 16px;
  line-height: 1;
  font-size: 16px;
  color: var(--black);
  font-weight: 400;
  border-radius: 0;
  border: 0;
  width: 100%;
}

.inputs::placeholder{
  color: var(--orange);
  font-weight: 500;
}

.labels{
  line-height: 1;
  font-size: 14px;
  color: var(--white);
  font-weight: 400;
}

.labels a{
  line-height: 1;
  font-size: 14px;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  font-weight: 400;
  transition: all .3s ease-in-out;
}

.labels a:hover{
  color: var(--white);
  text-decoration-color: var(--white);
}

.evento{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: var(--darkgray);
  height: 100%;
}

.evento__content{
  background-color: var(--darkgray);
}

.evento__content__data{
  color: var(--white);
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
}

.evento__top__msg{
  color: var(--white);
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
}

.evento__top__title{
  color: var(--white);
  font-size: 22px;
  font-weight: 700;
}

.evento__top__local{
  color: var(--white);
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
}

.galeria{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: var(--gray);
}

.galeria__title{
  color: var(--white);
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
}

.galeria__num{
  color: var(--white);
  font-size: 25px;
  font-weight: 700;
}

.galeria__btn{
  color: var(--white);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.galeria:hover .galeria__btn{
  color: var(--white);
  text-decoration-color: var(--white);
}

.lightbox__img{
  width:100%;
  aspect-ratio: 1;
  overflow: hidden;
}

.lightbox__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: all .3s ease-in-out;
}

.lightbox__img:hover img{
  transform: scale(1.1);
}

.logopsd{
  max-width: 50px;
}

.socials svg{
  width: 24px;
  height: 24px;
}

.socials svg path.hover{
  fill: var(--black);
  transition: all .3s ease-in-out;
}

.socials a:hover svg path.hover{
  fill: var(--orange);
}

.bg-img{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

footer{
  background-image: url(../images/footerbg.png);
  background-repeat: repeat-x;
  background-size: contain;
  background-color: var(--orange);
}

@media only screen and (max-width: 1200px){
  .equipa__w25, .equipa__w75{
    width: 100%;
  }
}

@media only screen and (max-width: 992px){
  :root{
    --headerSize: 41px;
  }

  .evento__top__msg{
    font-size: 25px;
  }

  .evento__top__title, .galeria__title{
    font-size: 18px;
  }
}

@media only screen and (max-width: 767px){
  .slogan{
    font-size: 25px;
  }

  .socials svg{
    width: 20px;
    height: 20px;
  }

  .logopsd {
    max-width: 45px;
  }

  @keyframes pulse {
    0%{
      width: 5%;
      opacity: 0;
    }
    100%{
      width: 50%;
      opacity: 1;
    }
  }

  @keyframes smallPulse {
    0%{
      width: 1%;
      opacity: 0;
    }
    100%{
      width: 10%;
      opacity: 1;
    }
  }
}