/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    margin: 0;
    padding: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}


/*Estilos generales*/

html {
    font-size: 16px;
}

body {
    width: 100%;
    text-align: center;
    font-size: 1rem;
}

img {
    max-width: 100%;
}

.content-1420-p {
    max-width: 1420px;
    margin: 0 auto;
    clear: both;
    text-align: left;
    padding: 0 90px;
}

#cabecera {
    width: 100%;
    padding-top: 65px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
}

#cabecera .logo-bbva-cab {
    grid-column: 1/2;
}

#cabecera .logo-joly-cab {
    grid-column: 2/3;
}

#cabecera ul.menu {
    font-family: 'Oswald', sans-serif;
    grid-column: 3/4;
    justify-self: end;
    align-self: center;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

#cabecera ul.menu li {
    text-transform: uppercase;
    font-size: 1rem;
    margin-right: 50px;
}

#cabecera ul.menu li:last-child {
    margin-right: 0px;
}

#cabecera ul.menu li a {
    color: #004481;
    text-decoration: none;
}

#cabecera ul.menu li a:hover {
    opacity: 0.7;
}

#titulo {
    width: 100%;
    margin-top: 50px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
}

#titulo .caja-logo {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: 1fr 1f 1fr;
    grid-column-gap: 15px;
}

#titulo .img-hoja-titulo {
    grid-column: 1/2;
    grid-row: 1/-1;
}

#titulo h1 {
    grid-column: 2/3;
    grid-row: 1/-1;
    font-family: 'Oswald', sans-serif;
}

#titulo h1 span.tipo1 {
    font-size: 2rem;
    color: #333333;
    display: block;
}

#titulo h1 span.tipo2 {
    text-transform: uppercase;
    font-size: 3.8125rem;
    color: #333333;
    margin-bottom: 15px;
    display: block;
}

#titulo h1 span.tipo3 {
    text-transform: uppercase;
    font-size: 5.125rem;
    font-weight: bold;
}

#apertura {
    width: 100%;
    margin-top: 65px;
    background: #004481;
}

.content-1420-p-grid {
    max-width: 1420px;
    margin: 0 auto;
    clear: both;
    text-align: left;
    padding: 50px 90px;
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    grid-template-rows: auto auto;
    grid-row-gap: 40px;
    justify-items: start;
    position: relative;
}

.content-1420-p-grid p {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.5rem;
    line-height: 1.6em;
    font-weight: 300;
    color: #FFF;
    grid-column: 1/3;
    grid-row: 1/2;
    width: 90%;
}

.content-1420-p-grid button {
    border: 1px solid #fff;
    border-radius: 50px;
    padding: 10px 70px;
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
    grid-column: 1/2;
    grid-row: 2/3;
    justify-self: stretch;
    background: transparent;
    color: #FFF;
}

.content-1420-p-grid button a {
    color: #fff;
    text-decoration: none;
}

.content-1420-p-grid button a:hover {
    opacity: 0.7;
}

.content-1420-p-grid .img-apertura {
    grid-column: 3/4;
    grid-row: 2/3;
    justify-self: stretch;
    background: transparent;
    color: #FFF;
    position: absolute;
    right: 0;
    top: -450px;
    ;
}

#categorias {
    width: 100%;
    padding: 90px 0;
}

.cont-1420-p-grid-cat-titulo {
    max-width: 1420px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 120px 1fr;
}

#categorias .caja-titulo {
    grid-column: 1/2;
    grid-row: 1/2;
}

#categorias .caja-titulo h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 3.125rem;
    font-weight: 300;
    text-transform: uppercase;
}

#categorias .caja-titulo .linea {
    border-top: 1px solid #027deb;
    width: 35%;
    margin: 20px 0 0 0;
}

#categorias p {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.3125rem;
    line-height: 1.6em;
    font-weight: 300;
    color: #000;
    grid-column: 1/3;
    grid-row: 2/3;
}

#categorias p span {
    font-weight: 700;
}

#categorias .listado-categorias {
    margin-top: 40px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}

#categorias .item-categoria {
    background: #FFF;
    display: flex;
    flex-direction: column;
    text-align: center;
    width: 21%;
    padding: 0 2% 15px;
}

#categorias .item-categoria:hover {
    background: #f4f7fa;
}

#categorias .item-categoria img {
    margin-bottom: 10px;
    max-height: 100%;
    object-fit: contain;
}

#categorias .item-categoria h3 {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.5rem;
    line-height: 1.4em;
    font-weight: 700;
    margin-bottom: 30px;
}

#categorias .item-categoria p {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.1rem;
    line-height: 1.5em;
    font-weight: 300;
}

#instrucciones {
    width: 100%;
    background: #f4f7fa;
    padding: 90px 0;
}

.content-1420-p-instrucciones {
    max-width: 1420px;
    margin: 0 auto;
    clear: both;
    text-align: left;
    padding: 0 90px;
    background: url('img/bg-instrucciones.png');
    background-repeat: no-repeat;
    background-position: right top 145px;
}

.cont-1420-p-grid-inst-titulo {
    max-width: 1420px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 120px 1fr;
}

#instrucciones .caja-titulo {
    grid-column: 1/2;
    grid-row: 1/2;
}

#instrucciones .caja-titulo h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 3.125rem;
    font-weight: 300;
    text-transform: uppercase;
}

#instrucciones .caja-titulo .linea {
    border-top: 1px solid #027deb;
    width: 35%;
    margin: 20px 0 0 0;
}

#instrucciones p {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.3125rem;
    line-height: 1.6em;
    font-weight: 300;
    color: #000;
    grid-column: 1/3;
    grid-row: 2/3;
}

#instrucciones .caja-instrucciones {
    margin-top: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

#instrucciones .caja-instrucciones .instruccion {
    background: #FFF;
    padding: 40px 20px 30px;
    display: flex;
    flex-direction: column;
}

#instrucciones .ins1 {
    grid-column: 1/2;
    grid-row: 1/2;
}

#instrucciones .ins2 {
    grid-column: 2/3;
    grid-row: 1/2;
}

#instrucciones .ins3 {
    grid-column: 1/2;
    grid-row: 2/3;
}

#instrucciones .ins4 {
    grid-column: 2/3;
    grid-row: 2/3;
}

#instrucciones .caja-instrucciones .instruccion h4 {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.375rem;
    line-height: 1.5em;
    font-weight: 700;
    text-align: center;
}

#instrucciones .caja-instrucciones .instruccion .linea {
    width: 15%;
    margin: 20px auto;
    border-top: 1px solid #027deb;
}

#instrucciones .caja-instrucciones .instruccion p {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.125rem;
    line-height: 1.5em;
    font-weight: 300;
    text-align: center;
}

#instrucciones .caja-instrucciones .instruccion p span {
    font-weight: 700;
}

#formulario {
    width: 100%;
    background: #fff;
    padding: 90px 0;
}

.cont-1420-p-grid-form-titulo {
    max-width: 1420px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 120px 1fr;
}

#formulario .caja-titulo {
    grid-column: 1/2;
    grid-row: 1/2;
}

#formulario .caja-titulo h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 3.125rem;
    font-weight: 300;
    text-transform: uppercase;
}

#formulario .caja-titulo .linea {
    border-top: 1px solid #027deb;
    width: 35%;
    margin: 20px 0 0 0;
}

#formulario p {
    font-family: 'Oxygen', sans-serif;
    font-size: 1.3125rem;
    line-height: 1.6em;
    font-weight: 300;
    color: #000;
    grid-column: 1/3;
    grid-row: 2/3;
}

#formulario .cont-formulario {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-top: 45px;
    align-items: flex-start;
    max-width: 1100px;
}

#formulario h5 {
    font-family: 'Oswald', sans-serif;
    font-size: 2.25rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 15px;
}

#formulario .cont-candidatura {
    padding: 25px 0;
    display: grid;
    grid-template-columns: auto;
    width: 50%;
    margin-right: 5%;
}

#formulario .nombre-campo {
    grid-column: 1/-1;
    font-family: 'Oswald', sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 15px 0 15px;
    color: #484848;
}

#formulario input[type="radio"] {
    display: inline;
}

#formulario label.labelradio {
    display: inline;
    font-family: 'Oxygen', sans-serif;
    font-size: 0.875rem;
}

#formulario .fila-form {
    grid-column: 1/-1;
    margin-bottom: 5px;
}

#formulario input[type="text"],
#formulario input[type="tel"],
#formulario input[type="email"] {
    border: 1px solid #ebebeb;
    border-radius: 5px;
    padding: 10px 2%;
    font-family: 'Oswald', sans-serif;
    color: #000;
    width: 96%;
    margin-bottom: 10px;
}

#formulario select {
    border: 1px solid #ebebeb;
    border-radius: 5px;
    padding: 10px 10px;
    font-family: 'Oswald', sans-serif;
    color: #000;
    width: 100%;
    margin-bottom: 10px;
}

#formulario textarea {
    border: 1px solid #ebebeb;
    border-radius: 5px;
    padding: 10px 10px;
    font-family: 'Oswald', sans-serif;
    color: #000;
    width: 100%;
    height: 75px;
}

#formulario .fila-form p {
    font-family: 'Oxygen', sans-serif;
    font-size: 0.8rem;
    line-height: 1.5em;
    color: #000;
    margin-bottom: 20px;
}

#formulario .btnadjuntar {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    background: #004481;
    padding: 7px 20px;
    color: #FFF;
    text-transform: uppercase;
    margin: 15px 0;
}

#formulario .textoadjunto {
    font-family: 'Oxygen', sans-serif;
    font-size: 0.875rem;
    line-height: 1.5em;
    color: #000;
    margin: 15px 0 0;
}

#formulario .no-margen-top {
    margin-top: 0;
}

#formulario .cont-contacto {
    background: #f4f7fa;
    padding: 25px 2% 25px 2%;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 1fr;
    width: 42%;
    border-radius: 30px;
}

#formulario .fila-dividida {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#formulario .columna {
    display: flex;
    flex-flow: column;
    width: 45%;
}

#formulario .cont-pie-form {
    margin-top: 15px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: 1fr 1fr;
    grid-column-gap: 20px;
    max-width: 1100px;
}

#formulario .g-recaptcha {
    grid-column: 1/2;
    grid-row: 1/2;
    justify-self: start;
}

#formulario .cont-bases {
    grid-column: 2/3;
    grid-row: 1/2;
    justify-self: start;
    align-self: center;
}

#formulario input[type="check"] {
    display: inline;
}

#formulario label.labelcheck {
    display: inline;
    font-family: 'Oxygen', sans-serif;
    font-size: 0.875rem;
}

#formulario label.labelcheck a {
    color: #000;
    text-decoration: underline;
}

#formulario label.labelcheck a:hover {
    text-decoration: none;
}

#formulario .btn-envio {
    background: #004481;
    border-radius: 20px;
    border: 0;
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 10px 75px;
    color: #FFF;
    grid-column: 3/4;
    grid-row: 1/2;
    justify-self: end;
    align-self: center;
}

/* #formulario .statusMsg {
    grid-column: 1/-1;
    grid-row: 2/3;
} */


#formulario .statusMsg p.alert {
    grid-column: 1/-1;
    grid-row: 2/3;
    padding: 20px 2%;
    font-size: 1.2rem;
    font-weight: bold;
    font-family: 'Oswald', sans-serif;
    text-align: center;
    margin: 10px auto;
    display: block;
    line-height: 1.5em;
    border: 3px solid #f53b3b;
    color: #f53b3b;
}

#formulario .statusMsg p.alert-success {
    border: 3px solid #004481;
    color: #004481;
}

#formulario .statusMsg p.alert-danger {
    border: 3px solid #f53b3b;
    color: #f53b3b;
}

#pie {
    width: 100%;
    background: #333333;
    padding: 60px 0;
}

.cont-1420-p-grid-pie {
    max-width: 1420px;
    margin: 0 auto;
    clear: both;
    text-align: left;
    padding: 0 90px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    align-items: end;
}

#pie .caja-logo {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: 1fr 1fr;
    grid-column-gap: 15px;
}

#pie .img-hoja-pie {
    grid-column: 1/2;
    grid-row: 1/-1;
}

#pie h1 {
    grid-column: 2/3;
    grid-row: 1/-1;
    font-family: 'Oswald', sans-serif;
}

#pie h1 span.tipo1 {
    font-size: 1.0625rem;
    color: #fff;
    display: block;
    font-weight: 300;
}

#pie h1 span.tipo2 {
    text-transform: uppercase;
    font-size: 2rem;
    color: #fff;
    margin-bottom: 5px;
    display: block;
    font-weight: 300;
}

#pie h1 span.tipo3 {
    text-transform: uppercase;
    font-size: 2.62rem;
    font-weight: bold;
    color: #fff;
}

#pie .caja-logos {
    grid-column: 3/4;
    grid-row: 1/-1;
    justify-self: end;
    display: flex;
    flex-flow: column;
}

#pie .caja-logos p {
    font-family: 'Oswald', sans-serif;
    font-size: 0.9375rem;
    color: #FFF;
    text-transform: uppercase;
    margin-bottom: 15px;
}

#pie .caja-logos .imagenes {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#pie .caja-logos .logo-bbva-pie {
    margin: 0 15px 0 40px;
}

#pie .caja-logos .logo-joly-pie {}

#pie .caja-logos p.texto-pie {
    font-family: 'Oxygen', sans-serif;
    font-size: 0.75rem;
    color: #999999;
    margin-top: 15px;
    text-transform: none;
}

#pie .caja-logos p.texto-pie a {
    color: #999999;
    text-decoration: underline;
}

#pie .caja-logos p.texto-pie a:hover {
    text-decoration: none;
}

.fin_participacion {
    font-family: 'Oxygen', sans-serif;
    font-size: 2rem;
    color: #000;
    text-align: center;
    padding: 100px 0;
    line-height: 1.5em;
}


/*Estilos auxiliares*/

.textooculto {
    text-indent: -9999px;
}