:root {

	/* Propios del proyecto */

	--font-primary: 'Open Sans', sans-serif;
	--font-secondary: 'Source Sans 3', sans-serif;

	--bulma-body-font-size: 1.15rem!important;

	--color-positive-blue-01: #28ffff;
	--color-positive-blue-02: #004cd0;
	--color-positive-blue-03: #0a0b33;
	--color-negative-blue-01: #b5ffff;
	--color-negative-blue-02: #00a8ff;
	--color-negative-blue-03: #0a26f8;

	--color-semiblack: #343434;
	--color-whitesmoke: #F1F1F1;
	--my-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;

}

footer {
	color: white; 
	background-color: var(--color-positive-blue-03);
	padding: 25px 0 25px 0;
}

#modal-loader { z-index:9999; }

h1, h2, h3, h4, h5, h6 { font-family: var(--font-secondary); color: var(--color-positive-blue-02)!important; }

a img { transition: all 0.3s ease; }
a img:hover { scale: 1.05; }

.rounded { border-radius: 8px; }
.justify-center { justify-content: center; }

/* TOP */
#top { width:100%; margin: 0 auto; position:fixed; top:0; z-index: 10; color: white; background: rgba(2, 138, 253, 0.8); padding: 15px 0; }
#top .top-content { max-width: 1366px; margin: 0 auto; }
#top .top-content a { text-decoration: none; color: white; }

/* Header */
.header-general { margin-bottom: 260px; }
.header-general .header-menu a { color: var(--color-positive-blue-03)!important; }
.header-general .header-menu a:hover { color: white!important; }
#header-logo-mobile { width: 35%; position: absolute; z-index: 31; left: 3%; top: 0px; }

/* MENU & LOGO */
.header-logo { width: 180px }
#nav-content { max-width: 1366px; width:100%; margin: 0 auto; position: absolute; top:120px; left: 0; right: 0; z-index: 5;}

.navbar { min-height: 40px; }
a.navbar-item { color: white!important; background: rgba(2, 138, 253, 0.2)!important; transition: all 0.3s ease; border-radius: 6px; margin: 0 5px; }
a.navbar-item:hover { color:var(--color-positive-blue-01)!important; background: rgba(40, 255, 255, 0.2)!important; }

a.navbar-item-general { background: var(--color-negative-blue-03)!important; }
a.navbar-item-general:hover { color:var(--color-positive-blue-03)!important; background: rgba(40, 255, 255, 1)!important; }

/*
#menu { max-width: 1366px; margin: 0 auto; width:100%; position: absolute; top: 100px; z-index: 2; left: 0; right: 0;}
#menu .menu-content { max-width: 1366px; margin: 0 auto; }
#menu .header-logo { width: 300px; padding-top: 10px; }
#menu .header-menu { display: flex; flex-wrap:nowrap; justify-content: flex-end; align-items: center; gap: 0 15px; }
#menu .menu-item {  text-transform: uppercase; font-weight: bold; }
#menu .menu-item a { color: white; background: rgba(2, 138, 253, 0.2); padding: 10px 15px; transition: all 0.3s ease; }
#menu .menu-item a:hover { background: rgba(2, 138, 253, 0.8); }
*/

/* En el escritorio, no muestro el logo en el menú de bulma */
.navbar-brand { display: none; }

.body-content { max-width: 1366px; margin: 30px auto; }

/* Footer */
ul.footer-links { margin: 0; }
ul.footer-links li { list-style: none; }
.footer-social-icon { width: 24px; }
.footer-links a { color: white; transition: all 0.3s ease; padding: 0 10px; }
.footer-links a:hover { color: var(--color-tertiary); }
footer hr {  opacity: 0.1; }
.language-selector { padding: 5px 0 0 10px; }
.language-selector img { width: 24px; }
/* Clases generales */
.avatar { border-radius: 10px; box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px; }
.block-margin { margin: 100px auto!important; }
.is-fullwidth { width:100%; }
.is-fullheight { min-height: 80vh; }
.margin { margin: 40px auto;}
.padding { padding: 50px 0; }
.line-height { line-height: 1.6em;}
 
/* Colores */
.color-primary { color: var(--color-positive-blue-01); }
.color-secondary { color: var(--color-positive-blue-02); }
.color-tertiary { color: var(--color-positive-blue-03); }
.background-primary { background-color: var(--color-positive-blue-01); }
.background-secondary { color:white; background-color: var(--color-positive-blue-02); }
.background-tertiary { background-color: var(--color-positive-blue-03); }

/* Background imagenes */
.background-image-01 { color:white; background-image: url('../images/background-01.jpg'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.background-image-02 { background-image: url('../images/background-02.jpg'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.background-image-03 { color: white; background-image: url('../images/background-03.jpg'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.background-image-04 { background-image: url('../images/background-04.jpg'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.background-image-05 { background-image: url('../images/background-05.jpg'); background-repeat: no-repeat; background-size: cover; background-position: center; }

.box-tertiary { background-color: var(--color-negative-blue-01); padding: 25px; border-radius: 12px; }

/* Home Sliders: Swiper */
.swiper {
	width: 100%;
	height: 750px;
	border-bottom: 5px solid var(--color-tertiary);
}
.home-slider-title {
	width: 100%;
	color: white;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 2.9rem;
	line-height: 1.7rem;
	position: relative;
	text-shadow: rgba(0, 0, 0, 0.5) 0px 4px 8px;
	top:45%;
}
.home-slider-title2 { 
	width: 100%;
	color: white;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 3.5rem;
	line-height: 4rem;
	letter-spacing: 5%;
	position: relative;
	text-shadow: rgba(0, 0, 0, 0.5) 0px 4px 8px;
	top:47%; 
}
.home-slider-subtitle {
	width: 100%;
	color: white;
	text-transform: uppercase;
	text-align: center;
	font-size: 2.3rem;
	font-weight: bold;
	letter-spacing: 0.5%;
	color: var(--color-positive-blue-01);
	position: relative;
	text-shadow: rgba(0, 0, 0, 0.5) 0px 4px 8px;
	top:50%;
}

.contact-home-item { padding-bottom: 15px; }
.contact-home-item a { color: white; opacity: 0.7; transition: all 0.5s ease; }
.contact-home-item a:hover { opacity: 1; }

/* Countdown */
.countdown-background { background: url('../images/background-05.jpg'); background-repeat: no-repeat; background-size: cover; background-position: center; width: 100%; min-height: 100%; }
.countdown-number { background-color: rgba(255, 255, 255, 0.9); padding: 25px 10px 25px 10px; font-size: 3rem; color: var(--color-negative-blue-03); border-radius: 12px; }

/* Speakers */
.swiper-speakers {
	width: 450px;
}

/* Commitee */
.commitee-image { position: relative; width: 100%; padding-top: 100%;  }
.commitee-image img { border-radius: 8px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: all 0.2s ease; }

/* News */
.news-image { position: relative; width: 100%; padding-top: 75%;  }
.news-image img { border-radius: 8px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: all 0.2s ease; }

/* Program */
.program-item { padding: 30px 0; }
.program-hour { color: #666666; padding-bottom: 5px; }
.program-type { color: var(--color-negative-blue-02); padding-bottom: 5px; text-transform: uppercase; font-size: 0.9rem; }
.program-title { font-size: 1.6rem; font-weight: var(--bulma-weight-semibold); /*color: var(--color-positive-blue-02);*/ }
.program-location { font-size: 0.9rem; color: var(--color-positive-blue-03); padding: 10px; background-color: var(--color-negative-blue-01); border-radius: 8px; text-transform: uppercase; }

/* Registration */
.registration-type { cursor:pointer; transition: all 0.5s ease; }
.registration-type:hover { background-color: var(--color-negative-blue-01); }
.registration-type-selected { border: 3px solid var(--color-negative-blue-02); }

.payment-method { cursor:pointer; transition: all 0.5s ease; }
.payment-method:hover { background-color: var(--color-negative-blue-01); }
.payment-method-selected { border: 3px solid var(--color-negative-blue-02); }

/* Button Scroll to Top */
#btnScrollTop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 30px;
	z-index: 99;
	font-size: 24px;
	border: none;
	outline: none;
	background-color: var(--color-negative-blue-03);
	color: white;
	cursor: pointer;
	padding: 8px 15px 10px 15px;
	border-radius: 8px;
  }
  
  #btnScrollTop:hover {
	background-color: var(--color-positive-blue-01);
  }

/* Mobile queries */
@media (max-width:960px) {

	#header-content { display: none!important }
	#nav-content { top: 60px; }
	#logo-column { display: none; }
	#div-countdown { margin-top: 80px; }

	.header-general { margin-bottom: 125px; }

	.margin { margin: 5px auto!important;}

	.body-content { margin: 0 1.5em; }
	.is-centered-mobile { text-align: center; }

	.navbar-brand { display: flex; }
	.has-text-centered-mobile { text-align: center!important; justify-content: center; }

	.home-slider-title { font-size: 1.8rem; line-height: 2rem; }
	.home-slider-title2 { font-size: 1.8rem; line-height: 2rem; }
	.home-slider-subtitle { font-size: 1.6rem; line-height: 2rem; }

	/*
	body { text-align: center; }
	#header-content { display: none!important }
	#logo-column { display: none; }
	.body-content { margin: 0 1.5em; }
	.navbar-brand { display: flex; }
	.has-text-centered-mobile { text-align: center; }
	*/

}

/* Menú responsive */
@media only screen and (max-width: 1023px) {

	.navbar-start { padding: 0 1em; }
	.navbar-item, .navbar-link { color: #343434; }
	.navbar-link:not(.is-arrowless)::after { border-color: #343434!important; }
	.navbar-dropdown .navbar-item { padding: 0.5rem 1rem; }

	.navbar-burger-general { color: black!important; }

	a.navbar-item { color: black!important; background: none!important; text-align: center!important; }
	a.navbar-item:hover { color: var(--color-negative-blue-01)!important; background-color: var(--color-positive-blue-02)!important; }
	
	/* FIX para el menú movil siempre abierto */
	.navbar-dropdown .is-active { display: block; }
	.navbar-dropdown:not(.is-active) { display: none; }

	.navbar-menu { margin-top: 15px;  }

	.swiper-speakers {
		width: 100%;
	}

}