html,body {
  background-color: transparent;
  margin: 0;
  padding:0;
  -webkit-tap-highlight-color:transparent;
  user-select: none;
}
* {
  box-sizing: border-box;
}
@font-face {
    font-family: icongs;
    src: url(../assets/fonts/icongs.eot);
    src: url(../assets/fonts/icongs.eot?#iefix) format("embedded-opentype"), url(../assets/fonts/icongs.woff) format("woff"), url(../assets/fonts/icongs.ttf) format("truetype"), url(../assets/fonts/icongs.svg#icongs) format("svg");
    font-weight: 400;
    font-style: normal
}
@font-face{
    font-family:SourceSansPro;
    font-weight:normal;
    font-style:normal;
    src:url('../assets/fonts/sourcesanspro-regular-webfont.eot');
    src:url('../assets/fonts/sourcesanspro-regular-webfont.eot?#iefix') format("embedded-opentype"),
        url('../assets/fonts/sourcesanspro-regular-webfont.woff') format("woff"),
        url('../assets/fonts/sourcesanspro-regular-webfont.ttf') format("truetype"),
        url('../assets/fonts/sourcesanspro-regular-webfont.svg#SourceSansPro') format("svg")
}
@font-face{
    font-family:SourceSansPro;
    font-weight:bold;
    font-style:normal;
    src:url('../assets/fonts/sourcesanspro-bold-webfont.eot');
    src:url('../assets/fonts/sourcesanspro-bold-webfont.eot?#iefix') format("embedded-opentype"),
        url('../assets/fonts/sourcesanspro-bold-webfont.woff') format("woff"),
        url('../assets/fonts/sourcesanspro-bold-webfont.ttf') format("truetype"),
        url('../assets/fonts/sourcesanspro-bold-webfont.svg#SourceSansPro') format("svg")
}
@font-face{
    font-family:SourceSansProLight;
    font-weight:normal;
    font-style:normal;
    src:url('../assets/fonts/sourcesanspro-light-webfont.eot');
    src:url('../assets/fonts/sourcesanspro-light-webfont.eot?#iefix') format("embedded-opentype"),
    url('../assets/fonts/sourcesanspro-light-webfont.woff') format("woff"),
    url('../assets/fonts/sourcesanspro-light-webfont.ttf') format("truetype"),
    url('../assets/fonts/sourcesanspro-light-webfont.svg#SourceSansProLight') format("svg")
}
@font-face {
    font-family: Montserrat;
    src: url('../assets/fonts/Montserrat-Regular.woff') format("woff2"),url('../assets/fonts/Montserrat-Regular.woff') format("woff");
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: dpf;
    src: url('../assets/fonts/dpf.eot?qgxr1');
    src: url('../assets/fonts/dpf.eot?qgxr1#iefix') format("embedded-opentype"),url('../assets/fonts/dpf.ttf?qgxr1') format("truetype"),url('../assets/fonts/dpf.woff?qgxr1') format("woff"),url('../assets/fonts/dpf.svg?qgxr1#dpf') format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: block
}
.icon {
    font-family: dpf!important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.god-i-arrow-blink-up:before {
    content: "\e900"
}
.god-i-arrow-blink-right:before {
    content: "\e901"
}

.god-i-arrow-left:before {
    content: "\e902"
}

.god-i-arrow-down:before {
    content: "\e903"
}

.god-i-close:before {
    content: "\e904"
}

.god-i-fullscreen-off:before {
    content: "\e905"
}

.god-i-fullscreen-on:before {
    content: "\e906"
}

.god-i-info-bullet:before {
    content: "\e907"
}

.god-i-menu-movil:before {
    content: "\e908"
}

.god-i-show-thumbnails:before {
    content: "\e909"
}

.god-i-hide-thumbnails:before {
    content: "\e90a"
}

.god-i-pause:before {
    content: "\e90b"
}

.god-i-play:before {
    content: "\e90c"
}

.god-i-plus:before {
    content: "\e90d"
}

.god-i-show-text:before {
    content: "\e90e"
}

.god-i-layers:before {
    content: "\e90f"
}

.god-gallery-carrousel-thumbnail:before {
    content: "\e910"
}

.god-i-zoom-down:before {
    content: "\e911"
}

.god-i-hide-text:before {
    content: "\e912"
}

.god-gallery-thumbnails-cuadricula:before {
    content: "\e913"
}

.god-i-zoom-up:before {
    content: "\e914"
}

.god-i-arrow-blink-down:before {
    content: "\e915"
}

.god-i-arrow-blink-left:before {
    content: "\e916"
}

.god-i-arrow-up:before {
    content: "\e917"
}

.god-i-arrow-right:before {
    content: "\e918"
}

.god-i-subtitles:before {
    content: "\e919"
}

.god-i-subtitles_off:before {
    content: "\e91a"
}

.god-i-volume-up:before {
    content: "\e91b"
}

.god-i-volume-off:before {
    content: "\e91c"
}

.god-dpf_ba:before {
    content: "\e91d"
}

.god-dpf_ca:before {
    content: "\e91e"
}

.god-dpf:before {
    content: "\e91f"
}

.god-dpf_gp:before {
    content: "\e920"
}

.god-dpf_gr:before {
    content: "\e921"
}

.god-dpf_ob:before {
    content: "\e922"
}

.god-dpf_vo:before {
    content: "\e923"
}

.god-dpf_zu:before {
    content: "\e924"
}
.god-gallery:before {
    content: "\e931"
}

.god-hotspot-tooltip:before {
    content: "\e932"
}

.god-hotspot:before {
    content: "\e933"
}

.god-layers-manager:before {
    content: "\e934"
}

.god-multimedia-player-audio:before {
    content: "\e935"
}

.god-multimedia-player-video:before {
    content: "\e936"
}

.god-multimedia-player:before {
    content: "\e937"
}

.god-microsite:before {
    content: "\e938"
}

.god-file:before {
    content: "\e939"
}

.god-i-download:before {
    content: "\e93a"
}
.main{
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
}
.main.iH{
	position: relative;
    overflow: visible;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    z-index: 1;
}
.background {
	background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;/*100% 100vw;*//*contain;*/
    /*background-attachment: fixed;*/
    width: 100%;
    height: 100%;
    right: 0;
	bottom: 0; 
	overflow: hidden;
}
.backgroundWrapper {
	/*TEST 25/02 */
	position: absolute;
	overflow: hidden;
	transition: all 0.5s ease-in-out;
	height: 100%;
	width: 100%;
	/* FONDO FIJO*/
	background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
	/*TEST 25/02 */
	display: flex;
    justify-content: center;
	align-items: center;
}
.backgroundWrapper.active {
	width: 75%;
	left:25%;
}
.bottom .backgroundWrapper.active {
	width: 100%;
	left: 0;
}
.media .imageWrapper{
	position: relative;
    max-width: 100%;
	max-height: 945px;
	height : 100vh;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
	outline: unset;
    border: unset;
    /*TEST 25/02
	overflow: hidden;
	top: 50%;
    left: 50%;
	transform: translate(-50%, -50%);
	TEST*/
}
.dpf.biH .graphic .media .imageWrapper,
.dpf.full .graphic .media .imageWrapper{
	max-width: calc(100%) !important;
    width: 100%!important;
	opacity: 1!important;
}
.graphic .media .imageWrapper .back-image{
	object-fit: cover;
}
.dpf.biH .graphic .media .imageWrapper .back-image{
	max-height: unset!important;
	height: auto!important;
}
.hide .media .imageWrapper{
	max-width: calc(100%) !important;
	width: 100% !important;
}
.backgroundWrapper .imageWrapper{
	position: relative;
    max-width: 100%;
	width: 100% !important;
	height : 100vh;
	display : flex;
	flex-direction : column;
	align-items: center;
	justify-content : space-around;
	overflow: hidden;
	/*TEST 25/02
	top: 50%;
    left: 50%;
	transform: translate(-50%, -50%);
	TEST*/
}
.back-image {
	cursor: all-scroll;
    width: 100%;
    opacity: 1;
    z-index: 0;
    position: relative;
	width: auto;
    height: 100vh;
    max-height: 100%;
}
.back-image .imageWrapper{
	position: relative;
    display: inline-block;
    max-width: 100%;
	height : 100vh;
	display : flex;
	flex-direction : column;
	align-items: center;
	justify-content : space-around;
}
.back-image img:first-of-type{
	/*
	display: block;
    margin: 0 auto;
    max-height: none;
    width: 100vw;
    max-width: 100%;
    height: auto;
	
	max-width: 100vw;
	*/
    height: 100%;
    object-fit: contain;
    overflow: hidden;
}

.top-image {
	position: absolute;
    z-index: 1;
}
.bottom-image {
    position: absolute;
    width: 100%;
}
img {
  max-width: 100%;
  height: auto;
  overflow: hidden;
}
.svg-container {
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
	/*
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	*/
}
video {
	position: absolute;
	width: 100vw;
	height: 100vh;
	max-width: none;
	max-height: none;
	top: 0;
	left: 0;
	-o-object-fit: contain;
	object-fit: contain; 
}    

.step{
	position: absolute;/*relative;*/
    display: inline-block;
   /* height: 2.25vmin;*/
    width: 2px;
    background-color: transparent;/*#2b445a;*/
    border: none;/*1px white solid;*/
    top: 50%!important;
    transform: translateY(-50%);
	margin-right: -1em;
    transition: all 0.25s linear;
}
.step::after{
	position: absolute;
    /*content: var(--content," ");*/
    content: var(--content);
    color: currentColor;
	bottom: 2.5em;
	font-size: 2vmin;
    left: 5px;
	margin-right: 5px;
    font-family: 'SourceSansPro';
    cursor: pointer;
	transition:all 0.25s linear;
}
.zoom.bottom .step::after,
.hs.bottom .step::after{
	font-size: 1.25em;
    line-height: normal;
}
.step.active{
	width:5%;
	border-radius: 4px;
}
.step.active::after {
	color: currentColor;
    font-size: 4vmin;
	font-weight: 600;
    bottom: 1.5em;
	-webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: black;
}
.step.border{
	border: 1px white solid;
}
.introCover {
	position: fixed;
	font-family: SourceSansProLight;
	font-weight: 100;
	background: rgb(0 0 0 / 60%);
    backdrop-filter: blur(10px);
	color: white;
	padding: 2rem;
	width: 100%;
	height: 100%;
	font-size: 1.2rem;
	top: 0;
	z-index: 10;
	pointer-events: all;
	transition: all 0.5s linear;
}
.introCover:after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.introCover img{
	visibility: inherit;
	opacity: 0.5;
	position: absolute;
	left: 0;
	top: 0;
	width:auto;
	height: 100%;
	pointer-events: none;
	/*ihistory*/
	left: 30%;
    width: calc(100% - 30%);
}
.introCover.viewed{
	opacity: 0;
	z-index: -1;
	transform: scale(0);
}
.introCover .go{
	cursor: pointer;
    position: absolute;
    height: 50px;
    z-index: 99;
    width: 189px;
    top: 61%;
	right: 10%;
    font-family: 'SourceSansPro';
    font-weight: 700;
    font-size: 0.75em;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    color: #ffffff;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.introCover .go:before {
    content: '';
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(270deg, #4caf50 0%, #163624 100%);
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    pointer-events: none;
}
.introCover .go span {
    position: relative;
	color: white;
}
.introCover h2{
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	max-width: 50%;
	z-index: 2;
}
h2 .title {
	display: block;
	margin-top: 0.4em;
	letter-spacing: 0;
	font-size: 5vmax;
    font-weight: 600;
    line-height: normal;
    width: 100%;
}
h2 .titleLine {
	display: block;
    height: 0.1em;
    width: 100%;
    margin-bottom: 0.4em;
	margin-top: 0.25rem;
    background-image: linear-gradient(to right,#41d916,transparent);
}
h2 .subtitle {
	display: block;
	font-size: 1em;
	font-weight: normal;
	line-height: normal;
	margin-top: 0;
	margin-bottom: 1.875em;
}
.description{
	top: 0px!important;
    left: 0!important;
    position: absolute;
    height: 100%;
    width: 0%;
    z-index: 2;
    transition: all 0.25s linear;
}
.description.active{
	width: 25%;
}
.descriptionWrapper{
	height: inherit;
    width: 100%;
    color: #fff;
    overflow: hidden;
    margin-top: 0;
    left: 0;
    position: relative;
    /*box-shadow: 0 10px 50px 0 #2b445a;*/
}
.descriptionInfo{
	padding: 2.5em;
    position: absolute;
    top: 60px;
    z-index: 1;
   width: 100%;
}
.descriptionInfo .title{
	visibility: inherit;
	opacity: 1;
	font-family: 'SourceSansPro';
	font-size: 3vmin;
	color: white;
}
.descriptionInfo .line{
	visibility: inherit;
    opacity: 1;
    height: 0.15em;
    width: 100%;
    background-image: linear-gradient(to right,#fff,transparent);
    margin-top: 5px;   
}
.descriptionInfo .data{
	position: relative;
	visibility: inherit;
	opacity: 1;
	font-family: 'SourceSansProLight';
	font-size: 1.75vmin;
	line-height: 1.3;
	overflow: hidden;
	overflow-y: auto;
    height: 70vh;
	margin-top: 1em;
	padding: 0 5% 0 0;
}
.descriptionInfo .data img{
	height: auto;
    max-height: 30vh;
    width: 100%;
    object-fit: contain;
	margin-bottom: 1em;
}
.descriptionInfo .data::-webkit-scrollbar {
  display: block;
  width: 10px;
}
.descriptionInfo .data::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px transparent; 
  border-radius: 10px;
}
.descriptionInfo .data::-webkit-scrollbar-thumb {
  background: orange; 
  border-radius: 10px;
}
.descriptionInfo .data::-webkit-scrollbar-thumb:hover {
  background: orange; 
}
.descriptionBackground{
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    opacity: 1;
	background: rgba(0, 0, 0, 0.5);
}
.portrait .descriptionBackground{
	background: transparent;/*rgba(0, 0, 0, 0.5);*/
}
.descriptionIcon{
	visibility: visible;
    opacity: 0;
    background-image: url(ui/hotspot.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 6em;
    height: 6em;
    position: absolute;
    top: -3em;
    left: -3em;
    right: auto;
}
/* Slider Only side label */
.sideLabel{
	position: absolute;
	left: 0;
	height: auto;
	width: auto;
	max-width: 25%;
	padding: 0 3em 0 1em;
	top: 50% !important;
    transform: translateY(-50%);
	z-index: 1;
	max-height: 20em;
	color: white;
    overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	transition: opacity 550ms linear 100ms, transform 950ms cubic-bezier(.315,.565,.11,1.005) 0ms;
	border-radius: 0px 20px 20px 0px;
	background: #0000008a;
}
.sideLabel.active{
	opacity: 1;
	visibility: visible;
}
.sideLabel h3{
	font-size: 1.25rem;
    margin: 10px 0;
	font-family: 'SourceSansProLight';
}
.sideLabel p,
.sideLabel ul,
.sideLabel ol{
	padding: 20px;
    pointer-events: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    display: block;
	margin: 1rem 0;
    font-family: 'SourceSansProLight';
    font-weight: 400;
    color: currentColor;
    padding: 0;
    font-size: 1rem;
    line-height: 1rem;
    -webkit-font-smoothing: subpixel-antialiased;
}
.bottom .sideLabel{
	border-radius: 20px 0 0px 20px;
	right: 0;
	left: initial;
}
/* ZOOM label description */
.labelData{
	position: absolute;
	opacity: 0;
	z-index: 2;
	/*width: 100em;*/
	width: auto;
    min-width: 50%;
	left: 1%;
    top: 1%;
	transition: opacity 0.25s ease-out;
}
.labelData.active{
	opacity: 1;
}
.labelData .labelText{
	min-height: 6em;/*6rem;*/
	max-height: 15em;/*15rem;*/
	overflow: hidden;
    overflow-y: auto;    
}
.labelData.transparent .labelDescription{
	background-color: #f1ecec14;
	color: black;
	backdrop-filter: blur(10px);
}
.labelData.white .labelDescription{
	background-color: white;
	color: black;
}
.labelData.darkred .labelDescription{
	background-color: darkred;
	color: white;
}
.labelData.darkblue .labelDescription{
	background-color: #2b445a;
	color: white;
}
.labelData.darkgreen .labelDescription{
	background-color: #31681c;
	color: white;
}
.labelData.darkorange .labelDescription{
	background-color: orange;
	color: white;
}
.labelData .bubble{
	padding: unset;
}
.labelDescription{
	position: relative;
    z-index: 2;
    border: 3px solid #505050;
    border-radius: 0 20px 0 0;
    background-color: #191919;
	color: white;
	text-align: left;
	opacity: 1;
	overflow: hidden;
	width: 20em;
}
.labelData .labelText::-webkit-scrollbar {
  display: block;
  width: 10px;
}
.labelData .labelText::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px transparent; 
  border-radius: 10px;
}
.labelData .labelText::-webkit-scrollbar-thumb {
  background: orange; 
  border-radius: 10px;
}
.labelData .labelText::-webkit-scrollbar-thumb:hover {
  background: orange; 
}
.labelDescription h3{
	padding: 0px 10px;
	padding-bottom: 1em;
    width: 100%;
    color: inherit;
    line-height: 1rem;
    font-size: 0.8rem!important;
	font-family: sans-serif;
    line-height: 1.6;
    text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	position: sticky;
    height: auto;
    min-height: 2em;
}
.labelDescription img{
	max-height: 10rem!important;
}
.right .labelDescription h3{
	/*transform: scaleX(-1);*/
}
.labelDescription p:first-of-type{
	margin-top: 0;
}
.labelDescription p{
	position: relative;
	color: inherit;
    display: block;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    display: block;
    font-family: source sans pro,sans-serif;
    letter-spacing: 1px;
    font-size: 0.7rem;
    line-height: 1rem;
    -webkit-font-smoothing: subpixel-antialiased;
	padding: 0 10px;
    margin: 0;
    margin-bottom: 1rem;
}
.labelDescription ul,
.labelDescription ol{
	color: inherit;
    position: relative;
    display: block;
    padding: 10px;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    display: block;
    font-family: 'SourceSansProLight';
    letter-spacing: 1px;
    font-size: 0.7rem;
    line-height: 1rem;
    -webkit-font-smoothing: subpixel-antialiased;
}
.labelDescription .labelText ul li,
.labelDescription .labelText  ol li{
	margin-left: 15px;
}
.labelData.right .labelDescription{
	border-radius: 0px 20px 0px 0px;
	left: 75%;
}
.labelData.right.editor .labelDescription{
	left: 0;
}
.labelLine{
	position: absolute;
    transform: translate(0%, 0%) rotate(0deg)!important;
    transform-origin: left center;
    pointer-events: all;
    height: 1px;
    background-color: transparent;
    display: block;
    top: 50% !important;
    left: 28% !important;
    width: 15% !important;
}
.labelLine .line{
	border: none;
    border-top: 2px dotted #505050;
}
.labelData.right .labelLine{
	left: 61% !important;
} 
.labelData.right.editor .labelLine{
	left: -15% !important;
} 
.labelData.white .labelLine .line{
	border-top: 2px dotted white;
}
.labelData.transparent .labelLine .line{
	border-top: 2px dotted #505050;
}
.labelData .hotspot{
	position: absolute;
    background-image: url(ui/trans.png);
    background-size: contain;/*100%;*/
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: 50% 50%;
    display: block;
    -webkit-animation: hzi 1s infinite;
    animation: hzi 1s infinite;
	top: calc(50% - 2em) !important;
    left: 40% !important;
    width: 4em;
    height: 4em;
}
.labelData.right .hotspot{
	/-webkit-animation: hzi 1s infinite;
    animation: hzi 1s infinite;
	left: 55%!important;
}
.labelData.right.editor .hotspot{
	left: -20% !important;
}
.labelData .hotspot.imaged{
	width: 10em;
    height: 10em;
    background-size: cover;
	top: calc(50% - 5em) !important;
	animation: unset;
}
@keyframes hzi{
	0% { transform: scale(1);}
	50% {transform: scale(1.1);}
	100% {transform: scale(1);}
}
@keyframes hziRight{
	0% { transform: scaleX(-1) scaleY(1);}
	50% {transform: scaleX(-1.1) scaleY(1.1);}
	100% {transform: scaleX(-1) scaleY(1);}
}
.labelData.fbg{
	top: 8%;
    left: -10%;
}
div.aria-widget-slider .value {
    position: absolute;
	display:none;
}
div.aria-widget-slider {
	top: 95%;
	height: 2em;
	z-index: 3;
	position: relative;
}
div.aria-widget-slider .rail {
	margin: 2px;
	padding: 1px;
	position: absolute;
	height: 1em;
	cursor: pointer;
	background-image: linear-gradient(90deg, #2b445a 50%, transparent);
	left: 0;
	z-index: 3;
}
div.aria-widget-slider .thumb {
	background-color: #2b445a;
    position: absolute;
    margin-left: 52px;
    opacity: 1;
    speak: none;
    background-repeat: no-repeat;
    background-image: url(ui/trans.png);
    background-size: 3em;
    z-index: 3;
    top: 50% !important;
    transform: translateY(-50%);
    cursor: pointer;
    width: 110px!important;
    height: 2.25vmin !important;
    outline: none;
    border: 1px #ccc solid;
    border-radius: 8px;
    background-size: 100%;
}
/* DESC bottom*/
.main.bottom.active .backgroundWrapper.active {
	width: 100%;
	left:0%;
}
.bottom .description{
	top: 90% !important;
    height: auto;
    width: 100%;
	visibility: hidden;
    opacity: 0;
	transition: opacity 0.25s ease-in;
}
.bottom .description.active {
	visibility: visible;
    opacity: 1;
}
.bottom .descriptionWrapper{
	display: inline-block;
    position: absolute;
    width: 90%;
	height: 15em;
    bottom: 0;
    left: 5%;
    z-index: 2;
    cursor: pointer;
    border: 3px solid #505050;
    border-radius: 20px;
    background: #1919195c;
}
.portrait .bottom .descriptionWrapper {
	height: 25em;
}
.main.bottom.active .description{
	visibility: visible;
    opacity: 1;
}
.main.transparent.bottom.active .description{
	top: 99%!important;
}
.portrait .main.transparent.bottom.active .description{
	top: 95%!important;
}
.main.bottom.active .descriptionInfo{
	top: 0;
	padding: 10px;
	width: 100%;
}
.main.bottom.active .descriptionInfo .data{
	height: 5em;
    max-height: 10em;
}
.portrait .main.bottom.active .descriptionInfo .data{
	height: 15em;
    max-height: 15em;
}
.main.bottom.active .descriptionInfo .data p,
.main.bottom.active .descriptionInfo .data ol,
.main.bottom.active .descriptionInfo .data ul{
	margin: 0;
}
.main.bottom.active .backgroundWrapper.bottom.active {
	width: 100%;
	left:0;
}
.bottom .descriptionInfo{
	top: 0;
    padding: 1em;
}
/* Transparent mode*/
.main.transparent div.aria-widget-slider{
	height: 100vh;
    z-index: 1;
    position: relative;
    background-color: transparent;
    top: 0;
}
.main.transparent div.aria-widget-slider .rail{
	position: absolute;
	margin: unset;
	padding: unset;
	height: unset;
	left: 0% !important;
	background-color: transparent;
	background-image: unset!important;
}
.main.transparent div.aria-widget-slider .thumb{
	position: fixed;
    cursor: pointer;
    z-index: 2;
    background-color: transparent;
    outline: none;
    margin-left: unset;
    background-image: unset;
    top: 0!important;
	left: 0!important;
    transform: unset;
    width: inherit!important;
    height: 100vh!important;
    background-size: unset;
	border:unset;
}
.main.transparent .step{
}
.main.transparent.active div.aria-widget-slider{
	left: 25%;
    width: 75%;
}
.main.transparent.active div.aria-widget-slider .thumb{
	left: 25%!important;
}
.main.transparent.bottom .step{
	/*opacity: 0;*/
}
.main.transparent.bottom.active div.aria-widget-slider{
	left: 0;
    width: 100%;
}

.main.transparent.bottom.active div.aria-widget-slider .thumb{
	left: 0!important;
}
/* END T */
@media screen and (orientation:portrait) { 
	.background{
		background-size: contain;
	}
}
.fullscreen .backgroundWrapper{
	z-index: 0;
}
/* NAV  */
.navigation {
	position: absolute;
    width: 100%;
    height: auto;
    top: 0vh !important;
}
.bottom .navigation{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
	/*top: -50vh !important;*/
    margin: 0;
    padding: 0;
    width: auto;
	height: 100%;
    max-width: 10em;
    text-align: center;
	z-index: 3;
}
.zoom.bottom .navigation,
.hs.bottom .navigation{
	font-size: 1em;
	background-color: rgb(0, 0, 0, 0.6);
    color: white;
    height: auto;
    top: 50% !important;
    transform: translateY(-50%) scale(1);
    box-shadow: 0 0 10px darkred;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    will-change: transform;
    opacity: 1;
    transform-origin: left center;
    transition: opacity 0.25s ease-in, transform 0.35s linear;
}
.zoom.bottom .navigation.hide,
.hs.bottom .navigation.hide{
	opacity: 0;
    transform: translateY(-50%) scale(0);
}
.realBottom .navigation{
	top: 95vh !important;
    z-index: 99;
}
.zoom.realBottom .navigation,
.hs.realBottom .navigation{
	display: flex;
    flex-direction: row;
	width: 90%;
    max-width: 90%;
    left: 5%;
    bottom: 0vh;
    top: initial !important;
	justify-content: center;
    align-items: anchor-center;
    margin: 0;
    padding: 0;
    height: 100%;
    text-align: center;
    z-index: 3;
	background-color: rgb(0, 0, 0, 0.6);
    color: white;
    height: auto;
    box-shadow: 0 0 10px #F44336;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    will-change: transform;
    opacity: 1;
    transform-origin: left center;
    transition: opacity 0.25s ease-in, transform 0.35s linear;
}
.zoom.realBottom .step ,
.hs.realBottom .step{
    position: relative;
    display: flex;
    width: 100%;
    height: auto;
    background-color: transparent;
    border: none;
    border-radius: unset;
    left: 0 !important;
    top: unset !important;
    transform: unset;
    margin: 0;
    padding: 1em;
    border-bottom: 1px solid rgba(51, 51, 51, 0.65);
}
.hs.realBottom .step{
	border-bottom: unset;
}
.zoom.realBottom .step {
	padding: 0;
}
.zoom.realBottom .step::after,
.hs.realBottom .step::after {
    font-size: 1rem;
	position: relative;
    bottom: unset;
    text-align: left;
}
.zoom.realBottom .aria-widget-slider,
.hs.realBottom .aria-widget-slider{
	display: none;
}
.bottom .step{
	position: relative;
    display: flex;
	cursor: pointer;
	width: 100%;
	/*min-width: 6em;*/
    height: auto;
    background-color: transparent;
    border: none;
	border-radius: unset;
    left: 0 !important;
	top: unset !important;
    transform: unset;
	margin: 0;
	padding: 0.75em 0;
    border-bottom: 1px solid rgba(51, 51, 51, 0.65);
}
.bottom .step:last-child{
	border-bottom: unset!important;
}
.bottom .step:after{
	position: relative;
	bottom: unset;
	text-align: left;
}
.bottom .step.active:after{
	/*font-size: 3vmin;*/
}
.zoom.bottom .step.active,
.hs.bottom .step.active {
	background-color: transparent !important;
}
.zoom.bottom .step.active:after,
.hs.bottom .step.active:after {
    font-size: 1rem;
    line-height: normal;
	color: orange;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: unset;
	font-weight: normal;
	margin-right: 6px;
}
.right .navigation{
	right: 0px;
    float: right;
}
.right .step{
	justify-content: flex-end;
}
.transparent .navigation {
	top: 98vh !important;
	z-index: 9;
}
.transparent.bottom .navigation {
	top: 50% !important;
    transform: translateY(-50%);
}
.hs.transparent.bottom .navigation {
	top: 50% !important;
	height: auto;
}
.ihs {
    position: absolute;
    cursor: pointer;
    display: block;
	width: auto;
	height: 15em;
	top: 50%;
	left: 50%;
	z-index: 0;
	transition: opacity 0.25ms ease-in, transform 0.5s linear;
	transform-origin: center center;
	will-change: transform;
}
.ihs.active{
	z-index: 1!important;
	transform: scale(1);			
}
.ihs.inactive{
	/*z-index: -1!important;*/
	transform: scale(0);			 
}
.ihs.iconized {
	width: 5em;
	height: auto;
}
.zoomed .ihs{
	opacity: 0;
} 
.zoomed .ihs.active{
	opacity: 1;
} 
.zoomed .back-image{
	cursor: default;
} 
.ihs.iconized img:first-child {
	width: 100%;
    height: auto;
    animation: hzi 2s infinite;
    border-radius: 50%;
    transition: box-shadow 0.5s linear;
}
.ihs.iconized.active img:first-child {
	/*box-shadow: 0 0 2rem 0.5rem orange;
	animation: unset;*/
	box-shadow: inset 0 0 2rem 6rem orange;
}
.ihs.iconized.noBorder img:first-child {
	border-radius: unset;
}	
.ihs.imaged {
	width: 20em;
	height: auto;
}
.ihs.imaged.active img:first-child {
	/*box-shadow: 0 0 2rem 0.5rem #c4c4c4;*/
	animation: unset;
}	
.ihs.imaged img{
	object-fit: contain;
	animation: hzi 2s infinite;
}
.back-image .ihs img{
   max-height: unset;
   animation: unset;
}
/* Themes */
.labelData.hs.white{
	background: white;
    box-shadow: 0 0 1rem rgba(0,0,0,.5);
    color: #313537;
}
.labelData.hs.transparent{
	background: transparent;
    color: white !important;
}
.labelData.hs.active {
	opacity: 1;
	height: auto;
	pointer-events: auto;
	min-height: unset;
}
.labelData.hs.right.active {

}
.labelData.hs h3{
	color: inherit;
}
.labelData.hs.right h3 {
    transform: scaleX(-1);
}
.labelData.hs .labelText{
	position: relative;
    min-height: unset;
    margin-top: 1rem;
    padding-bottom: 1em;
    max-height: 10.25rem;
    height: auto;
    letter-spacing: normal;
    line-height: 1.87;
    color: inherit;
}
.labelData.hs .labelText p,
.labelData.hs .labelText ul,
.labelData.hs .labelText ol{
	font-size: 14px;
    margin: unset;
    font-family: 'SourceSansProLight';
    font-weight: normal;
    line-height: 1.666;
	margin-bottom: 1rem;
}
.back-image .ihs .labelData.hs .labelSpot .labelText img{
	max-width: 100%;
    height: auto;
    width: 100%;
}
.backgroundWrapper .labelData.hs.active {
    left: calc(50% + 20px);
    top: calc(50% - 250px);
    transform: unset;
    margin: 0;
}
.labelSpot img{
	animation:unset!important;
	box-shadow:unset!important;
	border-radius:unset!important;
	max-height: 20rem!important;
}
.labelSpot.hs{
	position: absolute;
    display: flex;
    flex-direction: column;
    width: 24vw;/*40em;*//*30em;450px;350px;*/
    font-size: 2em;/*1.5em;*/
	top: 0;
	left: 0;
	opacity: 0;
	color: white;
	background: rgba(0, 0, 0, .6);
	box-shadow: 0 0 1rem rgba(0,0,0,.5);
	border: .065rem white solid;
	border-radius: 4px;
	z-index: 1;
	will-change: transform;
	transform: scale(0);
	transform-origin: 50% 50%;
	/* esto para hs con scale
    transition: opacity 0.5s ease-in , transform 0.75s ease-in; */
	transition: opacity 0.25s ease-in;
	
	-webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
	pointer-events: auto;
}
.labelSpot.hs.small{
	width: 15em;
}
.labelSpot.hs.smaller{
	width: auto;
}
.portrait .labelSpot.hs{
	/*font-size: 0.5em;*/
}
.labelSpot.hs.active {
	opacity: 1;
	transform: scale(1);
    margin: 0;
	pointer-events: auto;
}
.ihs.iconized .labelSpot.hs.active{
	left: calc(50% + 2.5rem);
}
.ihs.iconized .labelSpot.hs.bubble.active{
	left: calc(50% + 3em);
	/*top: -9px;*/
}
.labelSpot.hs h3{
	color: inherit;
	font-size: 1.5vmax;/*1.5625rem;*/
	margin: 0;
	padding: 1rem;
}
/* NUEVO 02/03 */
.labelSpot.hs.center.active{
	
}
.labelSpot.hs.bottom.active{
	
}
/* FIN NEW */
.labelSpot.hs.right.active{
	left: initial!important;
    right: 100%;
}
.labelSpot.hs .labelText{
	position: relative;
	color: inherit;
	cursor: pointer;
	padding: 0 1rem;
    max-height: 25.25rem;/*30.25rem;*//*18.25rem;*/
    height: auto;
    overflow: hidden;
    overflow-y: auto;
}
.labelSpot.hs .labelText p,
.labelSpot.hs .labelText ul,
.labelSpot.hs .labelText ol{
	font-size: 1.5rem;/*inherit;*/
    margin: unset;
    font-family: 'SourceSansProLight';
    font-weight: normal;
    line-height: 1.666;
	margin-right: 5px;
}
.portrait .labelSpot.hs .labelText p, 
.portrait .labelSpot.hs .labelText ul, 
.portrait .labelSpot.hs .labelText ol {
	font-size: 0.5rem;
}
.portrait .labelSpot.hs .labelText{
	max-height: 7.25rem;
}
.labelSpot.hs.white{
	background: white;
    box-shadow: 0 0 1rem rgba(0,0,0,.5);
    color: #313537;
}
.labelSpot.hs.transparent{
	background-color: #f1ecec14;
	color: black;
	backdrop-filter: blur(10px);
}
.labelSpot.hs.darkred{
	background-color: darkred;
	color: white;
}
.labelSpot.hs.darkblue{
	background-color: #2b445a;
	color: white;
}
.labelSpot.hs.darkgreen{
	background-color: #31681c;
	color: white;
}
.labelSpot.hs.darkorange{
	background-color: orange;
	color: white;
}
.labelSpot .labelText::-webkit-scrollbar {
  display: block;
  width: 10px;
}
.labelSpot .labelText::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px transparent; 
  border-radius: 10px;
}
.labelSpot .labelText::-webkit-scrollbar-thumb {
  background: orange; 
  border-radius: 10px;
}
.labelSpot .labelText::-webkit-scrollbar-thumb:hover {
  background: orange; 
}
/* Hit icons */
.okIcon{
	display: none;
	position: relative;
    width: 1.5em;
	height: auto;
    fill: #6ec322;
}
.okIcon .filler{
	fill: none;
	stroke: #fff;
	stroke-linecap: round;
	stroke-width: 5px;
	fill-rule: evenodd;
}
.nokIcon{
	position: relative;
    width: 1.5em;
	height: auto;
    fill: red;
}
.nokIcon .filler{
	fill: none;
	stroke: #fff;
	stroke-linecap: round;
	stroke-width: 5px;
	fill-rule: evenodd;
}
.realBottom .okIcon,
.realBottom .nokIcon{
	width: 1.5rem;
}
/* speech */
.bubble{
	--arrow-w:0.5em;
	--arrow-h:1em;
	--bubble-corners:0;
	--w:15em;
	--border-size:1px;
	--text-color:black;
	--bubble-color:rgba(0, 0, 0, .6);
	--border-color:white;
}
.white.bubble{
	--bubble-color: rgb(255 255 255);
}

.bubble{
  text-align:center;
  font-size:1.5em;
  padding: 1em;
  border-radius:var(--bubble-corners)!important;
  width: auto;
  max-width:var(--w)!important;
}
.labelSpot.hs.bubble h3 {
	padding: unset;
    margin-bottom: 5px;
}
.labelSpot.hs.bubble.circle h3 {
	padding: 0;/*1rem 0rem 0em 0rem;*/
    margin-bottom: 0;
}
.labelSpot.hs.bubble .labelText {
	padding: unset;
	/*max-height: unset;*/
}
.labelSpot.hs.bubble.circle .labelText {
	padding: 0;
	overflow-y: hidden;
}
.labelSpot.hs.bubble .labelText p,
.labelSpot.hs.bubble .labelText ul,
.labelSpot.hs.bubble .labelText ol{
	font-size: inherit;
	padding: 0;
	margin: 0;
	margin-top: 5px;
}
.bubble.round{
  --bubble-corners:1em;
}

.bubble.circle{
  --bubble-corners:100%;
  padding:1em;
}

.bubble:before,.bubble:after{
  content:"";
  position:absolute;
  bottom:calc(-1 * var(--arrow-h) * 2 + 0.5px);
  left:50%;
  border-style:solid;
  border-width:var(--arrow-h) var(--arrow-w);
  border-color:var(--bubble-color) transparent transparent;
}

.bubble:before{
  border-width:calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
  border-color:var(--border-color) transparent transparent;
  bottom:calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size)); 
  left:calc(50% - var(--border-size));
}

.bubble.t:after{
  border-color:transparent transparent var(--bubble-color);
  bottom:auto;
  /*top:calc(-1 * var(--arrow-h) * 2 + 0.5px);*/
  top:calc(1.67em - var(--arrow-w) - var(--border-size))!important
}

.bubble.circle.t:before{
  top:calc(50% - var(--arrow-w) - var(--border-size))!important
}

.bubble.circle.t:after{
  top:calc(50% - var(--arrow-w))!important
}

.bubble.t:before{
  border-width:calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
  border-color:transparent transparent var(--border-color);
  bottom:auto;
  /*top:calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size)); */
  top:calc(1.6em - var(--arrow-w) - var(--border-size))!important
}

.bubble.b:after{
  border-color:transparent transparent var(--bubble-color);
  bottom:auto;
  /*top:calc(-1 * var(--arrow-h) * 2 + 0.5px);*/
  top:calc(95% - var(--arrow-w) - var(--border-size))/*!important*/
}

.bubble.b:before{
  border-width:calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
  border-color:transparent transparent var(--border-color);
  bottom:auto;
  /*top:calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size)); */
  top:calc(95% - var(--arrow-w) - var(--border-size))/*!important*/
}

.bubble.bb:after{
  border-color:transparent transparent var(--bubble-color);
  bottom:auto;
  /*top:calc(-1 * var(--arrow-h) * 2 + 0.5px);*/
  top:calc(95.25% - var(--arrow-w) - var(--border-size))!important
}

.bubble.bb:before{
  border-width:calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
  border-color:transparent transparent var(--border-color);
  bottom:auto;
  /*top:calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size)); */
  top:calc(95% - var(--arrow-w) - var(--border-size))!important
}

.bubble.circle.bb:before{
  top:calc(50% - var(--arrow-w) - var(--border-size))!important
}

.bubble.circle.bb:after{
  top:calc(50% - var(--arrow-w))!important
}

.bubble.l:after{
  border-color:transparent var(--bubble-color) transparent transparent;
  bottom:auto;
  border-width:var(--arrow-w) var(--arrow-h);
  top:calc(50% - var(--arrow-w));
  left:calc(-1 * var(--arrow-h) * 2 + 0.5px);
}

.bubble.l:before{
  border-width:calc(var(--arrow-w) + var(--border-size)) calc(var(--arrow-h) + var(--border-size));
  border-color:transparent var(--border-color) transparent transparent;
  bottom:auto;  
  top:calc(50% - var(--arrow-w) - var(--border-size));
  /*left:calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size)); */
  left: calc(-1 * var(--arrow-h) * 2 - 1.5*var(--border-size));
}

.bubble.r:after{
  border-color:transparent transparent transparent var(--bubble-color);
  bottom:auto;
  left:auto;
  border-width:var(--arrow-w) var(--arrow-h);
  top:calc(50% - var(--arrow-w));
  right:calc(-1 * var(--arrow-h) * 2 + 1.5px);/*calc(-1 * var(--arrow-h) * 2 + 0.5px);*/
}

.bubble.r:before{
  border-width:calc(var(--arrow-w) + var(--border-size)) calc(var(--arrow-h) + var(--border-size));
  border-color:transparent transparent transparent var(--border-color);
  bottom:auto;
  left:auto;
  top:calc(50% - var(--arrow-w) - var(--border-size));
  right:calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size) + 1.5px);/*calc(-1 * var(--arrow-h) * 2 - 2.5*var(--border-size)); */
}

.bubble.pop{
  animation-name: pop;
  animation-duration: 0.5s;
  animation-timing-function:cubic-bezier(0.755, 0.050, 0.855, 0.060);
}

.bubble.float{
  animation-name: float-up;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function:ease;
}

.bubble.r.float{
  animation-name: float-left;
}

.bubble.l.float{
  animation-name: float-right;
}

.bubble.t.float{
  animation-name: float-down;
}
@keyframes pop {
  0% {transform: scale(0.8);}
  80% {transform: scale(1.1);}
  90% {transform: scale(0.9);}
  100% {transform: scale(1);}
}

@keyframes float-up {
  0% {transform: translateY(0);}
  50% {transform: translateY(calc(-1 * var(--arrow-h)));}
}

@keyframes float-left {
  0% {transform: translateX(0);}
  50% {transform: translateX(calc(-1 * var(--arrow-h)));}
}

@keyframes float-right {
  0% {transform: translateX(0);}
  50% {transform: translateX(var(--arrow-h));}
}

@keyframes float-down {
  0% {transform: translateY(0);}
  50% {transform: translateY(var(--arrow-h));}
}
/* Text Label */
.ihs .label {
	cursor: pointer;
    width: auto;
    padding: 10px;
    position: absolute;
    box-shadow: rgb(254, 26, 26) 0px 0.15em 1.25em 10px;
	font-family: SourceSansPro;
	background: black;
	border-radius: 10px;
    font-size: 3em;
	display: flex;
    flex-direction: row;
    align-items: center;
}
.ihs .label >.text {
    position: relative;
    color: wheat;
    overflow-y: hidden;
    user-select: none;
    height: auto;
}
.texted .hs img{
	max-height: 3em !important;
}
/* End Text Label */
/* Large HS Label
.labelSpot.hs.large {
	position: absolute;
	pointer-events: all;
    left: 75% !important;
    top: 50% !important;
    height: 100vh;
    color: #06090a;
	background: rgba(255, 255, 255, .92);
    width: 26vw;
    font-size: 1rem;
    line-height: 1em;
    -webkit-perspective: inherit;
    -webkit-transform: rotate3d(0, 1, 0, 90deg);
	-webkit-transition: -webkit-transform ease-in-out 1s;
	-webkit-transform-origin: right center;
	perspective: inherit;
	will-change: transform;
	transform: rotate3d(0, 1, 0, 90deg) translateY(-50%);
	transition: transform ease-in-out 1s;
	transform-origin: right center;
	transition-delay: .5s;
}
.labelSpot.hs.large.active {
	transform: rotate3d(0, 0, 0, 90deg) translateY(-50%);
}
.labelSpot.hs.large .labelText p, .labelSpot.hs.large .labelText ul, .labelSpot.hs.large .labelText ol {
    margin: 1rem;
    font-family: 'SourceSansProLight';
    font-weight: normal;
    line-height: 1.666;
    margin-right: 5px;
}
End Large HS Label */