@font-face {
  font-family: 'Source Code Variable';
  src: url('../fonts/SourceCodeVariable-Roman.woff2') format('woff2'),
      url('../fonts/SourceCodeVariable-Roman.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Source Code Pro';
  src: url('../fonts/SourceCodePro-Semibold.woff2') format('woff2'),
      url('../fonts/SourceCodePro-Semibold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'Nissan Brand';
  src: url('../fonts/NissanBrand-Bold.woff2') format('woff2'),
      url('../fonts/NissanBrand-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nissan Brand';
  src: url('../fonts/NissanBrand-Light.woff2') format('woff2'),
      url('../fonts/NissanBrand-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Jost';
  src: url('../fonts/Jost-Italic.woff2') format('woff2'),
      url('../fonts/Jost-Italic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Nissan Brand';
  src: url('../fonts/NissanBrand-Regular.woff2') format('woff2'),
      url('../fonts/NissanBrand-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}



html, body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

body {
  position: relative;
  background: url(../img/arigato/back.jpg) no-repeat top center #741f1f;
  background-size: cover;
  background-attachment: fixed;
  font-family: 'Nissan Brand';
}

* {
  box-sizing: border-box;
}

.promoimg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
}

.header img {
  width: 100%;
  max-width: 400px;
  border-radius: 8px 8px 0 0;
}

/* #region Form */
.form {
  width: 100%;
  position: relative;
  background-color: transparent;
  text-align: center;
  border-radius: 7px;
  overflow: hidden;
  margin: auto;
  left: 50%;
  transform: translateX(-50%);
}
.form_footer {
  position: relative;
}
.form_content_title {
  position: relative;
}
input.form_input-text {
  width: 100%;
  border: none;
  margin-bottom: 0px;
  text-align: center;
  font-weight: 600;
  color: #000;
  font-size: 1.1em;
  padding: 0;
  height: 30px;
}
.closeform {
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
  font-size: .7em;
  color: #fff;
  background-color: #000;
  padding: 2px 10px 3px 10px;
  border-radius: 4px;
  border: 1px solid #fff;
}
input.form_input-text:focus {
  border-color: rgb(255, 194, 194);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
label.form_label {
  font-size: .6em;
  color: #6d6d6d;
  border-top: 1px solid red;
  margin-bottom: 0;
  display: block;
}
.form_footer {
  text-align: left;
  padding-top: 10px;
  background-color: #fff;
  margin-top: -5px;
  padding: 10px;
}

.divider_left {
  display: inline-block;
  width: 48%;
  position: relative;
}
.divider_right {
  display: inline-block;
  width: 48%;
  text-align: right;
}

.adjuntarfotocontainer.ready::after {
  content: "✓";
  position: absolute;
  font-size: 1.5em;
  color: #000;
  right: -22px;
  top: -15px;
}

.form_footer_img {
  width: 100%;
  cursor: pointer;
}
.form_footer_img:hover {
  filter: grayscale(1);
}
.form_footer_img:active {
  filter: hue-rotate(110deg)
}
.form_content {
  background-color: #fff;
  border-radius: 7px;
  overflow: hidden;
}
.form_content_inner {
  padding: 10px;
}
.form_content_title {
  background-color: #880F14;
  font-weight: bold;
  color: #fff;
  padding: 4px;
  margin-bottom: 10px;
  font-size: .8em;
}
.form_enviar {
  border: 0;
  padding: 7px;
  color: #880F14;
  font-size: 1.0em;
  font-weight: bold;
  -webkit-box-shadow: 0px 6px 6px 0px rgba(0,0,0,0.6);
  -moz-box-shadow: 0px 6px 6px 0px rgba(0,0,0,0.6);
  box-shadow: 0px 6px 6px 0px rgba(0,0,0,0.6);
  cursor: pointer;
}
.form_enviar:hover {
  color: #fff;
  background-color: rgba(0,0,0,0.8);
}
.form_header {
  background-color: rgba(0,0,0, 0.7);
  height: 90px;
  position: relative;
  margin-bottom: 7px;
  border-radius: 7px;
  font-weight: bold;
}
.form_header_image {
  height: 80%;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
/* #endregion */


/* #region Arigato */
#formfields {
  font-size: 16px;
}
.containerHome {
  position: relative;
  width: 100%;
  max-width: 1280px;
  height: 100%;
  margin: auto;
}
body::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.25);
  content: "";
}
.home_left {
  width: 50%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
}
.celebremos_img {
  position: absolute;
  width: 80%;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.home_right {
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  text-align: left;
  padding: 15px;
}
.text-verticalcenter {
  position: relative;
  width: 100%;
  /* max-width: 300px; */
  height: auto;
  top: 40%;
  left: 0;
  transform: translateY(-50%);
  color: #fff;
}
.home_right_text {
  font-weight: 300;
  font-size: 1.5em;
}
.home_right_text-bold {
  font-weight: bold;
  font-size: 1.4em;
}
.btn-registro {
  width: 200px;
  cursor: pointer;
}
.btn-registro:hover {
  filter: hue-rotate(70deg);
}

/* #endregion */


.container {
  width: 94%;
  max-width: 400px;
  /* margin: auto; */
  /* background-color: #ffffff; */
  padding: 20px;
  text-align: center;
  border-radius: 8px;
  /* box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); */
  position: relative;
  height: 94%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hola .container {
  max-width: 600px;
}

.highlightred {
  color: #C00000;
  font-weight: bold;
}
.highlightwhite {
  color: rgba(0,0,0,0.85);
  font-weight: bold;
}
.highlight {
  color: #000000;
  font-weight: bold;
}
.footer {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  width: 100%;
}
.text-center {
  text-align: center;
}

.text-smaller {
  font-size: .75em;
}

.none {
  display: none;
}

.hola {
  font-size: 2em;
  /* transform: rotate(-90deg); */
  margin-top: -50px;
}

.foot {
  width: 50%;
  height: 20px;
  background: url(../img/foot.webp?v2) repeat-x left center transparent;
  margin: auto;
  background-size: contain;
}

.hola h2 {
  font-size: 1em;
}

.hola h3 {
  font-size: 2em;
  /* font-family: 'ITC Garamond Std Lt Narrow'; */
  font-weight: initial;
  margin-bottom: .25em;
  margin-top: .75em;
}
.hola .organizacion {
  font-size: .7em;
  color: #C00000;
}

body.hola.hola_precontent::after {
  content: "";
  position: absolute;
  top: 0;
  height: 0;
  width: 100%;
  height: 100%;
  background: url(../img/promo-3.webp?v3) no-repeat center center #fff;
  background-size: contain;
}
.hola .footer {
  font-size: .75em;
}

.container {
  max-width: initial;
}

/* #region Agenda */
.center-h {
  margin: auto;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 100%;
  font-size: 13px;
}

.agendaHeader {
  width: 100%;
}
.agendaHeader img {
  width: 100%;
  border-radius: 8px;
  max-width: initial;
}
.agenda_dia {
  padding: 5px 0 20px 0;
  /* background: rgba(255, 255, 255, 1); */
  /* border-radius: 8px; */
  /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); */
}
.agenda_horarios {
  width: 100%;
  border-collapse: collapse;
}
.agenda_horarios thead th {
  font-size: .75em;
  background-color: #740E16;
  color: #fff;
  padding: 3px 5px;
}
.agenda_horarios tbody td {
  padding: 5px;
}
.agenda_horarios tbody tr:nth-child(even) td {
  background-color: #f2f2f2;
}
.agenda_horarios tbody tr:hover td {
  background-color: #740e172b;
}
.agenda_hora_inicio {
  text-align: center;
  padding: 0 5px 0 5px;
}
.agenda_hora_final {
  text-align: center;
  padding: 0 5px 0 5px;
}
.agenda_hora_tiempo {
  text-align: center;
  padding: 0 5px 0 5px;
}
.agenda_detalle {
  text-align: left;
  padding-left: 5px;
}
.iconitem_title {
  text-align: center;
  font-weight: bold;
}
.btn-secundario {
  background-color: transparent;
  border: 2px solid #fff;
  color: white;
  padding: 10px 18px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
  margin-top: 10px;
  display: inline-block;
}
.btn-secundario:hover {
  background-color: rgba(255,255,255,0.75);
  color: rgba(0,0,0,0.75);
}
.btn-secundario:active {
  background-color: rgba(255,255,255,1);
  color: rgba(0,0,0,0.75);
}
/* #endregion */


@media screen and (max-width:1200px) {
  #main {
    font-size: 14px;
  }
  .celebremos_img {
    width: 70%;
  }
}
@media screen and (max-width:960px) {
  #main {
    font-size: 13px;
  }
}

#main {
  -webkit-transition: all 600ms ease;
	-moz-transition: all 600ms ease;
	-ms-transition: all 600ms ease;
	-o-transition: all 600ms ease;
	transition: all 600ms ease;
}

/* 🟢 Móvil (hasta 767px) */
@media only screen and (max-width: 767px) {
  /* Tus estilos para móviles aquí */
  .center-h {
    font-size: 13px;
  }
  .home_left {
    position: relative;
    width: 100%;
    height: 30%;
    margin-top: 20px;
  }
  .home_right {
    position: relative;
    width: 100%;
    font-size: 11px;
  }
  .text-verticalcenter {
    top: 0;
    transform: initial;
  }
  .celebremos_img {
    height: 100%;
    width: auto;
    position: relative;
  }
  .btn-registro {
    width: 160px;
  }
}

/* 🔵 Escritorio (768px en adelante) */
@media only screen and (min-width: 768px) {
  /* Tus estilos para escritorio aquí */
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  /* tablet */
}