div#container {
  min-height: 100vh;
  grid-template-rows: auto 1fr auto;
  height: auto;
}

div#nav {
  z-index: 11;
  position: relative;
  position: sticky;
  top: 0;
  height: 80px;
  margin-bottom: 20px;
}

div#main {
  margin: 12px;
  min-height: 70vh;
}

div#title {
  padding: 16px 0 10px 14px;
}

div#title h1 {
  font-size: 30px;
  display: inline-block;
}

div#menu {
  display: none;
}

/* a.yos_buttons {
  width: calc(100% - 11px);
  height: 44px;
  line-height: 52px;
  padding-left: 10px;
  border-left-width: 1px;
} */

#bg_pic {
  display: none;
}

footer#site_footer {
  padding: 10px 0 8px;
  background-color: var(--gris_nav);
  animation: footer_entrador 0.8s ease-out;
}

#footer_contact {
  font-size: 14px;
}

@keyframes menu_entrador {
  0% {top: -100px;}
  50% {top: -100px;}
  100% {top: 25px;}
}

#menu_tel {
  position: absolute;
  top: 25px;
  left: 184px;
  animation: menu_entrador 1.6s;
  padding: 6px 8px 2px;
  border-radius: 9px;
  border: 1px solid #54851fb3;
  opacity: 0.8;
  height: 18px;
  overflow: hidden;
  z-index: 20;
  background-color: var(--gris_nav);
  transform: rotate(0deg);
  box-shadow: 0 0 0 0 transparent;
  transition: opacity .4s, height .4s, transform .4s, box-shadow .8s, border-color .4s, padding .4s;
}

#menu_tel h2 {
  font-size: 15px;
  margin: 0 0 10px;
  font-weight: normal;
}

#menu_tel img.menu_icon {
  width: 12px;
  vertical-align: middle;
  margin: 0 2px 2px 4px;
  transition: width .4s, margin .4s;
}

#menu_tel.abierto img.menu_icon {
  width: 0;
  margin: 0 0 2px 0;
}

#menu_tel.abierto {
  padding-bottom: 6px;
  opacity: 1;
  height: fit-content;
  transform: rotate(-2deg);
  box-shadow: 0 0 40px 1px #673ab7d9;
  border-color: #ffffff57;
}

a.menu_tel_yos_buttons {
  display: block;
  padding: 0 0 2px;
}

#submenu_tel {
  box-shadow: 6px 10px 10px 3px var(--gris_main);
  position: absolute;
  left: 0;
  top: 62px;
  overflow: hidden;
  background-color: var(--verde);
  padding: 6px 0px 1px 16px;
  border-radius: 0 3px 3px 0;
  width: calc(100% - 60px);
  height: 24px;
  background-size: 500%;
  transition: height 0.4s, width 0.4s, border-radius 0.4s, background-size 1.4s ease-out;
}

#submenu_tel.open {
  background-image: linear-gradient(135deg, var(--verde), #000000);
  border-radius: 0 17px 17px 0;
  border-left: none;
  background-size: 100%;
}

@keyframes entra_por_iz {
  0% {margin-left: -100%;}
  100% {margin-left: 0;}
}

#submenu_tel h3 {
  color: var(--gris_main);
  margin: 0;
  font-size: 20px;
  transition: margin 0.6s;
  animation: entra_por_iz 0.4s;
}

#submenu_tel h3.open {
  transition: margin 0.4s;
  margin: 16px 0 0;
  padding-left: 4px;
}

@keyframes submenu_icon_entrada {
  0% {margin-right: -100px;}
  50% {margin-right: -100px;}
  100% {margin-right: 10px;}
}

#submenu_tel h3 .icon {
  width: 18px;
  height: auto;
  vertical-align: middle;
  opacity: 1;
  transition: margin 1s;
  animation: submenu_icon_entrada 1s;
  margin: 2px 10px;
  float: right;
}

#submenu_tel h3 .icon.open {
  margin-right: -100px;
  opacity: 0;
}

a.submenu_tel_buttons {
  position: absolute;
  left: -100%;
  margin: 12px 0px;
  transition: left 0.8s;
  color: transparent;
  border-radius: 7px 0 0 7px;
  padding: 8px 4px 4px 10px;
}

a.submenu_tel_buttons.open {
  position: relative;
  display: block;
  left: 0;
  color: inherit;
  background: linear-gradient(90deg, #00000010, #00000010, transparent)
}

@keyframes aparece_pic {
  0% {opacity: 0; right: -30px;}
  100% {opacity: 1; right: 10px;}
}

#bg_pic_submenu_tel {
  opacity: 0;
  position: absolute;
  right: 10px;
  height: 100%;
  bottom: -10px;
}

.open #bg_pic_submenu_tel {
  opacity: 1;
  animation: aparece_pic 1.4s ease-in-out;
}

.sec_home_text {
  width: calc(100% - 80px);
}

@keyframes flecha_entra {
  0% {opacity: 0; top: 68px; right: 200px}
  25% {opacity: 0;}
  50% {top: 54px;}
  100% {opacity: 1; top: 2px; right: 20px;}
}

#flecha_grande {
  margin: 0;
  transform: rotate(-80deg);
  width: 80px;
  height: auto;
  position: absolute;
  top: 2px;
  right: 20px;
  animation: flecha_entra 2s ease-out;
}
