@import url(https://fonts.googleapis.com/css?family=Work+Sans:300,400);

/*--------------------------------------------------------------
## OVERLAPPING
--------------------------------------------------------------*/

.page{
	margin: 0;
	padding: 0;
}
body {
    background: transparent;
}

/*--------------------------------------------------------------
## CUSTOM STYLING
--------------------------------------------------------------*/

:root {
  --antracite: #4b4b4b;
  --rose: #de0075;
  --lightgrey: #f1f1f1;
  --darkgrey: #dddddd;
}
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html{
	scroll-behavior: smooth;
}
body{
	margin: 0;
	padding: 0;
	font-family: "Work Sans", sans-serif;
	font-weight: 300;
	font-size: 17px;
	line-height: 1.3;
  letter-spacing: 0.015em;
	color: var(--antracite);
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* IE 10+ */
}
body::-webkit-scrollbar { 
  width: 0;
  height: 0;  /* WebKit */
}
a:link, a:visited, a:hover, a:active{
	color: var(--antracite);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all 0.5s;
}
a:hover{
	color: var(--rose);
	border-bottom: 1px solid var(--rose);
}
::-moz-selection {
  background: var(--lightgrey);
}
::selection {
  background: var(--lightgrey);
}
h1, h2, h3, h4, h5, h6{
	font-weight: 300;
  letter-spacing: 0.05em;
	color: var(--rose);
}
h1{
	margin: 30px auto 40px auto;
	font-size: 1.5em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--rose);
  display: inline;
}
h2{
	margin: 25px auto;
	font-size: 0.9em;
	text-transform: uppercase;
}
h3{
	margin: 20px auto 3px auto;
	font-size: 0.9em;
}
.text-margin{
	margin-top: 40px;
}
.white{color: #fff!important;}
.antracite{color: var(--antracite);}
.rose-bg{background-color: var(--rose);}
.lightgrey-bg{background-color: var(--lightgrey);}
.darkgrey-bg{background-color: var(--darkgrey);}
.white-bg{background-color: #fff;}

/*---------------------------------------------------------------------- NAV ---*/

#masthead{
	padding: 0 40px;
	width: 100vw;
	height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 99;
  transition: height 0.3s;
}
#masthead img{
  width: 200px;
  height: auto;
  position: relative;
  top: 10px;
  left: 0;
}
#site-navigation{
	margin-top: 3px;
	width: auto;
	position: relative;
	float: right;
}
#primary-menu li{
	margin: 11px auto auto 20px;
  display: inline-block;
  float: left;
	cursor: pointer;
}
#primary-menu li a{
	color: var(--antracite);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all 0.5s;
}
#primary-menu li a:hover{
	color: var(--rose);
	border-bottom: 1px solid var(--rose);
}
#site-navigation .menu-nav-menu-container{
	float: left;
}
#site-navigation .socialink{
	margin-top: 5px;
	display: inline-block;
}
#site-navigation .socialink img{
	width: 25px;
}
.main-navigation ul{
	display: block;
}
#masthead .toplogo,
#masthead .toplogo:hover,
#site-navigation .socialink{
	border: none!important;
}
#site-navigation .socialink img{
	top: 5px;
}
#changelang{
	/*display: inline-block;*/
	display: none;
	margin: 11px auto auto 5px;
}
#changelang span:hover{
	color: var(--rose);
	cursor: pointer;
}
#open-mobile, #close-mobile{
	display: none;
  width: 20px;
  position: fixed;
  top: 5px;
  right: 40px;
  cursor: pointer;
}
.full-masthead{
	height: 100%!important;
}
/*------------------------------------------------------------- ENTRANCE LOGO ---*/

#entrance-logo{
	width: 42vw;
	height: auto;
	position: absolute;
	top: 57%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9;
}
#entrance-logo img{
	width: 100%;
}

/*---------------------------------------------------------------------- SLIDER ---*/

#slider-banner {
  position: relative;
  top:0;
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
}
#slider-banner img{
  position: absolute;
  width: 100vw;
  height: 56.25vw; /* 16:9 — 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* 16:9 — 16/9*100 = 177.77 */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width:900px) and (max-height: 850px){

	#entrance-logo{
		display: none!important;
	}
	#slider-banner{
		min-height: 45vh;
	}
  #slider-banner img{
    /*min-height: 100vh;
    width: auto!important;*/
    min-height: auto!important;
    height: auto!important;
    min-width: 120vw!important;
    width: 120vw!important;
    top: 0;
    left: 50%;
    transform: translate(-50%, 50px);
  }
}
@media (max-width:900px) and (orientation : landscape) {
	#slider-banner{
		min-height: 75vh;
	}
}
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}
@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}
@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

/*---------------------------------------------------------------------- GENERIC SECTION + FLEX---*/

#intro,
#areas,
#equipa,
#servicos,
#contactos{
	padding: 30px 0 70px 0;
	position: relative;
	width: 100vw;
	text-align: center;
}
.container{
	margin: 0 auto;
	width: 60%;
	max-width: 900px;
}
section .flex{
	margin: 30px auto 0 auto;
	position: relative;
	width: 85%;
	max-width: 1224px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
#intro, #areas, #equipa, #servicos {
  padding-top: 70px;
}

/*---------------------------------------------------------------------- AREAS FLEX ---*/

#areas h1{
  margin-bottom: 20px;
}
#areas .flex{
	align-items: stretch;
	justify-content: flex-start;
}
#areas .flex div{
	margin-left: 90px;
  position: relative;
  width: calc(33.33% - 90px);
  height: 50px;
  text-align: left;
}
#areas .flex img{
	margin: 5px 15px 0 0;
	position: relative;
	width: 40px;
	float: left;
}
#areas .flex p{
	-webkit-appearance: initial;
	position: relative;
	display: inline-block;
	top: 50%;
	transform: translateY(-50%);
	border-bottom: 1px solid transparent;
	transition: border 0.7s;
	cursor: pointer;
}
#areas .flex p:hover{
	border-bottom: 1px solid var(--rose);
}

/*------------------------------------------------------------------------ AREAS SINGLE -- */

#area-single{
	display: none;
  position: fixed;
  width: 100vw;
  min-height: 100vh;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
	z-index: 10;
  overflow: auto;
}
.container.area{
	margin: 130px auto;
	width: 700px;
}
.container.area ul li{
	margin: 10px;
}
.container.area ul ul{
	margin: 10px 30px;
}
#frame{
	width: 100%;
  height: 100%;
  border: none;
}
#frame ul li{
	margin: 10px;
}
#voltar-areas{
	-webkit-appearance: initial;
  position: fixed;
  bottom: 50px;
  right: 100px;
  display: inline-block;
  color: var(--rose);
  border-bottom: 1px solid transparent;
  cursor: pointer;
  transition: all 0.7s;
}
#voltar-areas:hover{
	border-bottom: 1px solid var(--rose);
} 
.area-lista{
	margin-left: 30px;
	line-height: 1.3;
}

/*--------------------------------------------------------------------------- BANNER ---*/

#banner{
	margin: 0;
  padding: 0;
  width: 100vw;
  height: 37vh;
  overflow: hidden;
}
#banner img{
	position: relative;
	width: 100%;
	top: 80%;
	transform: translateY(-50%);
}

/*---------------------------------------------------------------------- EQUIPA FLEX ---*/

#equipa .flex{
	margin-top: 50px;
	align-items: flex-start;
	justify-content: space-around;
}
#equipa .flex div{
  position: relative;
  width: 25%;
  height: auto;
}
#equipa .flex img{
  width: 60%;
  border-radius: 50%;
}
#equipa .flex div h2{
	margin: 25px auto 10px auto;
}
#equipa .flex div p{
	margin: 0;
  padding: 0 10px;
	font-size: 0.7em;
	text-transform: uppercase;
}
#equipa .flex div a{
	border: none!important;
}

/*---------------------------------------------------------------------- SERVIÇOS + VIA FLEX ---*/

#via.flex{
	margin: 90px auto 0 auto;
	padding: 0 100px;
	align-items: stretch;
	justify-content: space-around;
}
#via.flex > div{
	position: relative;
  width: 33.33%;
}
#via.flex .viabox{
  margin: 0 auto;
  position: relative;
  width: 100px;
  height: 100px;
}
#via.flex .viabox img{
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#via.flex p{
	font-size: 0.7em;
}
#servicos ul{
  margin: 30px 10%;
}
#servicos ul li{
	margin: 0;
	list-style-type: none;
	font-size: 1.2em;
	color: var(--rose);
}
#servicos ul li p{
	margin: 10px 0;
}


/*---------------------------------------------------------------------- CONTACTOS FLEX ---*/

#contactos .flex{
	overflow: hidden;
	text-align: left;
}
#contactos .flex > div{
	padding: 0 40px;
	width: 33.33%;
}
#contactos div p{
	font-size: 0.8em;
}
#contactos .map{
	width: 100%;
	cursor: pointer;
}
#contactos .logo{
	margin: 0 0 30px 0 ;
  width: 210px;
  height: auto;
  position: relative;
}
#contactos span{
	color: var(--rose);
  font-size: 1.5em;
}

/*---------------------------------------------------------------------- NEWSLETTER ---*/

#mc_embed_signup{
	margin-top: 60px;
}
#mc_embed_signup h6{
	display: inline-block;
}
#mc_embed_signup span{
	font-size: 0.7em;
}
#mc_embed_signup input{
  margin: 5px 0;
  padding: 0px 10px;
  width: 95%;
  border: none;
  height: 30px;
  border-radius: 1px;
	font-family: "Work Sans", sans-serif;
  font-size: 0.8em;
  font-weight: 100;
  color: var(--antracite);
}
#mc_embed_signup .button{
	margin-top: 20px;
	color: #fff;
	background-color: var(--antracite);
	cursor: pointer;
}
#mc_embed_signup .indicates-required{
	margin-top: 20px;
}

/*---------------------------------------------------------------------- RODAPE ---*/

#rodape{
	padding: 0 40px;
	width: 100vw;
	height: 20px;
	position: relative;
}
#rodape p{
	margin: 7px 0 7px 0;
	font-size: 0.6em;
	display: inline-block;
}
#rodape p:nth-child(2){
	float: right;
}

/*---------------------------------------------------------------------- NOTICIAS ---*/

#noticias{
  padding-top: 0!important;
}
#noticias .container{
  margin: 0 auto;
  padding-top: 130px;
  width: 700px;
	text-align: left;
}
#noticias header{
	margin-bottom: 30px;
}
#noticias .news-block{
	margin: 0 0 70px 0;
}
#noticias .news-block a{
	color: var(--rose);;
}
#noticias .news-img{
	position: relative;
	width: 100%;
	height: 300px;
	overflow: hidden;
}
#noticias .news-img img{
	position: relative;
	width: 100%;
	height: auto;
	top: 50%;
	transform: translateY(-50%);
}
#noticias p{
	margin-bottom: 0;
	text-align: justify;
}
#noticias .info h3, #noticias .info p{
	display: inline-block;
}
#noticias .info{
	margin-right: 15px;
	display: inline-block;
}
#news-nav{
	width: 100%;
}
#news-nav .flex{
	width: 100%;
	justify-content: space-between;
}
.site-main .posts-navigation {
  margin: 0 70px 70px;
  color: var(--rose);
}
.site-main .posts-navigation .nav-previous a,
.site-main .posts-navigation .nav-next a {
  color: var(--rose)!important;
}

/*---------------------------------------------------------------------- NAV MOBILE ---*/

@media only screen and (max-width: 1150px){
	#site-navigation{
		display: none;
	  position: fixed;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  text-align: center;
	}
	#open-mobile{
		display: block;
	}
	#site-navigation .menu-nav-menu-container{
		float: none;
	}
	#primary-menu li{
	  display: block;
	  float: none;
	}
	.menu-item, .socialink img{
		margin-left: 0!important;
	}
	.menu-item a{
		display: inline-block;
	}
	.socialink img{
		margin-top: 20px!important;
	}
}

/*---------------------------------------------------------------------- QUERY ---*/

@media only screen and (max-width:1200px){
  #areas .flex div{
		margin-left: 20px;
    width: calc(33.33% - 20px);
  }
	#voltar-areas{
		bottom: 10px;
    right: 35px;
	}
}
@media only screen and (max-width:1100px){
  #areas .flex div{
		margin-left: 60px;
    width: calc(50% - 60px);
  }
  #equipa .flex div {
    width: 50%;
    padding: 15px 50px;
	}
	#via.flex {
    padding: 0 20px;
	}
}
@media only screen and (max-width: 950px){
	body{
		font-size: 15px;
	}
	.container{
		width: 80%;
	}
}
@media only screen and (max-width: 750px){
	#masthead{
		padding: 0 20px;
	}
	#open-mobile, #close-mobile {
    right: 20px;
  }
	#entrance-logo {
    width: 70vw;
  }
  #banner{
  	height: 29vh;
  }
  #equipa .flex div {
    width: 100%;
	}
	#via.flex > div {
		margin-bottom: 30px;
    width: 100%;
	}
	#contactos .flex > div {
    margin: 0;
    padding: 40px 20px 0 20px;
    width: 100%;
	}
	#mc_embed_signup {
    margin-top: 0;
  }
	#mc_embed_signup input{
		padding: 0;
		width: 100%;
	}
	#areas .flex div{
		margin-left: 0;
    width: 100%;
    height: 90px;
    text-align: center;
  }
  #areas .flex div img{
		margin: 0;
    position: absolute;
    float: none;
    display: block;
    left: 50%;
    transform: translateX(-50%);
  }
  #areas .flex div p{
    transform: translateY(20%);
  }
	.area-lista {
    margin-left: 15px;
	}
	.container.area {
	  width: 80%;
	}
	#voltar-areas{
		margin: 0;
		bottom: 10px;
    right: 15px;
	}
	#voltar-areas span{
		display: none;
	}
	#banner img{
		top: 30%;
	}
  #noticias .container {
    width: 80%;
	}
	#noticias .news-img {
    height: 190px;
	}
	.site-main .posts-navigation {
    margin: 0 20px 70px;
	}
	#rodape p:nth-child(2) {
    float: left;
		margin-top: 0;
	}
}

