@charset "utf-8";
/* CSS Document */

:root {
	--main-color: #fcf8cd; /* 252, 248, 205 */
	--secondary-color: #936b64; /* 147, 107, 100*/
	--third-color: #c99287; /* 201, 146, 135*/
	--fourth-color: #febba9; /* 254, 187, 169 main*/
	--fifth-color: #343333; /* 52, 51, 51*/
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Inter", serif!important;
	line-height: 1.42857143 !important;
	margin: 0;
	padding: 0;

	color: var(--main-color)!important;
	background : url(../img/bg-concrete.png) repeat;
}

.square-peg-regular {
	font-family: "Reenie Beanie", cursive;
	font-style: normal;
}

svg.move {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
	z-index: -1;
}

@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.out-top {
	animation: rotate 20s linear infinite;
	transform-origin: 13px 25px;
}

.in-top {
	animation: rotate 10s linear infinite;
	transform-origin: 13px 25px;
}

.out-bottom {
	animation: rotate 25s linear infinite;
	transform-origin: 84px 93px;
}

.in-bottom {
	animation: rotate 15s linear infinite;
	transform-origin: 84px 93px;
}

@font-face {
	font-family: 'Sloke Bold';
	src: url('../css/font/Sloke-Bold.eot');
	src: url('../css/font/Sloke-Bold.eot?#iefix') format('embedded-opentype'),
		url('../css/font/Sloke-Bold.woff2') format('woff2'),
		url('../css/font/Sloke-Bold.woff') format('woff'),
		url('../css/font/Sloke-Bold.ttf') format('truetype'),
		url('../css/font/Sloke-Bold.svg#Sloke-Regular') format('svg');
	font-weight: 500;
	font-style: normal;
}

@font-face {
    font-family: 'Reenie Beanie';
    src: url('../css/font/ReenieBeanie.eot');
    src: url('../css/font/ReenieBeanie.eot?#iefix') format('embedded-opentype'),
        url('../css/font/ReenieBeanie.woff2') format('woff2'),
        url('../css/font/ReenieBeanie.woff') format('woff'),
        url('../css/font/ReenieBeanie.ttf') format('truetype'),
        url('../css/font/ReenieBeanie.svg#ReenieBeanie') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


body a:active, body a:visited {
	color: var(--main-color);
	text-decoration: none;
}

body a:hover, body a:link {
	color: var(--main-color);
	text-decoration: none;
	transition: all .3s;
}

h1 {
	font-family: 'Sloke Bold', sans-serif !important;
	color: var(--main-color) !important;
}

h2,
h3,
h4,
h5 {
	color: var(--secondary-color) !important;
}

ul li {
	padding: 1%;
}

/**************************************************************************************************************/
/****************************************************HEADER****************************************************/
/**************************************************************************************************************/
header {
	text-align: right;
	box-shadow: 0px 0px 18px 4px rgba(50,51,63,0.11);
	padding: 2% 0;
    transition: all .5s;
	/*background-color: var(--third-color);!important;*/
	background-color: rgba(147, 107, 100,0.88)!important;
	/*background : url(../img/bg-concrete.png) repeat;*/
}

.brand {
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	z-index: 999;
	width: 10%;
    transition: all .5s;	
}

.brand img {
	width: 100%;
}

.nav-center {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-50%, -50%);
}

.language {
	text-align: left;
	font-weight: 600;
	font-size: 19px!important;
    text-transform: uppercase;
    color: var(--main-color) !important;
}

.notice {
	padding: 8px;
	font-size: .8rem;
	color: var(--main-color) !important;
	background-color: rgba(52, 51, 51, 1);
	text-align: center;
	margin: 0 auto;
}

/*****************************************************SHRINK***************************************************/
header.shrink {
	padding: 1% 0;
    transition: all .5s;
	background-color: rgba(55,73,117, 1)!important;
}

header.shrink .brand {
	width: 7%;
}

/**************************************************************************************************************/
/****************************************************FOOTER****************************************************/
/**************************************************************************************************************/
footer {
	background: linear-gradient(180deg, rgba(32, 33, 35, 1) 10%,  rgba(0, 0, 0, 0.8) 35%, rgba(69,49,36, 0.8) 100%);
	/*background-image : url(../img/bg-concrete.png);
	background-repeat: repeat;*/
	position: relative;
}

.copyright {
	position: relative;
	width: 100%;
	box-shadow: 0px 0px 18px 4px rgba(0,0,0,0.38);
}


.logo-left {
	height: 34px;
    width: auto;
}

.logo-right {
	height: 34px;
    width: auto;
}

.logos {
	height: 60px;
    width: auto;
}

.logos-mobile {
	height: 100px;
    width: auto;
	margin-top: 15px;
}

/**************************************************************************************************************/
/***************************************************MUSEUMS****************************************************/
/**************************************************************************************************************/

.museums {
}

.museums-content {
	color: var(--main-color) !important;
}

.museums h2 {
	font-size: 2vw !important;
	color: var(--main-color) !important;
	display: flex;
	align-items: center;
	justify-content: center;
}

.museums h2 .fas {
	font-size: 75% !important;
}

.museums h3 {
	font-size: 1.2rem;
	color: var(--main-color) !important;
	font-weight: bold;
}

figure {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 33px;
}

figcaption {
	position: absolute;
	text-align: center;
	color: var(--secondary-color);
	font-size: 12px;
	padding : 7px;
	background-color: rgba(55,73,117, 0.7);
	width: 100%;
	bottom: -70%;

	transition: all 0.4s;
}

figure:hover figcaption {
	bottom: 0;
}

/**************************************************************************************************************/
/*************************************************EXHIBITIONS**************************************************/
/**************************************************************************************************************/

.expos-item {
    cursor: pointer;
}

.expos-item img  {
    width: 100%;
	background-color: var(--main-color);
	padding: 0;

	transition: all 0.3s;
}

.middle-englobe {
	position: relative;
}

.middle i  {
	opacity: 0.6;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: 75px;

	transition: all 0.3s;
}

/*.expos-item:hover .middle i {
	opacity: 1;
}*/

.expos-item:hover img {
    padding: 11px;
	box-shadow: 0px 0px 18px 4px rgba(254, 187, 169,0.74);  
}

.expos-item p:last-child {
	margin-bottom: 0;
}

.expos-item h3, .expos-item h5 {
	color: var(--main-color) !important;
}

hr {
	margin: 0!important;
	height: 2px;
	opacity: 1!important;
	border: none!important;
	background: rgb(55,73,117);
	/*background: linear-gradient(90deg, rgba(15,50,98,0) 3%, rgba(15,50,98,0.78) 30%, rgba(15,50,98,0.78) 70%, rgba(15,50,98,0) 97%);*/
	background: linear-gradient(90deg, rgba(201, 146, 135,0) 3%, rgba(201, 146, 135,0.78) 30%, rgba(201, 146, 135,0.78) 70%, rgba(201, 146, 135,0) 97%);
}

.intro p {
	font-size: 18px;
	font-weight: bold;
}

/**************************************************************************************************************/
/**************************************************SERVICES**************************************************/
/**************************************************************************************************************/
.services {
	cursor: pointer;
}

.services p {
	padding: 0;
	margin: 0;
	color: var(--main-color);
}

.services h4 {
	color: var(--main-color) !important;
	font-family: "Inter", serif!important;
	font-weight: 600;
}

.services i {
	font-size: 50px;
	margin-bottom: 5%;
	color: var(--main-color);
}

.metro {
	width: 200px;
}

.flashit {
	animation: flash linear 2s infinite;
}

.tickets-link a {
	font-size: 1.5vw;
	padding: 0.5rem 1.3rem 0.5rem 4.2rem!important;
}

.tickets-link a img {
	width: 28px;
}

main {
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.main-fr {
	background-image: url(../img/background-emolab.jpg);
}

.main-en {
	background-image: url(../img/background-emolab-en.jpg);
}

main h2 {
	font-size: 2.5rem!important;
	background: rgb(55,73,117);
	background: linear-gradient(90deg, rgba(55,73,117,0) 3%, rgba(55,73,117,0.78) 30%, rgba(55,73,117,0.78) 70%, rgba(55,73,117,0) 97%);
	color: var(--third-color)!important;
}

main h4 {
	font-size: 18px!important;
	color: var(--main-color)!important;
}

.quote {
	background: rgb(55,73,117);
	background: linear-gradient(90deg, rgba(201, 146, 135,0) 3%, rgba(201, 146, 135,0.78) 30%, rgba(201, 146, 135,0.78) 70%, rgba(201, 146, 135,0) 97%);
}


.gradient-sky { 
    padding:0;
    position: absolute;  
    top: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--secondary-color);
    background: linear-gradient(180deg, rgba(147, 107, 100,1) 60%, rgba(227,84,124,0) 100%);
}

.field {
	position: absolute;
	bottom: -1px;
	width: 100%;
	height: 5vw;
	right: 0;
	/* set height to pixels if you want angle to change with screen width */
}

.singer {
	position: absolute;
	width: 22%;
	bottom: 0;
	right: 2%;
	transition: all .3s;
}

.biosphere {
	position: absolute;
	width: 22%;
	bottom: 56px;
	left: 0;
	z-index: 0;
	transition: all .3s;
}

.front-element {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
}

.moving-element {
	position: absolute;
	width: 15%;
	bottom: 45%;
	right: -20%;
	z-index: 1;
	overflow: hidden;

	animation: linear infinite;
	animation-name: boat;
	animation-duration: 50s;
}

@keyframes boat {
	0% {
		right: -15%;
	}

    100% {
        right: 115%;
    }
}

/**************************************************************************************************************/
/****************************************************VIDEO*****************************************************/
/**************************************************************************************************************/
#youtube {
	text-align: center;
	padding: 3%;
}

.video {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    background-color: var(--third-color);
    margin: 0 auto;
}

.video iframe,
#videos object,
#videos embed,
.youtube-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: .5rem;
}

.video-englobe {
	text-align: center;
}

/**************************************************************************************************************/
/***************************************************BUTTONS****************************************************/
/**************************************************************************************************************/

.btn {
    cursor: pointer;
    padding: 0.425rem 1rem 0.425rem 2.77rem!important;
	color: var(--secondary-color) !important;
	position: relative;
}

.btn img {
    position: absolute;
    top: 50%;
	left: 7%;
    width: 20px;
    transform: translateY(-50%);
}

.btn-buy-tickets {
	background-color: var(--main-color) !important;
}

.btn-buy-tickets:hover {
	box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb),.22)!important;
}

/**************************************************************************************************************/
/*****************************************************MAP******************************************************/
/**************************************************************************************************************/
#map {
	height: 440px;
	width: 100%;
	background-image: url(../img/bg-map.png);
	background-position: center;
	background-size: cover;
	box-shadow: 0px 0px 18px 4px rgba(0,0,0,0.38);
	border-radius: 22px;
	cursor: grab;
}

/**************************************************************************************************************/
/****************************************************COORDS****************************************************/
/**************************************************************************************************************/
.coords h4 {
	width: 100%;
	font-size: 1.5rem!important;
    font-weight: 600;
	color: var(--third-color)!important;
}

.coords h5 {
	color: var(--third-color)!important;
}

address {
	font-size: 12px;
	color: var(--third-color) !important;
	text-transform: none;
	padding-bottom: 1%;
	line-height: 18px;
}

address:last-child {
	margin-bottom: 0 !important;
}

.coords span {
	color: var(--main-color);
}

.coords strong,
.coords span {
	font-size: 16px;
	font-weight: normal;
}

.coords strong {
	margin-bottom: 7px;
	display: block;
}

/**************************************************************************************************************/
/****************************************************SLIDER****************************************************/
/**************************************************************************************************************/
#slider-eplv h1 {
	margin-top: 0;
	font-size: 6vw;
}

#slider-eplv h1 small {
	font-size: 2.4vw;
	display: block;
	margin-bottom: 5px;
	color: var(--main-color);
}

#slider-eplv h1 span {
	color: var(--fourth-color);
}

span.five {
	font-size: 105%!important;
}

#slider-eplv p {
	font-size: 1.5vw!important;
	margin: 0;
	color: var(--main-color) !important;
	font-weight: 600;
}

.carousel-item {
	cursor: pointer;
}

.carousel-indicators {
    bottom: -65px!important;
}

.carousel-indicators li {
	width: 14px!important;
	height: 14px!important;
	border-radius: 50%;
	background: rgba(55,73,117, 1)!important;
	margin: 10px!important;
	padding: 2px!important;
	box-shadow:
	0 1px 1px rgba(55,73,117, 0),
	inset 0 1px 1px rgba(55,73,117, 0),
	0 0 0 2px rgba(55,73,117, 0);
	transition: all 0.3s!important;
	border: none!important;
}

.carousel-indicators li:hover {
	box-shadow:
		0 1px 1px rgba(55,73,117, 0.4),
		inset 0 1px 1px rgba(55,73,117, 0.1),
		0 0 0 2px rgba(55,73,117, 0.5);
}

.carousel-indicators .active {
	background: rgba(50, 51, 63, 1);
}

.carousel-caption {
	position: absolute;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 10;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #fff;
	text-align: center;
	background-color: rgba(55,73,117, 0.75);
}

.carousel-control-next-icon, .carousel-control-prev-icon {
    width: 30px!important;
    height: 30px!important;
}

.carousel-control-next, .carousel-control-prev {
    top: 60%!important;
	z-index:3;
}

#slider-eplv .bg-img-1 {
	background-image: url(../img/slider-emolab.jpg);
	background-position: center 35%;
}

/*#slider-eplv .bg-img-6 {
	background-image: url(../img/background-passeport.jpg);
	background-position: center;
}*/

.slider-caption {
	position: absolute;
	right: 0;
	top: 75% !important;
	transform: translateY(-50%);
	left: 0;
	z-index: 10;
	color: #fff;
	text-align: center;
	background: rgb(55,73,117);
	background: linear-gradient(90deg, rgba(55,73,117,0) 3%, rgba(55,73,117,0.87) 30%, rgba(55,73,117,0.87) 70%, rgba(55,73,117,0) 97%);

	transition: all .3s;
}

.curved {
	position: absolute;
	bottom: -1px;
	width: 100%;
	right: 0;
	z-index: 2;
}

.pastille {
	position: absolute;
	bottom: -7%;
	width: 200px;
	aspect-ratio: 1/1;
	right: 2%;
	z-index: 11;
	background-color: rgba(0,0,0,0.6);
	background-size: cover;
	background-position: center;
	box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
	transform: translatey(0px);
	animation: float 6s ease-in-out infinite;

	transition: all .3s;

}

/****************************************************SLIDER ANIMATIONS*****************************************/
@keyframes grow {
    0% {
        transform: scale(1.1);
	}
    100% {
        transform: scale(1);
	}
}

@keyframes float {
	0% {
		box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
		transform: translatey(0px);
	}
	50% {
		box-shadow: 0 25px 15px 0px rgba(0,0,0,0.2);
		transform: translatey(-20px);
	}
	100% {
		box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
		transform: translatey(0px);
	}
}

@keyframes float-no-shadow {
	0% {
		transform: translatey(0px);
	}
	50% {
		transform: translatey(-20px);
	}
	100% {
		transform: translatey(0px);
	}
}

#slider-eplv .bg-img {
	width: 100%;
	height: 700px;
	background-size: cover;
	overflow: hidden;
	transform: scale(1);
}

.grow {
	animation: grow 5s linear;
}

#slider-eplv h1 {
	animation: moveUp 1s ease-in-out both;
}

#slider-eplv p {
	animation: fadeIn 0.5s linear 0.5s both;
}

@keyframes moveUp {
	0% {
		transform: translateY(40px);
	}

	100% {
		transform: translateY(0px);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.passport {
	position: absolute;
	top: -170px;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 800px;
}

.path-position {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
}

.passport-animation {
	animation: float-no-shadow 4s ease-in-out infinite;
}

/**************************************************************************************************************/
/***************************************************LOADING****************************************************/
/**************************************************************************************************************/
#loading {
	background: var(--fifth-color);
	height: 100%;
	width: 100%;
	position: fixed;
	z-index: 99999999;
	margin-top: 0px;
	top: 0px;
}

/* HTML: <div class="loader"></div> */
.loader {
	width: 65px;
	aspect-ratio: 1;
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.loader:before,
.loader:after {
	content: "";
	position: absolute;
	border-radius: 50px;
	box-shadow: 0 0 0 3px inset var(--main-color);
	animation: l4 2.5s infinite;
}
.loader:after {
	animation-delay: -1.25s;
}
@keyframes l4 {
	0% {
		inset: 0 35px 35px 0;
	}
	12.5% {
		inset: 0 35px 0 0;
	}
	25% {
		inset: 35px 35px 0 0;
	}
	37.5% {
		inset: 35px 0 0 0;
	}
	50% {
		inset: 35px 0 0 35px;
	}
	62.5% {
		inset: 0 0 0 35px;
	}
	75% {
		inset: 0 0 35px 35px;
	}
	87.5% {
		inset: 0 0 35px 0;
	}
	100% {
		inset: 0 35px 35px 0;
	}
}

/**************************************************************************************************************/
/****************************************************MODAL*****************************************************/
/**************************************************************************************************************/
.modal-content {
	border: none !important;
	background: var(--third-color)!important;
}

.modal-footer {
	border-top: 1px solid var(--secondary-color) !important;
}

.modal-header {
	border-bottom: 1px solid var(--secondary-color) !important;
}

.modal-title {
	margin-bottom: 2% !important;
}

.close:focus,
.close:hover {
	filter: alpha(opacity=40) !important;
	opacity: .4 !important;
	color: var(--main-color) !important;
}

.close {
	filter: alpha(opacity=70) !important;
	opacity: .7 !important;
	color: var(--main-color) !important;
	cursor: pointer;
}

.btn-default {
	color: var(--main-color) !important;
	background-color: #2c383d !important;
	border-color: #B9BAB5 !important;
}

.modal-open {
	padding-right: 0px !important;
}

.modal-title {
	width: 90% !important;
}

.modal-body h5 {
	margin-top: 25px;
}

.modal-body h5.first {
	margin-top: 0 !important;
}

.modal .btn {
	margin-top: 25px;
}

.modal-open .modal {
	padding-right: 0 !important;
}

.modal-open {
	overflow: inherit !important;
}

.modal button {
    cursor: pointer;
    background: none;
    padding: 0!;
    font-size: 24px !important;
    border: none;
    color: var(--main-color);
}

/* ======== Cookie Yes ======== */

.cky-banner-element {
	color: var(--main-color) !important;
    background-color: rgba(0,0,0,0);
    padding-left: 0px;
    padding-right: 0px;
    border-width: initial;
    border-style: none;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    font-size: .8rem;
	margin-top: 20px;
}


@keyframes run {
	0% {
		left: -15%;
		}

    60% {
        left: 75%;
		transform: rotateY(0);
    }

    65% {
        left: 75%;
        transform: rotateY(-180deg);
    }

    75% {
        left: -10%;
        transform: rotateY(-180deg);
	}
	
	80% {
        left: -10%;
        transform: rotateY(0);
    }

    100% {
        left: -10%;
        transform: rotateY(0);
    }
}




