  @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

  @font-face {
      font-family: 'Austria';
      src: url('./fonts/fonts/Austria.otf') format('opentype');
  }

  body {
      overflow-x: hidden;
  }

  a {
      text-decoration: none
  }

  .color-p {
      height: 100vh;
      background-color: black;
      width: 100%;
      z-index: 1;
      position: absolute;
  }

  /* slider */
  .text-ruth {
      position: absolute;
      left: -40%;
      top: 50%;
  }

  .text-rios {
      position: absolute;
      left: 65%;
      top: 50%;
  }

  .text-rios2,
  .text-ruth2 {
      height: 150px;
  }

  .btn-ver {
      position: absolute;
      top: 90%;
  }


  @media screen and (max-width:1322px) {
      .btn-ver {
          top: 85%;
      }
  }

  @media screen and (max-width:991px) {
      .btn-ver {
          top: 80%;
      }
  }

  @media screen and (max-width:660px) {
      .btn-ver {
          font-size: 10px;
      }
  }

  @media screen and (max-width:565px) {
      .btn-ver {
          font-size: 10px;
          top: 75%;
      }
  }

  @media screen and (max-width:450px) {
      .btn-ver {
          font-size: 8px;
          top: 70%;
      }
  }


  @media screen and (max-width:1105px) {
      .text-ruth {
          top: 40%;
      }

      .text-rios {
          top: 40%;
          left: 70%;
      }

      .text-rios2,
      .text-ruth2 {
          height: 100px;
      }
  }

  @media screen and (max-width:700px) {

      .text-rios2,
      .text-ruth2 {
          height: 80px;
      }
  }

  @media screen and (max-width:590px) {

      .text-rios2,
      .text-ruth2 {
          height: 60px;
      }
  }

  @media screen and (max-width:440px) {

      .text-rios2,
      .text-ruth2 {
          height: 40px;
      }
  }

  @keyframes diagonal-move-anim {

      0% {
          transform: translate(450%, 450%);
      }

      10% {
          transform: translate(450%, 450%);
      }

      20% {
          transform: translate(450%, 450%);
      }

      30% {
          transform: translate(450%, 450%);
      }

      100% {
          transform: translate(0, 0);
      }

  }

  @media screen and (max-width: 1128px) {
      @keyframes diagonal-move-anim {

          0% {
              transform: translate(310%, 350%);
          }

          10% {
              transform: translate(310%, 350%);
          }

          20% {
              transform: translate(310%, 350%);
          }

          20% {
              transform: translate(310%, 350%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  @media screen and (max-width: 1024px) {
      @keyframes diagonal-move-anim {

          0% {
              transform: translate(300%, 300%);
          }

          10% {
              transform: translate(300%, 300%);
          }

          20% {
              transform: translate(300%, 300%);
          }

          20% {
              transform: translate(300%, 300%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  @media screen and (max-width: 900px) {
      @keyframes diagonal-move-anim {

          0% {
              transform: translate(300%, 350%);
          }

          10% {
              transform: translate(300%, 350%);
          }

          20% {
              transform: translate(300%, 350%);
          }

          20% {
              transform: translate(300%, 350%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  @media screen and (max-width: 756px) {
      @keyframes diagonal-move-anim {

          0% {
              transform: translate(250%, 350%);
          }

          10% {
              transform: translate(250%, 350%);
          }

          20% {
              transform: translate(250%, 350%);
          }

          30% {
              transform: translate(250%, 350%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  @media screen and (max-width: 578px) {
      @keyframes diagonal-move-anim {

          0% {
              transform: translate(180%, 350%);
          }

          10% {
              transform: translate(180%, 350%);
          }

          20% {
              transform: translate(180%, 350%);
          }

          30% {
              transform: translate(180%, 350%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  @media screen and (max-width: 458px) {
      #header .logo img {
          max-height: 55px;
      }

      @keyframes diagonal-move-anim {

          0% {
              transform: translate(210%, 450%);
          }

          10% {
              transform: translate(210%, 450%);
          }

          20% {
              transform: translate(210%, 450%);
          }

          30% {
              transform: translate(210%, 450%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  @media screen and (max-width: 370px) {
      @keyframes diagonal-move-anim {

          0% {
              transform: translate(150%, 450%);
          }

          10% {
              transform: translate(150%, 450%);
          }

          20% {
              transform: translate(150%, 450%);
          }

          30% {
              transform: translate(150%, 450%);
          }

          100% {
              transform: translate(0, 0);
          }

      }
  }

  .img-p-animaxion {
      position: absolute;
      animation-duration: 1s;
      animation: diagonal-move-anim 2s linear alternate;
  }

  /* slider */
  .btn-abajo {
      width: 120px;
      border: 2px solid #FFFFFF;
      border-radius: 40px;
      background-color: #ffffff0d;
      color: white;
  }

  @media screen and (max-width:660px) {
      .btn-abajo {
          width: 80px;
      }
  }

  @media screen and (max-width:400px) {
      .btn-abajo {
          width: 65px;
      }
  }


  /* plataforma digitales */
  .title-platafromas {
      text-align: center;
      font-size: 40px;
  }

  .des-plataformas {
      color: #6A6A6A;
      font-size: 14px;
      text-align: center;
  }

  /* proposito */
  .title-proposito {
      font-size: 40px;
  }

  .des-proposito {
      color: #3C3C3C;
      font-size: 19px;
  }

  .img-semblanza {
      position: relative;
      top: 20%;
  }

  /* discografia */
  .fecha-discografia {
      text-align: center;
      font-weight: bold;
      font-size: 21px;
  }

  .fecha {
      display: flex;
      justify-content: center;
      align-items: center;
  }

  .color-disc {
      background-color: rgb(230, 230, 230);
  }

  @media screen and (max-width:500px) {
      .fecha-discografia {
          font-size: 15px;
      }
  }

  /* calendario */
  .event a {
      background-color: rgb(252, 37, 69) !important;
      color: #ffffff !important;
  }

  .title-agenda {
      font-size: 40px;
  }

  .colorAgenda {
      background-color: aliceblue;
  }


  @media screen and (max-width:500px) {
      .title-agenda {
          font-size: 30px;
      }
  }

  .subtitle-agenda {
      color: #6A6A6A;
      font-size: 14px;
  }

  .title-agenda,
  .subtitle-agenda {
      text-align: center;
  }

  .evento-agenda {
      font-size: 20px;
      font-weight: bold;
  }

  .text-calendario-month,
  .text-calendario-day,
  .text-calendario-year,
  .text-calendario-state,
  .text-calendario-place {
      text-align: center;
  }

  .text-calendario-month,
  .text-calendario-year {
      font-size: 27px;
  }

  .text-calendario-day,
  .text-calendario-state {
      font-size: 27px;
      font-weight: bold;
  }

  .text-calendario-place {
      font-size: 25px;
  }

  .agenda-fechas {
      overflow: scroll;
      overflow-x: hidden;
      height: auto;
      /*max-height: 50vh;*/
  }

  .nav-eventos {
      width: 100%;
      background-color: white;
      height: 50px;
  }

  .ver-calendario-text {
      text-align: end;
  }

  @media screen and (max-width:991px) {
      #datepicker {
          left: 59%;
          top: 10%;
      }
  }

  @media screen and (max-width:877px) {
      #datepicker {
          left: 50%;
      }
  }

  @media screen and (max-width:767px) {
      .nav-eventos {
          height: 105px;
      }

      .text-coneta-title {
          font-size: 30px;
      }

      .ver-calendario-text {
          text-align: justify;
          margin-left: 10px;
      }
  }

  @media screen and (max-width:711px) {
      #datepicker {
          left: 40%;
      }
  }

  @media screen and (max-width:607px) {
      #datepicker {
          left: 30%;
      }
  }

  @media screen and (max-width:527px) {
      #datepicker {
          left: 20%;
      }
  }

  @media screen and (max-width:471px) {
      #datepicker {
          left: 10%;
      }
  }

  @media screen and (max-width:430px) {
      #datepicker {
          left: 0%;
      }
  }

  /* parallax */
  .form-control {
      background-color: #ffffff00;
      border-left: none;
      border-top: none;
      border-right: none;
      color: white;
  }

  .color-input {
      color: white;
  }

  .form-control:focus {
      background-color: rgba(0, 0, 0);
      color: white;
  }

  .btn-enviar {
      background-color: #ffffff00;
      border-radius: 50px;
      border-color: white;
      color: white;
      padding: 10px 40px;
  }

  .btn-enviar:hover {
      border-color: white;
      color: white;
  }

  .text-coneta-title {
      font-size: 40px;
      color: white;
  }

  .text-coneta-subtitle {
      font-size: 18px;
      color: white;
  }

  .text-coneta-title,
  .text-coneta-subtitle {
      text-align: center;
  }

  @media screen and (max-width:767px) {
      .text-coneta-title {
          font-size: 30px;
      }
  }

  /* footer */
  footer {
      background-color: white;
  }

  .text-footer-1 {
      text-align: center;
      font-size: 15px;
      text-decoration: underline;
      text-decoration-color: #FC0E31;

  }

  .text-footer-2 {
      text-align: center;
      font-size: 18px;
      font-weight: 600;
      color: black;
  }

  .text-footer-2:hover {
      font-weight: bold;
      cursor: pointer;
  }

  .text-footer-3 {
      text-align: center;
      font-size: 16px;
      color: black;
  }

  .text-footer-3:hover {
      font-weight: bold;
      cursor: pointer;
  }

  /* efecto rebote */

  .boton-arriaba {
      padding-top: 5px;
      width: 120px;
      border: 2px solid #FC0E31;
      color: #FC0E31;
      border-radius: 40px;
      background-color: white;
  }

  @-webkit-keyframes animar {
      0% {
          -webkit-transform: translate(0px, 0px);
      }

      10% {
          -webkit-transform: translate(0px, 3px);
      }

      20% {
          -webkit-transform: translate(0px, 0px);
      }

      30% {
          -webkit-transform: translate(0px, 3px);
      }

      40% {
          -webkit-transform: translate(0px, 0px);
      }

      50% {
          -webkit-transform: translate(0px, 3px);
      }

      60% {
          -webkit-transform: translate(0px, 0px);
      }

      70% {
          -webkit-transform: translate(0px, 3px);
      }

      80% {
          -webkit-transform: translate(0px, 0px);
      }

      90% {
          -webkit-transform: translate(0px, 3px);
      }

      100% {
          -webkit-transform: translate(0px, 0px);
      }
  }


  .boton-arriaba,
  .btn-abajo {
      -webkit-animation: animar 3s infinite;
  }

  .icon-youtube,
  .icon-facebook,
  .icon-instagram {
      color: #FC0E31;
      font-size: 25px;
      cursor: pointer;
  }

  /* -------------------------------------------------------------------- */
  .carousel-wrap {
      margin: 90px auto;
      padding: 0 0%;
      width: 100%;
      position: relative;
  }

  /* fix blank or flashing items on carousel */
  .owl-carousel .item {
      position: relative;
      z-index: 100;
      -webkit-backface-visibility: hidden;
  }

  /* end fix */
  .owl-nav>div {
      margin-top: -26px;
      position: absolute;
      top: 50%;
      color: #cdcbcd;
  }

  .owl-nav i {
      font-size: 50px;
      color: #fffffffa;
      opacity: 80%;
  }

  .owl-nav .owl-prev {
      /* left: -30px; */
      position: absolute;
      left: 1%;
      top: 25%;
      transform: translate(0%, 0%);
  }


  .owl-nav .owl-next {
      /* right: -30px; */
      position: absolute;
      left: 95%;
      top: 25%;
      transform: translate(0%, 0%);
  }

  @media screen and (max-width:468px) {
      .owl-nav .owl-next {
          left: 85%;
      }

      .owl-nav .owl-prev {
          left: 5%;
      }
  }

  .posInvi {
      position: relative;
  }

  .row1 {
      --bs-gutter-x: 0rem !important;
      --bs-gutter-y: 0 !important;
  }

  .title-invi {
      position: absolute;
      top: -5em;
      left: 0%;
      transform: translate(0%, -10em);
  }

  .title-invi h3 {
      font-family: 'Austria', sans-serif;
      font-size: 150px;
      letter-spacing: 6px;
      color: #FFFFFF;
      opacity: 0.4;
  }

  .contra-ti {
      font-family: 'Austria', sans-serif;
      font-size: 100px;
      text-align: center;
      letter-spacing: 7.2px;
      color: #FF0027;
      opacity: 0.11;
  }

  .banContra {
      background-image: url('../assets/invitaciones/banner_contrata.jpg');
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      height: 100%;
      border-top: 1px solid red;
  }

  .btn-pos {
      display: flex;
      justify-content: flex-end;
      align-items: center;
  }

  .qui {
      padding: 2.5em 0em 2.5em 0em;
  }

  .qui h3 {
      text-align: center;
      letter-spacing: 0.67px;
      color: #000000;
  }

  .qui {
      font-size: 25px;
      font-weight: 300;
      text-align: center;
      letter-spacing: 1px;
      color: #000000;
  }

  .subCon {
      padding: 0.5em 4em 0em 4em;
  }

  .boton-invitaciones {
      text-align: center;
      font-size: 22px;
      color: #DB0A24;
      border: 3px solid #FC0E31;
      background: #ebebeb00 0% 0% no-repeat padding-box;
      border-radius: 40px;
      width: 15rem;
      height: 3rem;
  }

  .titleInv p {
      border-bottom: 2px solid black;
  }

  .titleInv {
      font-family: 'Montserrat', sans-serif;
      text-align: center;
      font-size: 40px;
      letter-spacing: 0.67px;
      color: #2C2C2C;
  }

  .subInv {
      font-family: 'Montserrat', sans-serif;
      text-align: center;
      font-size: 40px;
      letter-spacing: 0.67px;
      color: #2C2C2C;

  }

  .fullBa {
      background-image: url('../assets/invitaciones/escenario-libre-luces-dispositivos-iluminacion.webp');
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
  }

  .fullBa2 {
      background-image: url('../assets/invitaciones/ruth_manos2.webp');
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
  }

  .img-acustico {
      width: 100%;
  }

  .contF h3 {
      text-align: left;
      font-size: 40px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 900;
      letter-spacing: 0.67px;
      color: #FFFFFF;
  }

  .contF p {
      text-align: left;
      font-size: 20px;
      font-family: 'Montserrat', sans-serif;
      letter-spacing: 0.33px;
      color: #FFFFFF;
  }

  .btn-saber-mas {
      border: 3px solid #FFFFFF;
      border-radius: 40px;
      text-align: center;
      font-size: 22px;
      font-family: 'RaleWay', sans-serif;
      color: #FFFFFF;
      background: #00000070;
      width: 13rem;
  }


  @media screen and (max-width:1366px) {

      .title-invi {
          left: 0%;
          transform: translate(-20%, -5em);
      }

  }

  @media screen and (max-width:1024px) {
      .qui {
          padding: 0.5em 0em 0.5em 0em;
      }

      .subCon {
          padding: 0.5em 1em 0em 1em;
      }

      .title-invi h3 {
          font-size: 95px;
      }

      .title-invi {
          left: 0%;
          transform: translate(-20%, 0em);
      }

  }

  @media screen and (max-width:768px) {
    .contra-ti {
        font-size: 115px;
    }

      .qui {
          padding: 0.5em 0em 0.5em 0em;
      }

      .subCon {
          padding: 0.5em 0em 0em 0em;
      }

      .contF {
          padding: 1em 1em 1em 1em;
      }

      .img-acustico {
          width: 60%;
      }

  }

  @media screen and (max-width:468px) {
      .contra-ti {
          font-size: 20px;
	  opacity: 0.5;
      }

      .btn-pos {
          justify-content: center;
      }

      .img-acustico {
          width: 100%;
      }

      .title-invi {
        top: -35em;
        left: -10%;
        transform: translate(0%, 0em);
    }
      .title-invi h3 {
          font-size: 50px;
      }
  }

  /* -------------------------------boton efecto---------------------------- */
  .btn-efec a button {
      list-style-type: none;
      margin: 0;
      padding: 0;
  }

  .btn-efec a button {
      --c: #FC0E31;
      color: var(--c);
      font-size: 16px;
      border: 0.3em solid var(--c);
      border-radius: 40px;
      width: 18em;
      height: 3.2em;
      text-transform: uppercase;
      font-weight: bold;
      font-family: sans-serif;
      letter-spacing: 0.1em;
      text-align: center;
      line-height: 3em;
      position: relative;
      overflow: hidden;
      z-index: 1;
      transition: 0.5s;
      margin: 1em;
  }

  .btn-efec a button span {
      position: absolute;
      width: 25%;
      height: 100%;
      background-color: var(--c);
      transform: translateY(150%);
      border-radius: 50%;
      left: calc((var(--n) - 1) * 25%);
      transition: 0.5s;
      transition-delay: calc((var(--n) - 1) * 0.1s);
      z-index: -1;
  }

  .btn-efec a button:hover {
      color: white;
  }

  .btn-efec a button:hover span {
      transform: translateY(0) scale(2);
  }

  .btn-efec a button span:nth-child(1) {
      --n: 1;
  }

  .btn-efec a button span:nth-child(2) {
      --n: 2;
  }

  .btn-efec a button span:nth-child(3) {
      --n: 3;
  }

  .btn-efec a button span:nth-child(4) {
      --n: 4;
  }

  /* --------------------------------------------------------------- */
  /*   BUTTONS EFFECTS*/
  .btn-efecN a button {
      list-style-type: none;
      margin: 0;
      padding: 0;
  }

  .btn-efecN a button {
      --c: #ffffff;
      color: var(--c);
      font-size: 16px;
      border: 0.3em solid var(--c);
      background: rgb(222 222 222 / 21%);
      border-radius: 40px;
      width: 12em;
      height: 3.2em;
      text-transform: uppercase;
      font-weight: bold;
      font-family: sans-serif;
      letter-spacing: 0.1em;
      text-align: center;
      line-height: 3em;
      position: relative;
      overflow: hidden;
      z-index: 1;
      transition: 0.5s;
      margin: 1em;
  }

  .btn-efecN a button span {
      position: absolute;
      width: 25%;
      height: 100%;
      background-color: var(--c);
      transform: translateY(150%);
      border-radius: 50%;
      left: calc((var(--n) - 1) * 25%);
      transition: 0.5s;
      transition-delay: calc((var(--n) - 1) * 0.1s);
      z-index: -1;
  }

  .btn-efecN a button:hover {
      color: rgb(0, 0, 0);
  }

  .btn-efecN a button:hover span {
      transform: translateY(0) scale(2);
  }

  .btn-efecN a button span:nth-child(1) {
      --n: 1;
  }

  .btn-efecN a button span:nth-child(2) {
      --n: 2;
  }

  .btn-efecN a button span:nth-child(3) {
      --n: 3;
  }

  .btn-efecN a button span:nth-child(4) {
      --n: 4;
  }
  /* --------------------------popup------------------------------------------- */
.boton-poup{
    position: absolute;
    transform: translate(50%, 50%);
    top: 20%;
    left: 22%;
    border: 3px solid #FFFFFF;
    border-radius: 40px;
    text-align: center;
    font-family: 'RaleWay', sans-serif;
    font-size: 22px;
    color: #FFFFFF;
    background: transparent;
    font-weight: 200;
    padding: 0.2em 2em 0.2em 2em;
}
@media screen and (max-width:768px){
    .boton-poup {
        top: 13%;
        left: 6%;
    }
}


@media screen and (max-width:468px){
    .boton-poup {
        transform: translate(0%, 50%);
        top: 11%;
        left: 22.5%;
    }
}
@media screen and (max-width:375px){
    .boton-poup {
        transform: translate(0%, 50%);
        top: 11%;
        left: 20%;
    }
}


input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield; /* Firefox */
}