body {
	margin: 0;
	background-color: #dfdfdf;
	color: #fff;
	font-family: Monospace;
	font-size: 13px;
	line-height: 24px;
    overscroll-behavior: none;
    overflow-x: hidden;
}

canvas {
    bottom: 0;
    /*left: -36%; */
    position: fixed;
    right: 0;
    top: 0%;
}

a {
	color: #fff;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

button {
	cursor: pointer;
	text-transform: uppercase;
}

canvas {
	display: block;
}

#info {
	position: absolute;
	top: 0px;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	z-index: 1; /* TODO Solve this in HTML */
}

a, button, input, select {
	pointer-events: auto;
}

.dg.ac {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	z-index: 2 !important; /* TODO Solve this in HTML */
}

#overlay {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.7);
}

	#overlay button {
		background: #ffffff;
		border: 0;
		color: #000000;
		padding: 16px 20px;
		text-transform: uppercase;
		cursor: pointer;
	}

#notSupported {
	width: 50%;
	margin: auto;
	background-color: #f00;
	margin-top: 20px;
	padding: 10px;
}

#canvas_3d{
	bottom: 0;
    left: -19%;
    position: fixed;
    right: 0;
    top: -10%;
}
.content_container {
    margin-top: 11%;
    padding: 40px;
    position: relative;
    text-align: justify;
    width: 100%;
    z-index: 2;
    margin-left: 0px;
}

#inicio {
    position: fixed;
    width: 30px;
    top: 30px;
    right: 20px;
    z-index: 3;
}

div#logo img {
	width: 115px;
}
div#logo {
    position: fixed;
    width: 30%;
    top: 0px;
    padding-top: 0px;
    padding-bottom: 7px;
    left: 20px;
    z-index: 3;
    background: linear-gradient(180deg, #dfdfdf 69%, rgba(255, 16, 16, 0));
}

div#flecha img {
    width: 50px;
}
div#flecha {
    position: fixed;
    width: 100%;
    bottom: 20px;
    justify-content: center;
	display: flex;
	z-index: 1;
}

.img_25_anos {
    margin-bottom: 50%;
    width: 32%;
    margin-left: 66%;
}
.img_25_anos img {
    width: 100%;
}


ul.ul_expo {
    list-style: none;
    padding: 0px;
    position: relative;
    float: left;
    width: 28%;
}

li.item_expo {
	width: 100%;
  border-radius: 10px;
  height: 220px;
  margin-bottom: 50px;
  position: relative;
	overflow: hidden;
	cursor: pointer;
	background-color: #161616;
}

li.item_expo img {
    height: 100%;
    object-fit: cover;
    object-position: top;
    width: 50%;
    padding-left: 50%;
}

.expo_content {
    position: absolute;
    top: 0px;
    width: 55%;
    height: 100%;
    background-color: #161616;
}

.title {
	padding: 26px;
    font-size: 22px;
    font-style: italic;
    font-weight: 600;
    /* font-family: 'Montserrat', sans-serif; */
    font-family: 'Roboto', sans-serif;
    text-align: left;
    line-height: normal;
    padding-bottom: 10px;
}

.intro {
    padding: 26px;
    font-size: 15px;
    font-weight: 300;
    padding-top: 5px;
    font-family: 'Montserrat', sans-serif;
    font-family: 'Roboto', sans-serif;
    text-align: left;
    line-height: normal;
}


.item_expo:hover img {
	transform: scale3d(1.5,1.5,1.5);
}

.item_expo img {
    transition: opacity 0.30s, transform 0.30s;
}


.item_expo img {
	width: 100%;
    transition: all linear 0.7s;
}

.item_expo .hover-img {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}


.item_expo:hover .img {
	opacity: 0;
}

.item_expo:hover .hover-img {
	opacity: 1;
}


div#loading {
    width: 100%;
    z-index: 4;
    height: 100%;
    background-color: #ff0200;
    position: fixed;
    top: 0px;
    text-align: center;
    padding-top: 18%;
}

div#loading img {
	width: 280px;
  position: relative;
}


.text_loading {
    padding: 36px;
    font-size: 27px;
    font-style: italic;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    line-height: normal;
}



.loader,
.loader:before,
.loader:after {
  background: #fff;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
.loader {
  color: #fff;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: '';
}
.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 1.5em;
}
@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}



#i {
    background: #c5c5c5;
    width: 10px;
    height: 10px;
    position: fixed;
    top: 70px;
    left: 68px;
    z-index: 2;
}


.flecha_down_animacion {
	font-size:3.2rem;
	-webkit-animation: abajo .5s infinite;
	animation: abajo .5s infinite;
	animation-direction: alternate;
}


@keyframes abajo {
	0% {
		margin-bottom:0;
	}
	100% {
		margin-bottom:15px;
	}
}

@-webkit-keyframes abajo {
	0% {
		margin-bottom:0;
	}
	100% {
		margin-bottom:15px;
	}
}


@media only screen and (max-width: 768px) and (min-width: 300px)  {
  .content_container {
    margin-top: 85%;
    padding: 0px;
    width: 100%;
  }

  div#flecha {
    position: fixed;
    bottom: 35px;
  }

  .img_25_anos {
    margin-bottom: 20px;
    width: 100%;
    margin-left: 0px;
    text-align: center;
  }

  .img_25_anos img {
    width: 80%;
  }

  ul.ul_expo {
    width: 94%;
    padding-left: 10px;
    padding-right: 10px;
  }

  i#i {
    display: none;
  }

  div#logo {
    background: none;
  }

  div#logo {
    position: absolute;
  }

  canvas {
    bottom: 0;
    left: 0px;
    position: absolute;
    right: 0;
    top: 14%;
    height: 300px !important;
    width: 100% !important;
    object-fit: cover;
  }

  li.item_expo {
    height: 145px;
    margin-bottom: 25px;
  }

  .title {
    padding: 15px;
    font-size: 18px;
  }

  .intro {
    padding: 15px;
    font-size: 12px;
    font-weight: 300;
    padding-top: 0px;
  }

  div#loading img {
    width: 217px;
    position: relative;
  }

  div#loading {
    padding-top: 33%;
  }

}