

/* ESTILOS GENERALES ------------------------------------------------  */
html {
	scroll-behavior: smooth;
}

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;	
}

p {
	margin: 0;
}

ul, ol {
	margin-left: 30px;
	text-align: left;
}

/* ESTILOS GENERALES ------------------------------------------------  */











/* COLORES CORPORATIVOS ------------------------------------------------  */
:root {
	--color-01: #3399CC; /* azul */
	--color-02: #F90; /* naranja */
	--color-03: #FF0000; /* rojo */
	--color-04: #d8ad51; /* oro */
}
/* COLORES CORPORATIVOS ------------------------------------------------  */







/* FUENTES ------------------------------------------------------------  */
.fuente-01 {
	font-family: 'Oswald', sans-serif;
}
.fuente-02 {
	font-family: 'Shadows Into Light', cursive;
}
.fuente-03 {
	font-family: 'Italianno', cursive;
	line-height: 90%;
}
.fuente-04 {
	font-family: 'Orbitron', sans-serif;
}
.fuente-05 {
	font-family: 'Montserrat', sans-serif;
}
/* FUENTES ------------------------------------------------------------  */













/* COLORES ------------------------------------------------------------  */
.color-01 {
	color: var(--color-01);
}
.color-02 {
	color: var(--color-02);
}
.color-03 {
	color: var(--color-03);
}
.color-blanco {
	color: #FFF;
}
.color-negro {
	color: #000;
}
.color-999 {
	color: #999;
}
.color-666 {
	color: #666;
}
.color-333 {
	color: #333;
}
.color-amarillo {
	color: #FFCC00;
}
.color-naranja {
	color: #FF9900;
}
.color-rojo {
	color: #FF0000;
}
.color-marron {
	color: #CC6600;
}
.color-verde {
	color: #669900;
}
.color-azul {
	color: #336699;
}
.color-fuccia {
	color: #FF00CC;
}
.color-morado {
	color: #660099;
}
/* COLORES ------------------------------------------------------------  */











/* TAMAÑOS ------------------------------------------------------------  */
.tamano-10 {
	font-size: 10px;
	line-height: 120%;
}
.tamano-11 {
	font-size: 11px;
	line-height: 120%;
}
.tamano-12 {
	font-size: 12px;
	line-height: 120%;
}
.tamano-13 {
	font-size: 13px;
	line-height: 120%;
}
.tamano-14 {
	font-size: 14px;
	line-height: 120%;
}
.tamano-15 {
	font-size: 15px;
	line-height: 120%;
}
.tamano-16 {
	font-size: 16px;
	line-height: 120%;
}
.tamano-17 {
	font-size: 17px;
	line-height: 120%;
}
.tamano-18 {
	font-size: 18px;
	line-height: 120%;
}
.tamano-19 {
	font-size: 19px;
	line-height: 120%;
}
.tamano-20 {
	font-size: 20px;
	line-height: 120%;
}
.tamano-25 {
	font-size: 25px;
	line-height: 120%;
}
.tamano-30 {
	font-size: 30px;
	line-height: 120%;
}
.tamano-35 {
	font-size: 35px;
	line-height: 120%;
}
.tamano-40 {
	font-size: 40px;
	line-height: 120%;
}
.tamano-45 {
	font-size: 45px;
	line-height: 120%;
}
.tamano-50 {
	font-size: 50px;
	line-height: 120%;
}
.tamano-55 {
	font-size: 55px;
	line-height: 120%;
}
.tamano-60 {
	font-size: 60px;
	line-height: 120%;
}
.tamano-65 {
	font-size: 65px;
	line-height: 120%;
}
.tamano-70 {
	font-size: 70px;
	line-height: 120%;
}
.tamano-80 {
	font-size: 80px;
	line-height: 120%;
}
.tamano-90 {
	font-size: 90px;
	line-height: 120%;
}
/* TAMAÑOS ------------------------------------------------------------  */










/* GROSOR ------------------------------------------------------------  */
.grosor-01 {
	font-weight: lighter;
}
.grosor-02 {
	font-weight: normal;
}
.grosor-03 {
	font-weight: bold;
}
.grosor-04 {
	font-weight: 900;
}
/* GROSOR ------------------------------------------------------------  */











/* FONDOS -----------------------------------------------------------------------------------------  */
.fondo-01 {
	background-color: var(--color-01);
}
.fondo-02 {
	background-color: var(--color-02);
}
.fondo-03 {
	background-color: var(--color-03);
}
.fondo-blanco {
	background-color: #FFF;
}
.fondo-negro {
	background-color: #000;
}
.fondo-F1F1F1 {
	background-color: #F1F1F1;
}
.fondo-F5F5F5 {
	background-color: #F5F5F5;
}
.fondo-F9F9F9 {
	background-color: #F9F9F9;
}
.fondo-amarillo {
	background-color: #FFCC00;
}
.fondo-naranja {
	background-color: #FF9900;
}
.fondo-rojo {
	background-color: #FF0000;
}
.fondo-marron {
	background-color: #CC6600;
}
.fondo-verde {
	background-color: #669900;
}
.fondo-azul {
	background-color: #336699;
}
.fondo-fuccia {
	background-color: #CC66FF;
}
.fondo-morado {
	background-color: #FF00CC;
}
/* FONDOS -----------------------------------------------------------------------------------------  */










/* PERSONALIZAR SCROLL ------------------------------------------------  */
body::-webkit-scrollbar {
	width: 15px;
	background-color: rgba (0,0,0,0.3);
}
body::-webkit-scrollbar-thumb {
	background: #CCC;
	border-radius: 0px;
}
/* PERSONALIZAR SCROLL ------------------------------------------------  */






/* DIV CUADRADO RESPONSIVE ------------------------------------------------  */
.square {
  position: relative;
  width: 100%;
}

.square:after {
  content: '';
  display: block;
  padding-bottom: 100%;
}
/* DIV CUADRADO RESPONSIVE ------------------------------------------------  */







/* ESQUINAS ------------------------------------------------------------  */
.imagen-esquinas-redondas {
	border-radius: 5px;
}
.cuadro-esquinas-redondas {
	border: thin solid #CCC;
	border-radius: 10px;
}
.cuadro-esquinas-vivas {
	border: thin solid #CCC;
}
/* ESQUINAS ------------------------------------------------------------  */










/* OCULTAR EN MOVIL ------------------------------------------------------------  */
.ocultar-en-movil {
	display: inline;
}
@media (max-width: 600px) {
  .ocultar-en-movil {
	display: none;
  }
}
/* OCULTAR EN MOVIL ------------------------------------------------------------  */









/* FORMULARIOS ------------------------------------------------------------  */
.celda-formulario {
	font-size: 16px;
	line-height: 120%;
	color: #666;
	background-color: #FFF;
	border: 1px solid #CCC;
	border-radius: 3px;
	min-height: 50px;
	padding: 15px;
	width: 100%;
	overflow: hidden;
}
/* FORMULARIOS ------------------------------------------------------------  */











/* BOTONES 1 ------------------------------------------------------------  */
.boton-01 {
	font-size: 18px;
	line-height: 120%;
	font-weight:100;
	color: #FFF;
	border-radius: 3px;
	border: none;
	background-color: var(--color-01);
	padding: 10px 30px;
	text-decoration: none;
	cursor: pointer;
	position: relative;
}
.boton-01:hover {
	opacity: 0.8;
	color: #FFF;
	transition: all .5s ease;
}


.boton-02 {
	font-size: 18px;
	line-height: 120%;
	font-weight:100;
	color: var(--color-01);
	border-radius: 3px;
	border: 1px solid var(--color-01);
	background-color: #FFF;
	padding: 10px 30px;
	text-decoration: none;
	cursor: pointer;
	position: relative;
}
.boton-02:hover {
	background-color: var(--color-01);
	color: #FFF;
	transition: all .8s ease;
}



.boton-03 {
	color: #fff;
	font-size: 18px;
	font-weight: 100;
	padding: 10px 30px;
	background-color: var(--color-01);
	position: relative;
	border: none;
}
.boton-03:before {
	content:"";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 0px;
	height: 100%;
	background: rgba(255, 255, 255, 0.1);
	transition: all 1s ease;
}
.boton-03:hover:before {
	width: 100%;
}
/* BOTONES 1 ------------------------------------------------------------  */










/* SCROLL SNAP ------------------------------------------------------------  */
.scroll-snap-slider
{
	display: flex;
	width: 100%;
	height: 100%;
	overflow-x: scroll;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	scroll-snap-type: X mandatory;
}
.scroll-snap-slider img
{
	width: 100%;
	object-fit: cover;
	scroll-snap-align: center;
}
.scroll-snap-slider::-webkit-scrollbar
{
	height: 7px;
	background-color: rgba(0, 0, 0, 0.9);
}
.scroll-snap-slider::-webkit-scrollbar-thumb
{
	background: var(--color-01);
	border-radius: 0px;
}
/* SCROLL SNAP ------------------------------------------------------------  */








/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */

.animacion-escala {
	transition: all 0.5s ease;
}
.animacion-escala:hover {
	transform: scale(1.06);
	box-shadow: 7px 7px 7px #999;
}

/* --------  */

.animacion-transparente {
	opacity: 0.5;
	transition: all 0.5s ease;
}
.animacion-transparente:hover {
	opacity: 1;
}

/* --------  */

.animacion-transparente-2 {
	transition: all 0.5s ease;
}
.animacion-transparente-2:hover {
	opacity: 0.5;
}

/* --------  */

.animacion-desplazamiento {
	transition: all 0.5s ease;
}
.animacion-desplazamiento:hover {
	transform: translate(50px);
}

/* --------  */

.cambio-imagen {
	filter: sepia(1);
	transition: all 0.5s ease;
}
.cambio-imagen:hover {
	filter: sepia(0);
}

/* --------  */

.escala-con-link
{
	overflow: hidden;
}
.escala-con-link img 
{
	transition: all 0.6s ease;
}
.escala-con-link:hover img
{
	transform: scale(1.2);
	filter: blur(25px);
	filter: brightness(0.2);
	z-index: 2;
}
.escala-con-link a
{
	display:flex;
	position: absolute;
	align-items: center;
	opacity: 0;
	font-size: 30px;
	color: #FFF;
	font-weight: bold;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
}
.escala-con-link:hover a
{
	opacity: 1;
	z-index: 1;
}


/* --------  */

.cambio-imagen-por-texto {
	position: relative;
	left: 0%;
	width: 100%;
	height: 0;
    padding-bottom: 65%;
	overflow: hidden;
}
.cambio-imagen-por-texto .imagen-tarjeta,
.cambio-imagen-por-texto .detalles-tarjeta {
	width: 100%;
	height: 100%;
	position: absolute;
	box-sizing: border-box;
	transition: .5s;
}
.cambio-imagen-por-texto .imagen-tarjeta {
	top:  0;
	left: 0;
}
.cambio-imagen-por-texto:hover .imagen-tarjeta {
	top:  0;
	left: -100%;
}
.cambio-imagen-por-texto .imagen-tarjeta img{
	width: 100%;
}
.cambio-imagen-por-texto .detalles-tarjeta {
	background: #000;
	top: 0;
	left: 100%;
	padding: 20px;
}
.cambio-imagen-por-texto:hover .detalles-tarjeta {
	background: #000;
	top: 0;
	left: 0%;
}




/* --------  */





/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */
/* ANIMACIONES ----------------------------------------------  */











/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */

/* FILTRO DE IMAGENES -------------------------------------------------------  */
#imagenesfiltro img {
  max-width: 200px;
  margin: 20px;
}
#laptop:checked ~ #imagenesfiltro .tablet, #laptop:checked ~ #imagenesfiltro .movil {
  display: none;
}

#tablet:checked ~ #imagenesfiltro .laptop, #tablet:checked ~ #imagenesfiltro .movil {
  display: none;
}

#movil:checked ~ #imagenesfiltro .tablet, #movil:checked ~ #imagenesfiltro .laptop {
  display: none;
}
/* FILTRO DE IMAGENES -------------------------------------------------------  */



/* EQUIPO ------------------------------------------------------------  */
.equipo
{
	background: #FFF;
	padding: 80px 20px 20px 20px;
	position: relative;
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}
.equipo img
{
	width: 160px;
	border-radius: 50%;
	border: 8px solid #FFFF;
	position: absolute;
	top: -80px;
}
/* EQUIPO ------------------------------------------------------------  */



/* AJEDREZ ------------------------------------------------------------  */
.showcase .showcase-text {
  padding: 3rem;
}

.showcase .showcase-img {
  min-height: 30rem;
  background-size: cover;
}
/* AJEDREZ ------------------------------------------------------------  */




/* CAJAS SORPRESA -------------------------------------------------------  */
.sorpresa .box
{
	position: relative;
	background: #FFF;
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
	border-radius: 4px;
	padding: 40px;
	box-sizing: border-box;
	overflow: hidden;
	cursor: pointer;
}

.sorpresa .box .icon
{
	position: relative;
	width: 80px;
	height: 80px;
	color: #FFF;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	border-radius: 50%;
	font-size: 40px;
	font-weight: bold;
	transition: 1s;
}

.sorpresa .box .icon
{
	box-shadow: 0 0 0 0 var(--color-01);
	background: var(--color-01);
}

.sorpresa .box:hover .icon
{
	box-shadow: 0 0 0 400px var(--color-01);
}

.sorpresa .box .icon2
{
	box-shadow: 0 0 0 0 var(--color-02);
	background: var(--color-02);
}

.sorpresa .box:hover .icon2
{
	box-shadow: 0 0 0 400px var(--color-02);
}

.sorpresa .box .icon3
{
	box-shadow: 0 0 0 0 var(--color-03);
	background: var(--color-03);
}

.sorpresa .box:hover .icon3
{
	box-shadow: 0 0 0 400px var(--color-03);
}

.sorpresa .box .content
{
	position: relative;
	z-index: 1;
	transition: 0.5s;
}

.sorpresa .box:hover a
{
	position: relative;
	color: #FFF;
}

.sorpresa .box:hover p
{
	color: #FFF;
}

.sorpresa .box:before
{
	content: '';
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(255,256,256,.2);
	z-index: 1;
}
/* CAJAS SORPRESA -------------------------------------------------------  */



/* TARJETAS FLIP -------------------------------------------------------  */
.flip .tarjeta-conjunto
{
	margin: 5px;
	perspective: 800;
	-webkit-perspective: 800;
}

.flip .tarjeta
{
	width:100%;
	height: 300px;
	background: var(--color-01);
	position: relative;
	transform-style: preserve-3d;
	transition: .7s ease;
	box-shadow: 5px 5px 5px rgba(0,0,0,.5);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.flip .delante, .detras img
{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.flip .delante
{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding: 10px;
}

.flip .detras{
	transform: rotateY(180deg);
	padding: 15px;
	color: #FFF;
}

.flip .tarjeta-conjunto:hover .tarjeta
{
	transform: rotateY(180deg);
}
/* TARJETAS FLIP -------------------------------------------------------  */


/* NAVEGACION POR CLUSTERS -------------------------------------------------------  */
.navegacion-por-clusters .caja
{
	border: 1px solid #CCC;
	padding: 10px 15px 7px;
	cursor: pointer;
	overflow: hidden;
}

.navegacion-por-clusters .caja .interior
{
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .5s ease;
}

.navegacion-por-clusters .caja:hover .interior
{
	transform: translateX(20px);
}

/* NAVEGACION POR CLUSTERS -------------------------------------------------------  */


/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
/* SECCIONES ----------------------------------------------  */
























/* REDIMENSIONAR RECAPCHA DE GOOGLE PARA QUE NO SE SALGA DE LA PANTALLA EN MÓVILES PEQUEÑOS ---------------------  */
.redimensionarrecptcha   {
	transform: scale(0.84);
	transform-origin: 0 0;
   }










/* IFRAME RESPONSIVE ------------------------------------------------------------  */
.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.embed-container iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* IFRAME RESPONSIVE ------------------------------------------------------------  */










/* COOKIES ------------------------------------------------------------  */
#barraaceptacion {
    display:none;
    position:fixed;
    left:0px;
    right:0px;
    bottom:0px;
    padding-bottom:20px;
    width:100%;
    text-align:center;
    min-height:40px;
    background-color: rgba(0, 0, 0, 0.5);
    color:#fff;
    z-index:99999;
}
 
.inner {
    width:100%;
    position:absolute;
    padding-left:5px;
    font-family:verdana;
    font-size:12px;
    top:30%;
}
 
.inner a.ok {
    padding:4px;
    color:#00ff2e;
    text-decoration:none;
}
 
.inner a.info {
    padding-left:5px;
    text-decoration:none;
    color:#faff00;
}
/* COOKIES ------------------------------------------------------------  */



