/*FONTS <<< Carregar as fontes no ficheiro fonts.css >>> */
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,700|Playfair+Display:700i&display=swap');

/**********************************************/
/* GRAPHIC DEFAULT */
/**********************************************/

:root {
  --mainColor: #F3F3F4;
}

html {
  height: 100%;
}

body *::-webkit-scrollbar {
  display: none;
}

body * {
  -ms-overflow-style: none; /* IE 11 */
  scrollbar-width: none; /* Firefox 64 */
}

body {
  height: 100%;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #2B2B38;
  letter-spacing: 1px;
  background: var(--mainColor);
  background-image: linear-gradient(45deg, rgba(255,255,255,0) 4px, rgba(255,255,255,.8) 6px, rgba(255,255,255,0) 6px);
  background-size: 8px 8px;
}

section {
  position: relative;
  padding: 8vh 0;
}

.wrap {
  max-width: 1400px;
  width: 100%;
  position: relative;
  padding: 0 4vw;
  margin: 0 auto;
}

a,
a:hover {
  text-decoration: none;
}

img {
  width: 100%;
}

.transition {
  transition: all .4s;
}

.italic {
  font-style: italic;
}

.center {
  text-align: center;
}

.uppercase {
  text-transform: uppercase;
}

.white {
  color: #fff;
}

.black {
  color: #131321;
}

.light {
  font-weight: 300;
}

.bold {
  font-weight: 700;
}

.playfair {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-style: italic;
}

.size50 {
  font-size: 50px;
}

.size16 {
  font-size: 16px;
}

.cta {
  width: 100%;
  display: flex;
  padding: 20px 35px;
  cursor: pointer;
  justify-content: center;
  position: relative;
  align-items: center;
}

.cta > span {
  color: transparent;
  transition: all .4s;
  position: relative;
  z-index: 5;
  white-space: nowrap;
  letter-spacing: 2px;
}

.cta > span:first-of-type {
  text-shadow: 0 0 0 rgba(19,19,33,.7), 20px 0 0 rgba(19,19,33,0);
}

.cta > span:last-of-type {
  text-shadow: 0 0 0 rgba(19,19,33,.7), -20px 0 0 rgba(19,19,33,0);
}

.cta:hover > span {
  color: transparent;
}

.cta:hover > span:first-of-type {
  text-shadow: -20px 0 0 rgba(19,19,33,0), 0 0 0 rgba(19,19,33,1);
}

.cta:hover > span:last-of-type {
  text-shadow: 20px 0 0 rgba(19,19,33,0), 0 0 0 rgba(19,19,33,1);
}

.navNode {
  position: absolute;
  top: 0;
}

.centerNavNode {
  top: -15vh;
}

/**********************************************/
/* GRAPHIC DEFAULT */
/**********************************************/

/**********************************************/
/* CLIENT TEXTAREA */
/**********************************************/

.clientTextarea h1 {
  font-size: 300%;
}

.clientTextarea h2 {
  font-size: 200%;
}

.clientTextarea h3 {
  font-size: 150%;
}

.clientTextarea h4 {
   font-size: 120%;
}

.clientTextarea h5 {
   font-size: 85%;
}

.clientTextarea h6 {
   font-size: 70%;
}

.clientTextarea em {
   font-style: italic;
}

.clientTextarea strong {
   font-weight: bold;
   color: #131321;
}

.clientTextarea li {
   list-style: disc;
}

.clientTextarea p {
   line-height: 180%;
   padding: 0 0 10px 0;
}

.clientTextarea p:last-of-type {
  padding: 0;
}

.clientTextarea a {
  text-decoration: underline;
}

.clientTextarea img {
  max-width: 100%;
}

/**********************************************/
/* CLIENT TEXTAREA */
/**********************************************/

#headerNode {
  position: fixed;
  width: 100%;
  z-index: 100;
  padding: 50px 0 0 0;
}

#headerNode .node1 {
  display: flex;
  justify-content: center;
  position: relative;
  align-items: center;
}

#headerNode .node2 {
  display: none;
  max-width: 200px;
  width: 60%;
}

#headerNode .node3 {
  align-items: center;
  display: flex;
}

#headerNode .node4 {
  position: absolute;
  right: 0;
}

#headerNode .node4 .active {
  display: none;
}

#headerNode .node4 a {
  color: #131321;
  padding: 10px;
  opacity: .4;
}

#headerNode .node4 a:hover {
  opacity: 1;
}

#headerNode .node5 {
  display: flex;
}

#headerNode .node6 {
  width: 40px;
  height: 40px;
  position: relative;
  cursor: pointer;
  display: none;
}

#headerNode .node6 li {
  position: absolute;
  top: 50%;
  left: 5px;
  width: 30px;
  height: 1px;
  background: rgba(19,19,33,.6);
}

#headerNode .node6 li:first-child {
  top: calc(50% - 10px);
}

#headerNode .node6 li:last-child {
  top: calc(50% + 10px);
  width: 20px;
}

#headerNode .node6.active li {
  opacity: 0;
}

#headerNode .node6.active li:nth-child(2) {
  transform: rotate(225deg);
  opacity: 1;
}

#headerNode .node6.active li:nth-child(3) {
  transform: rotate(135deg);
  opacity: 1;
}

#headerNode .node8 {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  display: none;
  padding: 20px;
}

#headerNode .node9 {
  padding: 10px 35px;
  display: flex;
  white-space: nowrap;
  text-align: center;
}

#headerNode.scrolled {
  padding: 10px 0;
  background: #fff;
  box-shadow: 0 0 50px rgba(0,0,0,.1);
}

#headerNode.scrolled .node1 {
  justify-content: space-between;
}

#headerNode.scrolled .node2 {
  display: block;
}

#headerNode.scrolled .node4,
#headerNode.active .node4 {
  position: relative;
  right: initial;
}

#headerNode.scrolled .cta {
  padding: 20px 25px;
}

#headerNode.scrolled .node9 {
  padding: 10px 25px;
}

#s1 {
  min-height: 100vh;
  height: 100%;
}

#s1 .wrap {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#s1 .node1 {
  display: block;
  max-width: 300px;
  margin: auto;
  width: 70%;
}

#s1 .node2 {
  letter-spacing: 5px;
  padding: 40px 0 0 0;
}

#s2 {
  min-height: 100vh;
  height: 100%;
}

#s2::after {
  position: absolute;
  content: "";
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 250px;
  background: linear-gradient(to top, rgba(243,243,244,1), rgba(243,243,244,0));
  display: none;
}

#s2 .wrap {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}

#s2 .node1 {
  width: 100%;
}

#s2 .node2 {
  letter-spacing: 5px;
  z-index: 10;
}

#s2 .node3 {
  max-width: 600px;
  margin: auto;
  padding: 40px 0 0 0;
  z-index: 10;
}

.serviceNode {
  padding: 0;
}

.serviceNode .node1 {
  display: flex;
  position: relative;
}

.serviceNode .node2 {
  width: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 0;
  padding-top: 70vh;
}

.serviceNode .node3 {
  width: 50%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 4vw 0;
  flex-direction: column;
}

.serviceNode .node4 {
  max-width: 700px;
  padding: 0 4vw 0 60px;
  width: 100%;
}

.serviceNode .node5 {
  letter-spacing: 5px;
}

.serviceNode .node6 {
  padding: 30px 0;
}

.serviceNode .cta {
  width: -webkit-fit-content;
  width: fit-content;
}

.serviceNode .cta::before {
  content: "\e908";
  font-family: "icomoon";
  font-size: 16px;
  left: 0;
  position: absolute;
}

.serviceNode .node7 {
  width: 50%;
  padding: 0 60px 0 4vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background: rgba(243,243,244,.95);
  height: 100%;
  display: none;
}

.serviceNode .node7::after {
  content: "";
  position: absolute;
  top: 25%;
  right: 0;
  width: 1px;
  height: 50%;
  background: rgba(255,255,255,.5);
}

.serviceNode .node8 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: right;
}

.serviceNode .node9 {
  position: absolute;
  top: 50%;
  letter-spacing: -3px;
  opacity: .5;
  padding: 0 30px;
}

.serviceNode.leftNode .node1 {
  flex-direction: row-reverse;
}

.serviceNode.leftNode .node3 {
  align-items: flex-end;
}

.serviceNode.leftNode .node4 {
  padding: 0 60px 0 4vw;
}

.serviceNode.leftNode .node7 {
  left: 50%;
  border-right: none;
  padding: 0 4vw 0 60px;
}

.serviceNode.leftNode .node7::after {
  right: initial;
  left: 0;
}

.serviceNode.leftNode .node8 {
  text-align: left;
  justify-content: flex-start;
}

#footerNode {
  position: relative;
  padding: 8vh 0 4vh 0;
  background: var(--mainColor);
  min-height: 100vh;
  height: 100%;
}

#footerNode .wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

#footerNode .node1 {
  display: flex;
  align-items: flex-start;
  max-width: 400px;
}

#footerNode .node2 {
  display: flex;
  flex-direction: column;
  padding: 0 0 0 20px;
}

#footerNode .node3 {
  padding: 0 0 15px 0;
  color: transparent;
  text-shadow: 0 0 0 rgba(19,19,13,.8), 0 -15px 0 rgba(19,19,13,0);
}

#footerNode .node3:hover {
  color: transparent;
  text-shadow: 0 15px 0 rgba(19,19,13,0), 0 0 0 rgba(19,19,13,1);
}

#footerNode .node4 {
  width: auto;
}

#footerNode .node5 {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: .8;
  flex-direction: column;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

#footerNode .node6 {
  padding: 20px 0 0 0;
  display: flex;
}

#footerNode .node7 {
  color: transparent;
  text-shadow: 0 0 0 rgba(19,19,13,.8), 0 -15px 0 rgba(19,19,13,0);
  padding: 10px;
  border: 1px solid rgba(19,19,13,.3);
  font-size: 16px;
  margin: 0 5px 0 0;
}

#footerNode .node7:hover {
  color: transparent;
  text-shadow: 0 15px 0 rgba(19,19,13,0), 0 0 0 rgba(19,19,13,1);
}

#footerNode .node8 {
  padding: 0 0 20px 0;
}

/* Large Devices, Wide Screens */
@media (max-width : 1200px) {

}

/* Medium Devices, Desktops */
@media (max-width : 992px) {
  .size50 {
    font-size: 30px;
  }

  .size16 {
    font-size: 13px;
  }

  section {
    padding: 50px 0;
  }

  #headerNode,
  #headerNode.scrolled {
    padding: 10px 0;
  }

  #headerNode .node1 {
    justify-content: flex-end;
  }

  #headerNode .node3 {
    position: absolute;
    top: 100%;
    flex-direction: column;
    width: 100%;
    padding: 20px;
    background: var(--mainColor);
    left: calc(-100% - 10px);
  }

  #headerNode.active .node3 {
    left: 0;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
  }

  #headerNode .node5 {
    flex-direction: column;
  }

  #headerNode .node6 {
    display: block;
  }

  #headerNode .node8 {
    position: relative;
    width: 100%;
    padding: 20px 0 0 0;
  }

  #headerNode .node11 {
    flex-wrap: wrap;
  }

  .serviceNode {
    padding: 0;
  }

  .serviceNode .node1,
  .serviceNode.leftNode .node1 {
    flex-direction: column;
  }

  .serviceNode .node2,
  .serviceNode.leftNode .node2 {
    width: 100%;
    height: 30vh;
    padding-top: 40vh;
  }

  .serviceNode .node3,
  .serviceNode.leftNode .node3 {
    width: 100%;
    padding: 30px 4vw;
  }

  .serviceNode .node4,
  .serviceNode.leftNode .node4 {
    padding: 0;
  }

  .serviceNode .node7,
  .serviceNode.leftNode .node7 {
    width: 100%;
    padding: 30px 0;
    position: relative;
    height: auto;
    left: 0;
  }

  .serviceNode .node7::after,
  .serviceNode.leftNode .node7::after {
    display: none;
  }

  .serviceNode .node8,
  .serviceNode.leftNode .node8 {
    justify-content: flex-start;
    text-align: left;
  }

  .serviceNode .node9 {
    top: 0;
  }

  #footerNode .node1 {
    flex-direction: column;
  }

  #footerNode .node2 {
    padding: 20px 0 0 0;
  }
}

/* Small Devices, Tablets */
@media (max-width : 768px) {

}

/* Extra Small Devices, Phones */
@media (max-width : 576px) {

}

/**********************************************/
/* FORMS DE FOOTER  */
/**********************************************/
#s0 input:not(.form-check-input):-ms-input-placeholder,
#s0 textarea:-ms-input-placeholder {

}

#s0 input:not(.form-check-input)::-ms-input-placeholder,
#s0 textarea::-ms-input-placeholder {

}

#s0 input:not(.form-check-input)::placeholder,
#s0 textarea::placeholder {

}

#s0 input:not(.form-check-input),
#s0 textarea {
  width: 100%;
  margin: 0 0 10px 0;
}

#s0 button {

}

#s0 .form-check {
  display: flex;
  align-items: center;
  margin: 10px 0;
}

#s0 .form-check-input {
  margin: 0 5px 0 0;
}
/**********************************************/
/* FORMS DE FOOTER  */
/**********************************************/

/**********************************************/
/* LOGIN PAGE static-login.php  */
/**********************************************/
#login .form-wrap,
#passwordRecovery form {
  text-align: center;
  max-width: 500px;
  margin: auto;
  padding: 0 4vw;
  color: #333;
}

#login .form-group,
#passwordRecovery .form-group {
  display: flex;
  flex-direction: column;
  padding: 5px 0;
}

#login .form-group:first-of-type {
  padding: 25px 0 0 0;
}

#login .form-group input,
#passwordRecovery .form-group input {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

#login a,
#passwordRecovery a {
  color: #333;
}
/**********************************************/
/* LOGIN PAGE static-login.php  */
/**********************************************/

/**********************************************/
/* POLITICA PRIVACIDADE  */
/**********************************************/
.textoPopUp > h1 {
  font-size: 26px;
  color: #333;
  margin: 0 0 20px 0;
}
/**********************************************/
/* POLITICA PRIVACIDADE  */
/**********************************************/

/**
 * Conditional CSS for Edge 12+.
 * @link: https://jeffclayton.wordpress.com/2015/04/07/css-hacks-for-windows-10-and-spartan-browser-preview/
 */
@supports (-ms-ime-align:auto) {
	/* Conditional Edge styles */
}

/**
 * Conditional CSS for IE 8+ (and old Firefox 1.x).
 * @link: https://jeffclayton.wordpress.com/2015/04/07/css-hacks-for-windows-10-and-spartan-browser-preview/
 */
@media screen\0 {
	/* Conditional IE styles */
}

/**********************************************/
/* SHOP */
/**********************************************/
/* Call to Action */
.btn,
div.checkout .areaInfo .editInfo,
#login .form-wrap,
#passwordRecovery form,
#login a,
#passwordRecovery a {

}

.btn:hover,
div.checkout .areaInfo .editInfo:hover {

}
