* {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
/*@import url("https://use.typekit.net/mmu5ttl.css");*/
body {
	background-color: #fff;
	font-family: "pragmatica-condensed", Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.5;
	color: #507484;
}

li {
	list-style-type: none;
}
td {
  vertical-align: top;
}

#wrapper {
	display: flex; 
  min-height: 100vh;
  flex-direction: column;
}
.home header {
	width:50%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-grow:1;
}
.categories header, .contacto header, .sobre header {
  flex-grow:1; /*center main content vertically*/
}

.cat_list header, .sobre header, .categories header, .contacto header  {
	display: flex;
	justify-content: space-between;
	padding: .75em;
  background-color: #fff;
  z-index:100;
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%
}
.sticky + main {
  padding-top: 102px;
}
.border {
  border-bottom: solid thin #ebf1f9;
  -webkit-box-shadow: 0px 12px 18px -14px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 12px 18px -14px rgba(0,0,0,0.1);
  box-shadow: 0px 12px 18px -14px rgba(0,0,0,0.1);
}

header nav {
	display: none; /*works with JS animation*/
}
nav a {
	display: inline-block;
  font-family: "motiva-sans",sans-serif;
  font-weight: 400;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: .9rem;
	text-align: center;
	padding: 4px 1px;
	margin: 1px 2px;
	cursor: pointer;
}
nav a:nth-child(4) {
	margin-left:.8em;
}
nav a:link, nav a:visited {
	color: #000;
}
header nav a:hover, header nav a:focus, header nav a:active {
	/*color:#de2c52;*/
	border-bottom: 2px solid rgba(0,0,0,.8);
	-webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
   /*-webkit-transform: translateY(-8px);
    transform: translateY(-8px);*/
} 
#slideshow_compact {
  display: none;
}
#logo_index_V {
  display: none;
}
.lang a, nav a.active {
	color: #000;
	border-bottom: 3px solid rgba(0,0,0,.8);
	
}
.lang a:link {
	color: #858795;
	border:none;
	
}
/*nav a.lang:visited{
	color:#000;
	}*/
.lang a:hover, .lang a:focus, .lang a:active {
	/*color:#de2c52;*/
	border-bottom: 2px solid #000;
	-webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.home main {
	background: url(../images/dot.svg) repeat;
	background-size: 10px 10px;
}
.cat_list main, .sobre main, .contacto main {
  display: flex;
  margin-top: 6em;
  margin-bottom: 6em;
  padding: 0 .75em;
}
.contacto main {
justify-content: space-evenly;
}
.home nav {
  background-color: #E7F5E9;
  padding: .75em .75em 0 .75em;
}
.main_nav {
  background-color:#fff;
	align-self: flex-start;
  display: flex;
  padding: .75em .75em 0 .75em;
}
.collage {
  display:flex;
  width: 78%;
  margin: 0 auto;
  align-items: center;
}
.collage div:first-child {
  flex-basis: 40%;
}
.collage div:nth-child(2) {
  flex-basis: 60%;
}
.squares {
	display:flex;
	flex-wrap: wrap;
  justify-content: space-around;
	flex-grow: 1;
	width: 78%;
	margin: 2em auto 0;
	}
.squares a {
	text-decoration:none;
	margin: 0 0 2.5em;
	flex-basis: 25%;
	/*-webkit-box-shadow: 0 0px 26px -6px rgba(0,0,0,.2);
	   -moz-box-shadow: 0 0px 26px -6px rgba(0,0,0,.2);
	        box-shadow: 0 0px 26px -6px rgba(0,0,0,.2);*/
}
.squares a:link, .catalogo a:visited {
	/*color: #fff;*/
}
.squares a:hover {
	/*color: #000;*/
	text-decoration: underline;
}
.squares h3, .text h3 {
	padding: .75em 0em;
	font-family: "motiva-sans",sans-serif;
  font-size: 1em;
  font-weight: 400;
	text-transform: uppercase;
	display: inline-block;
	letter-spacing: .1em;
	color: #000;
	/*background-color: #e7f5e9;*/
}
.squares h3:hover {
	/*background-color: #E7F5E9;*/
	/*color:#000;*/
	text-decoration: underline;
}
.squares img {
	width: 100%;
}
img.photo1 {
    /*margin: 4% 4% 4% 4%;*/
	width:100%;
	display: block; /*this fixes spacing after the img*/
	}

.cycle-slideshow { 
	width: 50%;
	margin: 0 auto; 
}

.cycle-slideshow > img { 
	width: 100%; 
	height: auto 
}

#logo {
  content: url(../images/logo1.svg);
	opacity: .8;
	width: 21em;
  align-self: flex-start;
}
.home #logo_H {
	align-self: flex-end;
	padding-bottom: 2em;
}
/*style logo on homepage*/
#logo_H img{
  opacity:.8;
  width: 21em;
}
.catalogo #logo_H, #logo {
	margin: 1.5em 1.5em 0;
}
.home footer, .categories footer, .contacto footer, .sobre footer {
	flex-grow: 2; /* makes div grow */
	/*justify-content: center;*/
	/*flex-direction: column;*/
	width: 100%;
}
#morada {
	width: 50%;
	margin: 0 auto;
	/*height: 7em;*/
}
#morada p {
	/*background: linear-gradient(0deg, #fff, #e6eaef);*/
	padding: .7em 0 .25em;
	color: rgba(0,0,0,.7);
  font-family: "motiva-sans",sans-serif;
	font-weight: 400;
  font-size: .9em;
}
.collage p {
  padding: 0 0 .25em;
  font-family: "motiva-sans",sans-serif;
  text-align: justify;
  font-weight: 300;
  font-size: .9rem;
  line-height: 1.5em;
  padding-bottom: .75em;
}
.collage .text {
  padding-right: 2em;
}
.collage .cycle-slideshow {
  max-width: 800px;
}
 .contacto h3 {
  font-family: "motiva-sans",sans-serif;
  font-size: 1em;
  font-weight: 500;
  text-transform: uppercase;
  /*display: inline-block;*/
  letter-spacing: .1em;
  color: #000;
}
.contacto table, #contact_form {
  font-family: "motiva-sans",sans-serif;
  font-weight: 300;
  font-size: .9rem;
  /*line-height: 1.5em;*/
  /*padding-bottom: .75em;*/
 }
 /*.contacto main > div:first-of-type {
  width:60%;
  display:flex;
 }*/
 #store_info td + td {
  padding-left: 1em;
 }

/*vertical nav styles START*/
#cat_nav {
  background-color: #fff;
  /*width: 14%;*/
  margin-left: 1.5em;
  padding: 0;
  z-index: 10;
  position: fixed;
  top: 14.25em;
}
.align-right {
  float: right;
}
#cat_nav li {
background-color: #E7F5E9;
padding: .7em 7em .7em 2em;
margin-bottom:1px;
}

#cat_nav a:link, #cat_nav a:visited {
  /*color: #7e7e9c;*/
}
#cat_nav li.active a {
  /*color:#000;*/
  box-shadow: inset 0 -3px 0 #000;
  padding-bottom:.7em;
}
#cat_nav > ul > li > a:hover {
  /*color: #000;*/
  font-weight: 500;
}
#cat_nav > ul > li > a {
  /*padding: 16px 22px;*/
  cursor: pointer;
  z-index: 2;
  text-align: left;
  text-decoration: none;
  /*background-color: #E7F5E9;*/
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}

#cat_nav ul ul li a {
  /*padding: 14px 22px;*/
  cursor: pointer;
  z-index: 2;
  font-size: 14px;
  text-align: left;
  text-decoration: none;
  color: #000;
  background: #fff;
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}
#cat_nav ul ul ul li a {
  padding-left: 32px;
}
#cat_nav ul ul li a:hover {
  color: #ffffff;
}
#cat_nav ul ul > li.has-sub > a:after {
  top: 16px;
  right: 26px;
  background: #dddddd;
}
#cat_nav ul ul > li.has-sub > a:before {
  top: 20px;
  background: #ddd;
}
/*vertical nav styles END*/
.catalog {
  width:75%;
  /*margin-left: 6%;*/
  margin-left: 25%;
}
.item_views img {
  /*display: block;*/
  max-height: 370px;
  width: auto;
}
img.v {
  max-height: 470px;
}
/* ---- filter classes ---- */
#gallery {
  margin-top:2em;
  display: flex;
  flex-wrap: wrap;
}
.gallery-item {
  /*width: 950px;*/
  display: flex;
  margin:0 2.5em 1em 0;
  padding: 0;
}
.item_views {
  display: table;
  margin-right: .2em;
  /*display: flex;
  flex-direction: column;
  align-items: flex-end;*/
  /*justify-content: flex-end;*/ /*v-align to bottom */
  /*width: 50%;*/
  /*background-image: url(../images/bg4.gif);
  background-repeat: repeat;*/
}
/*.gallery-item > .item_views:first-child {
}
.gallery-item > .item_views:nth-child(2) {
  align-items: flex-start;
}*/
/*figure {
  display:table;
}
figure img { 
  display: block;
}*/
figcaption {
  display: table-caption;
  caption-side: bottom;
}
.legendas {
  font-family: pragmatica-condensed, sans-serif;
  font-weight: normal;
  font-size: .9em;
  color: #507484;
  line-height: 1em;
  padding:.75em 1em .75em 0;
  /*background-color: #fff;*/
  /*height: 6.5em;*/
}
.legendas_en {
  color: #8894ba;
}
/*.legendas_alignR {
  font-family: 'archivo_narrow', Helvetica, Arial,  sans-serif;
  font-size: 12px;
  color: #96A0AD;
  text-align: right;
  padding-top: 3px;
  vertical-align: top;
  height: 30px;
  padding-bottom: 16px;
}*/

.legenda_notas {
  font-style: italic;
  /*font-family: "archivo_narrow", Helvetica, Arial,  sans-serif;
  font-style: italic; 
  color: #96A0AD;*/
}
.legendas_data {
  position : relative;
  font-size : 90%;
  top : -.09em;
}
.legendas p:first-child {
  margin-right: 1.5em;
}
.no-warp {
  white-space: nowrap;
}

/*.imagens_catAlignL {
  padding-right: 0px;
  padding-left: 0px;
  margin-right: 2px;
  border-right: white 2px;
  padding-bottom: 4px;
  background-image: url(../images/bg4.gif);
  background-repeat: repeat;
  text-align: left;
}
.imagens_catAlignR {
  padding-right: 2px;
  padding-left: 0px;
  padding-bottom: 4px;
  background-image: url(../images/bg4.gif);
  background-repeat: repeat;
  text-align: right;
}
.imagens_catAlignC {
  background-image: url(../images/bg4.gif);
  background-repeat: repeat;
  text-align: center;
}*/


/* Filter buttons */
#buttons {
}
button {
    color: #7e7e9c;
    font-family: "motiva-sans",sans-serif;
    font-size: .9em;
    text-transform: uppercase;
    padding: 6px 15px;
    margin: 0 9px 10px 0;
    display: inline-block;
    border: none;
    text-decoration: none;
    border-radius: 0;
    background: #fff;
    cursor: pointer;
    text-align: center;
    border-radius: 0;
    border: solid thin #c8cdd5;
    transition: background 250ms ease-in-out, transform 150ms ease;
    -webkit-appearance: none;
    -moz-appearance: none;
}
button:hover {
  border-bottom: solid 2px #7e7e9c;
}
button.active {
  color: #000;
  border: solid 2px #000;
}
button:focus {
    outline: none;
}
button:active {
  box-shadow: inset 0 -3px 0 #000;
  transform: scale(0.99);
}
#map {
  width: 40%;
  height: 500px;
  background-color: grey;
  border: solid 1px #edeeef;
  margin: 0 1.5em 2em 0;
}
#store_info {
  width:20%;
  
}
/*contact form styles*/
textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}
button, input, select, textarea {
  font-size: 100%;
  vertical-align: baseline;
  vertical-align: middle;
  /*reset*/
  background-color:transparent;
  /*background-color: aliceblue;*/
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-box-sizing: border-box; /* For legacy WebKit based browsers */
  -moz-box-sizing: border-box; /* For legacy (Firefox <29) Gecko based browsers */
  box-sizing: border-box;
}
header button, header input, header select, header textarea {
  border: 1px solid #b8c9b5;
  color: #868686;
}
footer button, footer input, footer select, footer textarea {
  border: 1px solid #6c767b;
  color: #9FB0AD;
}
button, input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
    overflow: visible;
}
#contact_form {
  width: 600px;
  /*max-width: 650px;*/
}
#contact_form input, textarea {
  border: none;
  margin-bottom: .5em;
}
input {
  color: #8b929f;
}
input, textarea {
  /*width: 75%;*/
}
label { 
  display:inline-block;
  margin-right: 5px;
  background-color: none; 
}

/*form > div:nth-child(-n + 2)*/
#First_Name, #Last_Name {
  display: inline-block;
  width: 45%;
}
#Email_Address {
  width: 70%;
}
#subject {
  width: 84%;
}
/*#First_Name, #Last_Name {
  background-color: none;
  
}
#Email_Address, #subject {
  background-color: none;
}*/
#Your_Message {
  width: 100%;
  background-color: rgba(255,255,255,.8);
  border: solid 4px #d0d6e3;
  margin-top: 3px;
}
#submit_form {
  width: 33%;
}
#contact_form hr {
  background-color: #d0d6e3;
  height: 4px;
  border: none;
  width: 100%;
  margin: 0 0 1em 0;
}
#First_Name + hr {
  display: none;
}
#contact_form h3 {
  width: 100%;
  margin-bottom: 1em;
}
#contact_form label {
  text-transform:uppercase;
}
form > div:last-child {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 1em;
}
.antispammessage > *{
  display: inline-block;
}
.antispammessage p {
  font-size: .9em;
  line-height: 1.3em;
}
input#AntiSpam {
  border: solid 1px #c4cad7;
  display: inline-block;
  width:30px;
  height:25px;
  /*align-self: flex-start;*/
}

/*#contacts {
  max-width: 90%;
  display: flex;
  justify-content: center;
  margin-top: 1em;
  margin-bottom: 1em;
}*/
input#submit_form {
  text-transform: uppercase;
  font-family: "montserrat", arial, sans-serif;
  background-color: #d0d6e3;
  color: #000;
  border: 1px solid #c4cad7;
  font-size: .9em;
  padding: .5em;
  letter-spacing: .1em;
  display:inline-block;
  width: 30%;
}
/*contact form styles — end*/
.green {
  color:;
}

/*Media Queries*/
@media only screen and (max-width: 1760px) {
  .collage {
    width: 90%;
  }
  /*form > div:nth-child(-n + 2) {
  display: inline-block;
  width: 100%;
  }*/
}
@media only screen and (max-width: 1630px) {
  /*.contacto main > div:first-of-type {
  width:40%;
  flex-direction: column;
   }*/
  #map {
    width: 30%;
    /*height: 360px;*/
  }
  /*#contact_form {
    width: 40%;
  }*/
}
@media only screen and (max-width: 1390px) {
  .collage div:first-child {
    flex-basis: 35%;
  }
  .collage div:nth-child(2) {
    flex-basis: 65%;
  }
  #map {
  order:1;
  width:42%; 
  }
  #store_info {
  order:3;
  width: 94%;
  }
  #contact_form {
  order:2;
  }
  .contacto main {
    flex-wrap: wrap;
  }
  .home header {
    width: 65%;
  }
  .cycle-slideshow {
    width: 65%;
  }
  #morada {
    width: 65%;
  }
  .gallery-item {
    flex-wrap: wrap;
    margin: 0 0 1em;
  }

  /*.item_views img {
    max-width: 400px;
  }*/
}
@media only screen and (max-width: 1200px) {
  #cat_nav {
    width: 21%;
  }
  .sobre main, .contacto main {
    margin-top: 4em;
  }
  .collage div:first-child {
    flex-basis: 40%;
  }
  .collage div:nth-child(2) {
    flex-basis: 60%;
  }
  #First_Name, #Last_Name {
  width: 100%;
  }
  #First_Name + hr {
    display: block;
  }
  #contact_form {
    width: 400px;
  }
  #map {
    height: 628px;
  }
  #store_info {
    width: 84%;
  }
  .antispammessage {
    width: 100%;
  }
  #submit_form {
    align-self: flex-end;
  }
  .item_views img {
    max-height:280px;
  }
  .catalog {
    width: 70%;
    margin-left: 30%;
  }
}
@media only screen and (max-width: 1080px) {
  #cat_nav {
    width: 21%;
  }
  .sobre main {
    margin-top:0;
  }
  .collage {
    width: 95%;
    flex-direction: column;
  }
  .collage div:first-child {
    width: 55%;
    order:2;
    margin-top:1em;
    margin-bottom: 2em;
    padding:0;
  }
  .collage div:nth-child(2) {
    width:70%;
    order: 1;
  }
  .text {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  div.text > span {
    flex-basis: 50%;
  }
  div.text > span:first-of-type {
    padding-right: 2em;
  }
  .collage h2 {
    width: 100%;
  }
  #map {
    width: 100%;
    height: 250px;
    margin-right: 0;
  }
  #store_info {
    width: 30%;
    order:2;
  }
  #contact_form {
    order:3;
  }
  .home header {
    width: 100%;
  }
  .home #logo_H {
    padding-left: 2em;
  }
  
}
@media only screen and (max-width: 802px) {
  /*.cat_list #logo, .sobre #logo {*/
    #logo {
    content: url(../images/logo2.svg);
    width: 9em;
    margin: 0 .75em 0;
  }
  .cat_list main {
    flex-direction: column;
    margin-top: 2.5em;
  }
  #cat_nav {
    position: static;
    width: 100%;
    margin: 0 auto 3em;
  }
  #cat_nav ul {
    display: flex;
    flex-wrap:wrap;
    /*justify-content: space-around;*/
    justify-content: center;
    /*margin: 0 auto;*/
  }
  #cat_nav li.active a {
    /*padding-bottom: .3em;*/
    /*border-bottom: solid 2px #000;*/
    /*padding-bottom:0;*/
    /*box-shadow: none;*/
    display: inline-block;
    padding: 0 0 5px;
  }
  #cat_nav li {
      /*flex-grow:0;*/
      width:8em;
      padding:.25em .5em 0;
      margin: 1px;
      text-align: center;
    }
  #cat_nav > ul > li > a {
    display: block;
    text-align: center;
    margin: 0;
  }
  button {
    font-size: .8rem;
    padding: 2px 8px;
  }
  button.active {
    border: solid 1px #000;
  }
  
  .catalog {
    width: 96%;
    margin: 0 auto;
  }
  .collage div:first-child {
    width: 75%;
  }
  .contacto main {
    width:90%;
    margin: 2.5em auto;
  }
  #store_info {
    order: 3;
    width: 100%;
    margin-top: 3em;
  }
  #contact_form {
    order:2;
    width: 100%;
  }
  #First_Name, #Last_Name {
    width: 45%;
  }
  #First_Name + hr {
    display: none;
  }
  .cycle-slideshow {
    width: 100%;
  }
  .home #logo_H {
    padding: 0em 1em 2em;
  }
  #morada {
    width: 100%;
    padding-left: 2em;
  }
  .squares {
    width: 75%;
    justify-content: flex-start;
  }
  .squares a {
    margin-bottom: .75em;
    flex-basis: 33.3%;
  }
}
@media only screen and (max-width: 694px) {
  #logo_index_H {
  display: none;
  }
  #logo_index_V {
  display: block;
  }
  #logo_H img{
    width: 10em;
  }
  .cat_list main {
    flex-direction: column;
    margin-top: 2.5em;
  }
  .collage div:first-child {
    width: 85%;
  }
  .collage div:nth-child(2) {
    width:85%;
    order: 1;
  }
  #First_Name, #Last_Name {
    width: 100%;
  }
  #First_Name + hr {
    display: block;
  }
  #First_Name {
    margin-top: 5px;
  }
  .home header {
    flex-wrap: wrap;
  }
  .home nav {
    width: 100%;
    text-align: center;
    background-color:#fff;
    margin-top:1em;
  }
  .home nav a {
    border-bottom: 2px solid rgba(0,0,0,.8);
  }
  .home #logo_H {
    background-color:#e7f5e9;
    align-self: auto;
    display: flex;
    padding: 2em 4em 3em;
  }
  .squares {
    width: 65%;
  }
  .squares a {
    flex-basis: 50%;
    margin-bottom: .5em;
    position: relative;
    margin-bottom:0;
  }
  .squares h3 {
    position:absolute;
    bottom: 0;
    width: 100%;
    background: rgba(0,0,0,.4);
    color: #CCEFD1;
    text-align: center;
  }
}
@media only screen and (max-width: 565px) {
  #slideshow_horizontal {
    display: none;
  }
  #slideshow_compact {
    display: block;
  }
  .gallery-item {
    justify-content: center;
  }
  .item_views img {
    max-height: none;
    width: 300px;
    max-width: 100%;
  }
  /*.item_views + .item_views img {
    display: none;
  }*/
  .cat_list main {
    margin-top: 1.5em;
  }
  #logo {
    content: url(../images/logo3.svg);
    width: 7em;
    /*margin: 0 .75em 0;*/
  }
  nav a  {
    font-size:.9em;
  }
  button {
    font-size:.8em;
  }
  #Email_Address, #subject {
    width: 100%;
  }
  form > div:last-child {
    flex-wrap:wrap;
    justify-content: flex-end;
  }
  #morada {
    margin-right: 0;
  }
  .squares {
    width: 73%;
  }
}
@media only screen and (max-width: 440px) {
  .main_nav {
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: .25em;
  }
  .main_nav #menu {
    order: 2;
  }
  .main_nav .lang {
    display: block;
    text-align: right;
    order: 1;
  }
  .collage{
    width:100%;
  }
  .collage div:nth-child(2) {
    width:100%;
  }
  #store_info {
    margin-top: 2em;
  }
  .squares {
    width: 60%;
  }
  .squares a {
    flex-basis: 100%;
    margin-bottom: .5em;
  }
}
@media only screen and (max-width: 402px) {
  #cat_nav li {
    width: 49%;
  }
  nav a {
    font-size: .8em;
    font-weight: 500;
  }
  button {
    font-size: .8em;
  }
  .collage p {
    font-size:.85rem;
  }
  #logo_H img {
    width: 9em;
  }
  .squares {
    width: 68%;
  }
}
@media only screen and (max-width: 385px) {
  #header1 {
    flex-direction: column;
  }
  .main_nav {
    align-self: center;
    margin-top: .75em;
  }
  .cat_list #logo, .sobre #logo {
    width: 6em;
  }
  .main_nav #menu {
    order: 1;
  }
  .main_nav .lang {
    order: 2;
  }
  .sticky {
    position: relative;
    /*top: 0;
    width: 100%*/
  }
  .sticky + main {
  padding-top: 0;
  }
  .border {
  }
  .cat_list main {
    margin-top: .25em;
  }
  #cat_nav {
    margin-bottom : 1.5em;
  }
  #gallery {
    margin-top: .75em;
  }
  #morada {
    padding:0;
    text-align: center;
  }
  #morada p {
    font-size: .8em;
  }
  .squares {
    width: 80%;
  }
  .squares a {
    margin-bottom: .25em;
  }
  
}
