*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?x6qn0k');
  src:  url('fonts/icomoon.eot?x6qn0k#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?x6qn0k') format('truetype'),
    url('fonts/icomoon.woff?x6qn0k') format('woff'),
    url('fonts/icomoon.svg?x6qn0k#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

/* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;}

  .icon-facebook:before {
    content: "\e900";}
  .icon-instagram:before {
    content: "\e901";}
  .icon-linkedin:before {
    content: "\e902";}
  .icon-twitter:before {
    content: "\e903";}

body{
  font-family: 'Lato', sans-serif;}

  .contenedor{
  width: 100%;
  margin: auto; /* centrar */}

  h1{
    font-family: 'Lora', serif;
    font-size: 3em;
    font-weight: 800;
    color: #ffffff;
    text-align: right;
    text-shadow: 1px 1px 10px black; /* offset-x | offset-y | blur-radius | color */
    padding: 0.5em 0;}

  h2{
    font-family: 'Lora', serif;
    font-size: 2.5em;
    color: #ffffff;
    text-align: center;}

  h3{
    display: inline-block;
    width: auto;
    padding: 0.25em 0.5em;
    background-color: #0062ff;
    font-family: 'Lora', serif;
    font-size: 2em;
    font-weight: 700;
    color: #ffffff;
    text-align: center;}

  h4{
    display: inline-block;
    width: auto;
    padding: 0.25em;
    margin: 0.7em 0;
    background-color: #0062ff;
    font-family: 'Lora', serif;
    font-size: 1.2em;
    font-weight: 700;
    color: #ffffff;
    text-align: center;}

/* ENCABEZADO */

  header{
    width: 100%;
    background-color: #0e1f43;}

  header .contenedor{
    width: 100%;
    max-width: 1000px;
    height: 100px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;}

/* BANNER PRINCIPAL */

  .banner-principal{
    width: 100%;
    padding: 2em 0;
    height: auto;
    background-image: url(img/banner.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;}

  .banner-principal .contenedor{
    width: 100%;
    max-width: 1000px;
    display: flex;
    justify-content: flex-end;}

  .banner-texto{
    width: 65%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-end;}

  .bajada{
    width: 75%;
    background-color: #0062ff;
    padding: 1em;}

  .transmision{
    width: 75%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0;
    font-size: 1.5em;
    font-weight: 700;
    color: #0e1f43;}

  .transmision img{
    padding: 0 0.8em;}

  .contenedor-fecha{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 1em 0;}

  .contenedor-fecha div{
    width: 70%;
    font-size: 1.2em;
    font-weight: 800;
    color: #0e1f43;
    text-align: center;}

/* Texto Principal */

  #texto .contenedor{
    width: 100%;
    max-width: 1000px;
    padding: 2em;}

  .texto-principal p{
    color: #0e1f43;
    font-size: 18px;
    margin-bottom: 1em;
    text-align: justify;}

/* Seccion 02 */
  #fecha-hora{
    width: 100%;
    height: 300px;
    background-image: url(img/seccion02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;}

  #fecha-hora .contenedor{
    width: 100%;
    max-width: 1000px;
    display: flex;
    justify-content: flex-end;}

  .fecha{
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;}

  .fecha p{
    font-family: 'Lato', sans-serif;
    color: #0e1f43;
    text-align: center;
    font-weight: 800;
    font-size: 2em;
    padding: 0.5em 0;}

/* Invitados */

  #invitados{
    width: 100%;
    height: auto;
    padding: 3em 0;
    background-color: #0e1f43;}

  #invitados .contenedor{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;}

  .contenedor-invitados{
    width: 100%;
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;}

  .invitado{
    width: 40%;
    margin: 1em;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;}

  .invitado p{
    font-family: 'Lato', sans-serif;
    font-size: 1.1em;
    color: #ffffff;}

/* Moderadora */

  #moderadora{
    width: 100%;
    height: auto;
    padding: 3em 0;
    background-color: #0062ff;}

  #moderadora .contenedor{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;}

  #moderadora h3{
    display: inline-block;
    width: auto;
    padding: 0.25em 0.5em;
    background-color: #0e1f43;
    font-family: 'Lora', serif;
    font-size: 2em;
    font-weight: 700;
    color: #ffffff;
    text-align: center;}

  #moderadora h4{
    display: inline-block;
    width: auto;
    padding: 0.25em;
    margin: 0.7em 0;
    background-color: #0e1f43;
    font-family: 'Lora', serif;
    font-size: 1.2em;
    font-weight: 700;
    color: #ffffff;
    text-align: center;}

/* Formulario */
  #formulario{
    width: 100%;
    height: auto;
    padding: 3em 0;}

  #formulario .contenedor{
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;}

  .texto-registro{
    width: 100%;
    font-size: 1.2em;
    text-align: center;
    font-weight: 700;
    padding: 1em 0;
    color: #0e1f43;}

  .contenedor-campos{
    width: 100%;
    margin-top: 1.2em;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    justify-content: center;}

  .campo-llenar{
    display: block;
    width: 25%;
    border: 1px solid rgb(24, 88, 164);
    height: 3em;
    color: rgba(14, 31, 67, 1.0);
    background: rgba(255, 255, 255, 1.0);
    background-color: rgba(57, 172, 227, .5);
    margin: 1em;
    -webkit-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
    padding: 0.5em;
    font-size: 0.8em;}

  .campo-autorizaciones{
    display: block;
    box-sizing: border-box;
    width: 100%;
    color: #0e1f43;
    margin-top: 1em;}

  .autorizacion{
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgb(255, 255, 255);
    padding: 1em;
    font-size: 0.8em;}

  .texto-autorizacion{
    display: block;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: center;
    width: 70%;}

  .marcar-autorizacion{
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: center;}

  .text-opcion{
    padding-left: 0.4em;
    padding-right: 1em;}

  .seccion-enviar{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    box-sizing: border-box;
    justify-content: center;
    padding: 1em;}

  .btn-enviar a:link {
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: center;
    color: rgb(255, 255, 255);
    text-decoration: none;
    background-color: rgb(0, 98, 255);
    font-size: 0.85em;
    padding: 0.5em 1em;
    margin: 0.5em;
    -webkit-border-radius: 10px 10px 10px 10px;
    border-radius: 10px 10px 10px 10px;
    -webkit-transition: ease 0.5s all;
    -o-transition: ease 0.5s all;
    transition: ease 0.5s all;
    width: 15em;
    font-size: 1.2em;
    justify-content: center;
    font-weight: 700;}

  .btn-enviar a:visited {
    color: rgb(255, 255, 255);}

  .btn-enviar a:hover {
    color: rgb(255, 255, 255);
    background-color: rgba(14, 31, 67, 1);}

  .btn-enviar a:active {
    color: rgb(255, 255, 255);}

  .terminos-condiciones{
    display: flex;
    justify-content: center;
    align-items: center;}

  .terminos-condiciones a:link{
    color: #0062ff;
    font-size: 0.7em;}

  .terminos-condiciones a:visited{
    color: #0e1f43;}

  .terminos-condiciones a:hover{
    color: #0e1f43;}

  .terminos-condiciones a:active{}

  .gracias{
    margin: 2em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;}

  .datos-gracias{
    color: #0e1f43;
    font-weight: 700;
    text-align: center;
    font-size: 1.2em;}

/* Footer */

  footer{
    display: block;
    width: 100%;
    flex-wrap: wrap;
    background-color: #000000;
    -webkit-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
    padding: 2em;}

  .titulo-footer{
    display: block;
    width: 100%;
    text-align: center;
    color: #FFFFFF;
    font-size: 0.9em;
  }
  .redes{
    display: flex;
    width: 100%;
    justify-content: center;
    padding-top: 0.3em;
  }

  .red a:link{color: #ffffff; margin: 0.1em; text-decoration: none; font-size: 1.6em; -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;}
  .red a:visited{color: #ffffff;}
  .red a:hover{color: #39ACE3;}
  .red a:active{color: #ffffff;}

/* RESPONSIVE */

  @media all and (max-width:1024px) {

    h1{font-size: 2.5em;}

    h2{font-size: 2em;}

    h3{font-size: 1.5em}

    #moderadora h3{font-size: 1.5em;}

    header .contenedor{
      width: 100%;
      max-width: 900px;}

    .banner-principal .contenedor{
      max-width: 900px;}

    .bajada{
      width: 70%;}

    #texto .contenedor{
      max-width: 900px;}

    #fecha-hora .contenedor{
      max-width: 900px;}

    #invitados .contenedor{
      max-width: 900px;}

    #moderadora .contenedor{
      max-width: 900px;}

    .invitado p{
      text-align: center;}

    .contenedor-invitados{
      align-items: flex-start;}
  }

  @media all and (max-width:768px) {

    h1{font-size: 2.1em;}

    h2{font-size: 1.9em;}

    h3{font-size: 1.5em}

    header .contenedor{
      width: 100%;
      max-width: 700px;}

    h4{
      font-size: 1.2em;
      padding: 0.3em}

    .banner-principal{
      background-image: url(img/banner768.jpg);
      padding: 2em 0;
      height: auto;}

    .banner-principal .contenedor{
      max-width: 700px;}

    .bajada{
      width: 85%;}

    .transmision{font-size: 1em;}

    .contenedor-fecha div{font-size: 1em;}

    #texto .contenedor{
      max-width: 700px;}

    #fecha-hora .contenedor{
      max-width: 700px;}

    #invitados .contenedor{
      max-width: 700px;}

    #moderadora .contenedor{
      max-width: 700px;}

    .contenedor-invitados{
      align-items: flex-start;}
  }

  @media all and (max-width:425px) {

    h1{
      font-size: 1.7em;
      text-align: center;}

    h2{
      font-size: 1.7em;
      text-align: center;}

    h3{font-size: 1.5em}

    .moderadora h3{font-size: 1.5em}

    h4{
      font-size: 1.2em;
      padding: 0.5em;}

    header .contenedor{
      width: 100%;
      max-width: 400px;
      padding: 1em;}

    .logo:nth-child(1){width: 30%;}

    .logo:nth-child(1) img{width: 70%;}

    .logo:nth-child(2){
      width: 70%;
      display:  flex;
      justify-content: flex-end;}

    .logo:nth-child(2) img{
      width: 90%;}

    .banner-principal{
      display: flex;
      align-items: flex-start;
      background-image: url(img/banner-mobile.jpg);
      padding: 1em 0;
      height: 700px;}

    .banner-principal .contenedor{
      justify-content: center;
      align-items: flex-start;
      max-width: 400px;;}

    .banner-texto{
      width: 100%;
      justify-content: center;
      margin-bottom: 20em;}

    .bajada{
      width: 90%;
      padding: 0.5em 0;}

    .transmision{
      width: 90%;
      font-size: 1em;}

    #texto .contenedor{
      max-width: 400px;}

    #fecha-hora .contenedor{
      max-width: 400px;}

    .fecha{
      width: 50%;
      margin-right: 1.5em;}

    .fecha img{width: 80%}

    #invitados .contenedor{
      max-width: 400px;}

    .contenedor-invitados{
      flex-direction: column;
      align-items: center;}

    .invitado{width: 60%;}

    .invitado p{
      text-align: center;}

    .invitado:nth-child(1) h4{
      padding: 0.5em 1.5em;}

    #moderadora .contenedor{
      max-width: 400px;}

    .campo-llenar{width: 80%;}

    .texto-autorizacion{
      width: 80%;
      text-align: center;}

    .texto-registro{
      width: 80%;
    }

  @media all and (max-width: 375px) {

    h1{
      font-size: 1.7em;
      text-align: center;}

    h2{
      font-size: 1.5em;
      text-align: center;}

    h3{font-size: 1.2em}

    .banner-principal{
      height: 800px;}

    .banner-principal .contenedor{
      justify-content: center;
      align-items: flex-start;
      max-width: 320px;;}

    .banner-texto{
      width: 100%;
      justify-content: center;
      margin-bottom: 25em;}

    .bajada{
      width: 100%;}

    .transmision{
      width: 90%;
      text-align: right;
      font-size: 1em;}

    .transmision img{
      padding: 0 0.3em;}
  }

  @media all and (max-width: 320px) {

    h1{
      font-size: 1.6em;
      text-align: center;}

    h2{
      font-size: 1.3em;
      text-align: center;}

    h3{font-size: 1.3em}

    .moderadora h3{font-size: 1.3em;}

    .banner-principal .contenedor{
      justify-content: center;
      align-items: flex-start;
      max-width: 300px;;}

    .banner-texto{
      width: 100%;
      justify-content: center;
      margin-bottom: 25em;}

    .bajada{
      width: 100%;}

    .transmision{font-size: 1em;}

    .contenedor-fecha{margin: 0.5em 0;}

    .contenedor-fecha div{font-size: 0.9em;}
  }