:root {
  --on: white;
  --off: black;
  --cor: whitesmoke;
  --marg: 32px;
}
/* montserrat-300 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300.eot"); /* IE9 Compat Modes */
  src: local(""),
    url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300.woff")
      format("woff"),
    /* Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300.svg#Montserrat")
      format("svg"); /* Legacy iOS */
}
/* montserrat-300italic - latin */
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 300;
  src: url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300italic.eot"); /* IE9 Compat Modes */
  src: local(""),
    url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300italic.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300italic.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300italic.woff")
      format("woff"),
    /* Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300italic.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-300italic.svg#Montserrat")
      format("svg"); /* Legacy iOS */
}
/* montserrat-500 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500.eot"); /* IE9 Compat Modes */
  src: local(""),
    url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500.woff")
      format("woff"),
    /* Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500.svg#Montserrat")
      format("svg"); /* Legacy iOS */
}
/* montserrat-500italic - latin */
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 500;
  src: url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500italic.eot"); /* IE9 Compat Modes */
  src: local(""),
    url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500italic.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500italic.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500italic.woff")
      format("woff"),
    /* Modern Browsers */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500italic.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("https://logo.fcz.pt/assets/fonts/montserrat-v15-latin-500italic.svg#Montserrat")
      format("svg"); /* Legacy iOS */
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
     ========================================================================== */

/**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  text-size-adjust: 100%;
}

/* Sections
       ========================================================================== */

/**
     * Remove the margin in all browsers.
     */

body {
  margin: 0;
}

/**
     * Render the `main` element consistently in IE.
     */

main {
  display: block;
}

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
       ========================================================================== */

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
       ========================================================================== */

/**
     * Remove the gray background on active links in IE 10.
     */

a {
  background-color: transparent;
}

/**
     * 1. Remove the bottom border in Chrome 57-
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */

b,
strong {
  font-weight: bolder;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
     * Add the correct font size in all browsers.
     */

small {
  font-size: 80%;
}

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
       ========================================================================== */

/**
     * Remove the border on images inside links in IE 10.
     */

img {
  border-style: none;
}

/* Forms
       ========================================================================== */

/**
     * 1. Change the font styles in all browsers.
     * 2. Remove the margin in Firefox and Safari.
     */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
     * Show the overflow in IE.
     * 1. Show the overflow in Edge.
     */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
     * Correct the inability to style clickable types in iOS and Safari.
     */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
     * Remove the inner border and padding in Firefox.
     */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
     * Restore the focus styles unset by the previous rule.
     */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
     * Correct the padding in Firefox.
     */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
     * Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */

progress {
  vertical-align: baseline;
}

/**
     * Remove the default vertical scrollbar in IE 10+.
     */

textarea {
  overflow: auto;
}

/**
     * 1. Add the correct box sizing in IE 10.
     * 2. Remove the padding in IE 10.
     */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
     * Remove the inner padding in Chrome and Safari on macOS.
     */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
       ========================================================================== */

/*
     * Add the correct display in Edge, IE 10+, and Firefox.
     */

details {
  display: block;
}

/*
     * Add the correct display in all browsers.
     */

summary {
  display: list-item;
}

/* Misc
       ========================================================================== */

/**
     * Add the correct display in IE 10+.
     */

template {
  display: none;
}

/**
     * Add the correct display in IE 10.
     */

[hidden] {
  display: none;
}

html {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 300;
  line-height: 1.4;
  scroll-behavior: smooth;
}
.menu-button,
.menu li,
body {
  background-color: var(--cor);
}
a {
  color: var(--off);
  text-decoration: none;
}
a:hover {
  color: var(--on);
}
h1,
h2,
h3,
h4,
h5,
p,
blockquote {
  color: var(--off);
  margin: 0;
}
blockquote {
  padding-bottom: 1.26em;
  font-size: 90%;
}
h1 {
  font-family: "Brygada 1918";
  font-weight: normal;
  line-height: 1.2em;
}
p {
  font-size: 1.26em;
  font-weight: 300;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  margin-top: 1.26em;
}
footer p,
.nota {
  font-size: 0.8em;
}
h3,
h4 {
  font-weight: 300;
}
strong,
h2 {
  font-weight: 500;
}
header p {
  text-align: center;
}
.menu {
  padding: 0;
  margin: 0;
}
.menu-logo {
  flex: 1 1 auto;
  margin: var(--marg);
  font-size: 2.4em;
  font-weight: 600;
}
ul li {
  display: flex;
  align-content: stretch;
}
.imagem img,
.logo img,
.foto img {
  width: 100%;
}
.imagem {
  padding: 0;
  padding-top: 2em;
  background-color: white;
}
footer,
header,
article,
section {
  padding: var(--marg);
}
#programa,
#apresenta {
  text-align: center;
}
article,
footer {
  padding-top: calc(2 * var(--marg));
}
.msg {
    padding: 3em 2em;
      background-color: chartreuse;
}
@media screen and (orientation: portrait) {
  .menu {
    padding: 0;
    margin: 0;
    position: fixed;
    left: -100vw;
  }
  .menu li {
    margin: 0;
    padding: 1em var(--marg);
    transform: translateX(200vw);
    transition: all 0.1s ease-in;
    opacity: 0;
    width: 100vw;
    box-shadow: 0 0 0.2em 0 rgb(0 0 0 / 50%);
  }
  .menu li:first-child {
    padding-top: calc(3 * var(--marg));
  }
  .nav-bar.ativo .menu li {
    transform: translateX(100vw);
    transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    opacity: 1;
  }
  .nav-bar.ativo .menu > li:first-child,
  .nav-bar .menu > li:last-child {
    transition-delay: 0.01s;
  }
  .nav-bar.ativo .menu > li:nth-child(2),
  .nav-bar .menu > li:nth-child(3) {
    transition-delay: 0.08s;
  }
  .nav-bar.ativo .menu > li:nth-child(3),
  .nav-bar .menu > li:nth-child(2) {
    transition-delay: 0.16s;
  }
  .nav-bar.ativo .menu > li:nth-child(4),
  .nav-bar .menu > li:nth-child(1) {
    transition-delay: 0.24s;
  }
  /*
      .nav-bar.ativo .menu > li:nth-child(5), .nav-bar .menu > li:nth-child(4) {
          transition-delay: .32s;
      }
      .nav-bar.ativo .menu > li:nth-child(6), .nav-bar .menu > li:nth-child(3) {
          transition-delay: .40s;
      }
      .nav-bar.ativo .menu > li:nth-child(7), .nav-bar .menu > li:nth-child(2) {
          transition-delay: .48s;
      }
      .nav-bar.ativo .menu > li:nth-child(8), .nav-bar .menu > li:nth-child(1) {
          transition-delay: .56s;
      } */
  .line {
    height: 4px;
    width: 32px;
    background: var(--on);
    margin: 5px auto;
    border-radius: 2px;
    -webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: all 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .menu-button {
    padding: calc(var(--marg) / 2);
    border-radius: 50%;
    box-shadow: 0 0 0.2em 0 rgb(0 0 0 / 70%);
    border: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: calc(var(--marg) / 2);
    position: fixed;
    z-index: 999;
  }
  .menu-button > .hamburger {
    width: 32px;
    height: 32px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  .nav-bar.ativo .menu-button > div {
    outline: none;
  }
  .nav-bar.ativo .menu-button > .hamburger > .line:nth-child(1),
  .nav-bar.ativo .menu-button > .hamburger > .line:nth-child(1) {
    -webkit-transform: rotate(45deg) translate(5px, 6px);
    transform: rotate(45deg) translate(5px, 6px);
  }
  .nav-bar.ativo .menu-button > .hamburger > .line:nth-child(2),
  .nav-bar.ativo .menu-button > .hamburger > .line:nth-child(2) {
    -webkit-transform: rotate(-45deg) translate(5px, -6px);
    transform: rotate(-45deg) translate(5px, -6px);
  }
  .logo,
  .foto {
    margin: auto auto var(--marg);
  }
  h1 {
    font-size: 2.5em;
  }
}
@media screen and (orientation: landscape) {
  .nav-bar {
    display: flex;
    justify-content: center;
    padding: 0 var(--marg);
    position: fixed;
    width: 100vw;
    box-shadow: 0 0 0.2em 0 rgb(0 0 0 / 70%);
  }
  .nav-bar {
    background-color: var(--cor);
  }
  .menu {
    display: flex;
    overflow-x: auto;
  }
  .menu-button {
    display: none;
  }
  .menu li {
    margin: var(--marg);
  }
  section,
  footer {
    max-width: 720px;
    margin: auto;
  }
  .logo,
  .foto {
    width: calc(9 * var(--marg));
    margin: var(--marg) auto;
  }
  .conteudos {
    padding-top: calc(2 * var(--marg));
  }
  h1 {
    font-size: 4.5em;
  }
}
.botao {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: 17px;
  text-transform: uppercase;
  padding: calc(32px / 2) 32px;
  border-radius: 15px;
  box-shadow: 0 0 0.2em 0 rgb(0 0 0 / 70%);
  border: none;
  display: inline-block;
  background-color: #000000;
  color: #fff1b2;
  margin: calc(32px / 2);
  text-decoration: none;
}
table {
  margin: auto;
  text-align: left;
}
td, th {
  padding: .3em;
}
th {
  color: darkkhaki;
}
.dash {
  text-align: center;
  text-transform: uppercase;
  font-size: small;
  border-bottom: thin solid black;
}
/* formulario */
/* CSS Document */
.sai {
  -webkit-animation: fadeout 0.9s ease-out forwards;
  animation: fadeout 0.9s ease-out forwards;
  transform: translateX(30vw);
  transition: all 1s ease-out;
}

@-webkit-keyframes esquerda {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes esquerda {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.fadeout {
  -webkit-animation: fadeout 1s ease-out forwards;
  animation: fadeout 1s ease-out forwards;
}
.formulario {
  margin: 0;
  z-index: 10001;
  overflow: hidden;
}
.formulario form {
  padding: 0;
  margin: auto;
  flex-direction: column;
  flex: auto;
  align-items: center;
}
.reserva {
  display: none;
}
.reserva.entra {
  display: flex;
}
.formulario form ol,
.formulario form ol li {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.entra {
  display: grid;
  align-items: center;
  -webkit-animation: fadein 0.5s ease-out forwards;
  animation: fadein 0.5s ease-out forwards;
}
.formulario form input[type="radio"] {
  display: none;
}
.mensagens {
  color: var(--off);
  text-align: center;
  padding: 5vw;
  margin: auto;
  display: grid;
  opacity: 0;
  align-items: center;
  justify-items: center;
  -webkit-animation: esquerda 0.8s ease-out forwards;
  animation: esquerda 0.8s ease-out forwards;
  -webkit-animation-delay: 1s;
  -ms-animation-delay: 1s;
  -o-animation-delay: 1s;
  animation-delay: 1s;
}

input[type='checkbox'] {
  appearance: none;
background-color: var(--off);
margin: 0;
padding: calc(var(--marg)/3);
font: inherit;
color: currentColor;
width: 1.15em;
height: 1.15em;
border: 0.15em solid currentColor;
border-radius: 0.15em;
transform: translateY(-0.075em);
display: grid;
place-content: center;
}
input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--on);
  transform-origin: bottom left;
  clip-path: polygon(17% 23%, 0 47%, 50% 100%, 100% 20%, 80% 0%, 46% 63%);
}
input[type="checkbox"]:checked::before {
  transform: scale(1);
}
input[type="checkbox"]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
input[type="checkbox"]:hover {
  cursor: pointer;
}
.rgpd {
  display: grid;
grid-template-columns: 2em auto;
padding-left: var(--marg);
gap: 0.5em;
}
.formulario form input[type="text"],
.formulario form input[type="email"],
.formulario form input[type="tel"] {
  padding: 1em;
  margin: 1em;
  background-color: rgba(255, 255, 255, 0.8);
  border: none;
}
.formulario form input[type="text"]::-webkit-input-placeholder,
.formulario form input[type="email"]::-webkit-input-placeholder,
.formulario form input[type="tel"]::-webkit-input-placeholder,
.formulario form input[type="text"]::-moz-placeholder,
.formulario form input[type="email"]::-moz-placeholder,
.formulario form input[type="tel"]::-moz-placeholder,
.formulario form input[type="text"]:-ms-input-placeholder,
.formulario form input[type="email"]:-ms-input-placeholder,
.formulario form input[type="tel"]:-ms-input-placeholder,
.formulario form input[type="text"]::-ms-input-placeholder,
.formulario form input[type="email"]::-ms-input-placeholder,
.formulario form input[type="tel"]::-ms-input-placeholder,
.formulario form input[type="text"]::placeholder,
.formulario form input[type="email"]::placeholder,
.formulario form input[type="tel"]::placeholder {
  font-weight: 300;
  color: var(--off);
}
.formulario form input[type="text"]:focus,
.formulario form input[type="email"]:focus,
.formulario form input[type="tel"]:focus {
  background-color: rgba(255, 255, 255, 0.8);
}
.formulario form ol li:last-child {
  flex-direction: row;
  justify-content: space-around;
}
.linha {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 0.6em;
}
.formulario form button,
.formulario .mensagens .linha button {
  text-transform: uppercase;
  font-size: 0.8em;
  width: 6em;
  height: 6em;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  color: var(--off);
  border-radius: 3em;
  border: solid 0.2em;
  border-color: var(--off);
  margin: 1em;
  cursor: pointer;
  text-decoration: none;
}
.formulario form button:hover,
.formulario .mensagens button:hover {
  transform: scale(1.1);
  transition: all 0.3s ease-out;
  color: var(--cor);
  background-color: var(--off);
  cursor: pointer;
  text-decoration: none;
}
ol {
  list-style-type: none;
  padding-inline-start: 0;
  margin-block-start: 0;
  margin-block-end: 0;
}
.apoios {
  width: 10%;
}
@media (max-width: 768px) {
  .formulario form input + label,
  .formulario form input[type="text"],
  .formulario form input[type="email"],
  .formulario form input[type="tel"] {
    font-size: 0.8em;
    line-height: 1.4em;
    padding: 0.4em 0.6em;
  }
}
@media (min-width: 769px) {
  .formulario form input + label,
  .formulario form input[type="text"],
  .formulario form input[type="email"],
  .formulario form input[type="tel"] {
    font-size: 1em;
    line-height: 1.4em;
    padding: 0.5em 0.8em;
  }
}
