/*******************************/
/* GENERAL                     */
/*******************************/
html { font-size: 16px; }
body {
	font-family: 'Biennale-Regular', sans-serif;
	font-size: 1.1rem;
	color: #fff;

	background-image: url('../img/bg.jpg');
	background-color: #151544;
	background-size: cover !important;
    background-position: top center;
	background-repeat: no-repeat;
	background-attachment: fixed;

	height: 100vh;
	margin: 0;
	padding: 0;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: antialiased;
	text-rendering: optimizeLegibility;
}

a, button, .button {
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
	-webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
	-moz-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
	-o-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
a {
	outline: none;
	color: #001c46;
}
a:focus, a:hover { color: #2762f8; }


/*******************************/
/* STRUCTURE                   */
/*******************************/
@media ( max-width: 599px ) { .grid-container { padding: 40px 20px; } }
@media ( min-width: 600px ) { .grid-container { padding: 40px 20px; } }


/*******************************/
/* TYPOGRAPHY                  */
/*******************************/
.text-light { color: #fff; }
.text-blue  { color: #1978ff; }

p {
	font-size: 1.10rem;
	color: #fff;
}

.lead {
	font-family: 'Biennale-Regular', sans-serif;
	font-size: 1.125rem;
	line-height: 1.5;
}

.subs {
	font-family: 'Biennale-Regular', sans-serif;
	font-size: 0.8rem;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Biennale-Regular', sans-serif;
	letter-spacing: -2.5px;
	font-weight: normal;
	color: #fff;
	line-height: 1.1;
	margin-bottom: 20px;
}
h1 { font-size: 2.8rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 1.3rem; letter-spacing: -2px; }
h4 { font-size: 1.5rem; letter-spacing: 0; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1.1rem; }

@media ( min-width: 600px ) {
	h1 { font-size: 3rem; }
	h2 { font-size: 2.8rem; }
}
@media ( min-width: 768px ) {
	h1 { font-size: 3.6rem; }
	h2 { font-size: 3rem; }
	h3 { font-size: 1.8rem; --letter-spacing: 0; }
}
@media ( min-width: 1024px ) {
	h1 { font-size: 4rem; }
	h2 { font-size: 3.2rem; }
	h3 { font-size: 2.8rem; }
}
@media ( min-width: 1280px ) {
	h1 {
		font-size: 3.75rem;
		letter-spacing: -2px;
		line-height: 1;
	}

	h2 { font-size: 3rem; letter-spacing: -2px; }
	h3 { font-size: 2.8rem; }
	h4 { font-size: 1.5rem; }
}


/*******************************/
/* BUTTONS                     */
/*******************************/
.button, button {
	font-family: 'Biennale-Regular', sans-serif;
	font-size: 0.95rem;

	text-rendering: geometricPrecision;
	background-color: #2762f8;
	border: 0px transparent;
	color: #fff;

	border-radius: 100px;
	padding: 15px 30px;
	margin: 0;
}
.button:hover, .button:focus,
button:hover, button:focus { background-color: #214bb7; }

.button.hollow {
	border: 2px solid #fff;
	color: #fff;
}
.button.hollow:hover, .button.hollow:focus {
	background-color: #fff;
	color: #000;
	border: 2px solid transparent;
}

@media ( min-width: 480px ) {
	.button, button { width: auto; }
}

.button.huge  {
	font-size: 1.3rem;
	margin-top: 20px;
	padding: 20px 60px;
}


/*******************************/
/* CONTENT                     */
/*******************************/
.header img { width: 110px; }

.form { margin-top: 14vh; }
.form label { display: none; visibility: hidden; }

.form a { color: #fff; }
.form a:hover { color: #1978ff; }

/* Forzar que los campos se apilen en móvil */
@media (max-width: 640px) {
    .wpforms-field.wpforms-one-half {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-left: 0 !important;
    }
}

.wpforms-submit-container { margin-top: 4px !important; }

.form-restoo { padding: 3px 0 !important; }

.form-restoo input,
.form-submit {
	max-width: 100% !important;
	width: 100% !important;
	height: 55px !important;
	border-radius: 30px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}
.form-restoo input {
	opacity: 0.8 !important;
	color: #000 !important;
}

.form-restoo input:focus { opacity: 1 !important; }

.button.button-gradient {
	background: linear-gradient(to bottom, #1978ff, #1365d8);
	line-height: 1.5;
	height: 3.43rem;
	padding-left: 40px;
	padding-right: 40px;
}
.button.button-gradient:hover {
	background: linear-gradient(to bottom, #1365d8, #1978ff);
	color: #fff;
}

.form-restoo input::placeholder { color: #000 !important; }

.form-submit { background: linear-gradient(to bottom, #1978ff, #1365d8) !important; margin-top: 20px !important; }
.form-submit:hover { background: linear-gradient(to bottom, #1365d8, #1978ff) !important; }

.wpforms-error {
	color: #fff !important;
	margin-top: 5px !important;
	margin-bottom: 10px !important;
}


/*******************************/
/* REVEAL                      */
/*******************************/
.reveal {
	border-radius: 15px;
	padding: 50px 20px;
}

.reveal h2,
.reveal h3 {
	font-family: 'Biennale-Semibold', sans-serif;
	color: #000;
	letter-spacing: -1px;
}
.reveal h2 { font-size: 1.8rem; }
.reveal h3 { font-size: 1.5rem; }
.reveal p {
	font-family: 'Biennale-Regular', sans-serif;
	color: #666;
	letter-spacing: 0px;
}
.reveal p a { color: #2762f8 ;}

.reveal .close-button {
	padding: 20px;
	background-color: transparent;
}
@media (max-width: 639px) {
	.reveal { border-radius: 0; }
}


/*******************************/
/* FOOTER                      */
/*******************************/
.footer .menu li a,
.footer .menu .menu-text {
	color: #fff;
	font-size: 0.9rem;
	font-weight: inherit;
}