/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html,
button,
input,
select,
textarea {
  color: #222; }

body {
  font-size: 1em;
  line-height: 1.4; }

html, body {
  height: 100%;
  width: 100%; }

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */
img {
  vertical-align: middle; }

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical; }

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */
.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0; }

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.video-container {
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: absolute; }
  .video-container video {
    min-width: 100%;
    min-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.navigation {
  width: auto; }
  .navigation li {
    padding: 5px 10px;
    display: inline;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s; }
    .navigation li:hover {
      background-color: rgba(0, 0, 0, 0.8); }
    .navigation li a {
      color: white;
      cursor: pointer;
      text-decoration: none; }
      .navigation li a:hover {
        text-decoration: underline; }

#description ul {
  margin: 0px; }

#description.absolute {
  bottom: 0px; }

#description.fixed {
  top: 0px; }

.padding {
  padding: 5px 5px 5px 5px; }

.food {
  height: 400px;
  background-size: cover;
  background-position: center;
  padding: 0px;
  overflow: hidden; }
  .food:hover .screen {
    top: 0%; }
  .food .screen {
    top: -100%;
    position: relative;
    background-color: rgba(0, 0, 0, 0.8);
    height: 100%;
    width: 100%;
    -webkit-transition: top 0.4s;
    -o-transition: top 0.4s;
    transition: top 0.4s; }

#menu-title {
  width: 100%;
  left: calc(50% - 150px);
  top: calc(50% - 2.5em); }

#gallery {
  width: 100%;
  overflow-x: hidden; }
  #gallery .inner {
    white-space: nowrap;
    position: relative;
    left: 0%;
    -webkit-transition: left 0.8s;
    -o-transition: left 0.8s;
    transition: left 0.8s; }
  #gallery .image {
    display: inline-block;
    margin-right: -4px;
    height: 100vh;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }

.container .card {
  margin-top: -200px;
  padding: 2em; }

#contact {
  margin-top: -200px; }

#contact1 {
  margin-top: -200px; }

.boton {
  margin-top: 2em; }

.path-step {
  width: 1em;
  padding: 1em;
  border-radius: 50%;
  background-color: #a2a2a2;
  display: block;
  margin-top: 3em;
  opacity: 0.4s;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  cursor: pointer; }
  .path-step:hover {
    -webkit-box-shadow: 0px 0px 5px rgba(250, 250, 250, 0.8);
    box-shadow: 0px 0px 5px rgba(250, 250, 250, 0.8);
    opacity: .9; }
  .path-step.active {
    opacity: 1;
    background-color: white;
    -webkit-box-shadow: 0px 0px 5px rgba(250, 250, 250, 0.8);
    box-shadow: 0px 0px 5px rgba(250, 250, 250, 0.8); }

.step-form .step {
  max-height: 150px;
  overflow: hidden;
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
  margin: 0px;
  padding: 1em 0.5em; }
  .step-form .step.active {
    max-height: 150px; }
  .step-form .step input, .step-form .step textarea {
    font-size: 2em;
    padding: 0.5em;
    border: none;
    outline: none;
    border-bottom: solid 1px #eee;
    background-color: transparent;
    width: 100%; }

#location {
  width: 80%;
  margin: 0 auto;
  margin-top: -50px; }

#map {
  height: 500px; }

#menu-opener {
  display: none; }

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Image replacement
 */
.card {
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); }

.black {
  background-color: #222; }

.white {
  background-color: white; }

.white-text {
  color: white; }

.black-text {
  color: black; }

.dancing-script {
  font-family: 'Dancing Script', cursive; }

.slim {
  font-weight: 200; }

.title {
  font-size: 4em; }

.logotipo {
  width: 500px; }

.subtitle {
  font-size: 2.5em; }

.medium, .navigation li {
  font-size: 1.5em; }

.large-padding {
  padding: 10px 15px; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.relative {
  position: relative; }

.bottom {
  bottom: 0px; }

.top {
  top: 3em; }

.text-right {
  text-align: right; }

.right {
  right: 1em; }

.up {
  z-index: 5; }

.full-width {
  width: 100%; }

.full-height {
  height: 100%; }

.no-margin {
  margin: 0; }

.row {
  margin: 0; }

.top-space {
  margin-top: 2em; }

.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  *text-indent: -9999px; }

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%; }

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
.hidden {
  display: none;
  visibility: hidden; }

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

/*
 * Hide visually and from screenreaders, but maintain layout
 */
.invisible {
  visibility: hidden; }

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.clearfix:after {
  clear: both; }

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.clearfix {
  *zoom: 1; }

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */ }

@media only screen and (max-height: 768px) {
  #contact1 {
    max-height: 100%;
    margin-top: 0px; } }

@media only screen and (max-height: 640px) {
  #contact, .container .card {
    margin-top: 0px;
    font-size: 1em; }
    #contact input, #contact textarea, .container .card input, .container .card textarea {
      font-size: 1em;
      padding: 0px;
      margin: 0px; }
  .path-step {
    display: none; }
  #location {
    margin-top: 0px; }
  #contact1 {
    max-height: 100%;
    margin-top: 0px; } }

@media only screen and (max-width: 960px) {
  .logotipo {
    width: 250px; }
  .title {
    font-size: 2em; }
  .medium, .navigation li {
    font-size: 1em; }
  #navigation {
    display: none !important; }
  #menu-opener {
    display: block; }
  #responsive-nav ul {
    position: absolute;
    width: 100%;
    font-size: 1.5em;
    top: 80px;
    background-color: #222;
    left: 0px;
    text-align: center;
    max-height: 0px;
    overflow: hidden;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s; }
    #responsive-nav ul.active {
      max-height: 80vh; }
    #responsive-nav ul li {
      display: block;
      margin-top: 1em;
      padding: 10px 15px; }
  .step-form .step input, .step-form .step textarea {
    font-size: 1em;
    width: 100%; } }

@media only screen and (max-width: 640px) {
  #responsive-nav ul {
    top: 110px; } }

@media print, (-o-min-device-pixel-ratio: 5 / 4), (-webkit-min-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5/4), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */ }

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  /*
     * Don't show links for images, or javascript/internal links
     */
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100%; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }
