@charset "utf-8";
/* CSS Document */

:root {
	--main-color: #7a1442;
	--secondary-color: #fdda5f;
	--white: white;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Inter", serif!important;
	line-height: 1.42857143 !important;
	margin: 0;
	padding: 0;

	color: var(--main-color);
	background: var(--secondary-color)!important;
	background: linear-gradient(0deg, rgba(236,46,30,1) 20%, rgba(253,218,95,1) 100%)!important;
}

@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;
}

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(--secondary-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: #4c602b!important;*/
	background-color: rgba(76,96,43, 0.88)!important;
}

.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(--secondary-color) !important;
}

.notice {
	padding: 8px;
	font-size: .8rem;
	color: var(--secondary-color) !important;
	background-color: var(--main-color)!important;
	text-align: center;
	margin: 0 auto;
}

/*****************************************************SHRINK***************************************************/
header.shrink {
	background-color: rgba(76,96,43, 1)!important;
	padding: 1% 0;
	box-shadow: 0px 0px 18px 4px rgba(122,20,66,0.29);
    transition: all .5s;
}

header.shrink .brand {
	width: 7%;
}

/**************************************************************************************************************/
/****************************************************FOOTER****************************************************/
/**************************************************************************************************************/
footer {
	background-color: var(--main-color);
}

.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;
}

/**************************************************************************************************************/
/***************************************************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;
}

.museums-content p.text-start {
	min-height: 150px;
}

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(122,20,66, 0.7);
	width: 100%;
	bottom: -70%;
	transition: all 0.4s;
}

figure:hover figcaption {
	bottom: 0;
}

/**************************************************************************************************************/
/**************************************************SERVICES**************************************************/
/**************************************************************************************************************/
.services {
	cursor: pointer;
}

.services p {
	padding: 0;
	margin: 0;
	color: var(--secondary-color);
}

.services h4 {
	color: var(--secondary-color) !important;
	font-family: "Inter", serif!important;
	font-weight: 600;
}

.services i {
	font-size: 50px;
	margin-bottom: 5%;
	color: var(--secondary-color);
}

.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-image: url(../img/back-element.svg);
	background-position: center 25%;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.gradient-sky { 
    padding:0;
    position: absolute;  
    top: -1px;
    left: 0;
    width: 100%;
    height: 90%;
    z-index: -1;
    background: var(--secondary-color);
    background: linear-gradient(180deg, rgba(253,218,95,1) 45%, rgba(253,218,95,0) 90%);
}

svg {
	position: absolute;
	bottom: -1px;
	width: 100%;
	height: 5vw;
	right: 0;
	/* set height to pixels if you want angle to change with screen width */
}

.front-element {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.moving-element {
	position: absolute;
	width: 20%;
	bottom: 2%;
	right: 5%;
	z-index: -2;
	overflow: hidden;
}

/**************************************************************************************************************/
/****************************************************VIDEO*****************************************************/
/**************************************************************************************************************/
#youtube {
	text-align: center;
	padding: 3%;
}

.video {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	box-shadow: 0px 0px 18px 4px rgba(0, 0, 0, 0.38);
	background-color: #000;
	margin: 3% auto 0 auto;
}

.video iframe,
#videos object,
#videos embed,
.youtube-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.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-plus {
	cursor: pointer;
    padding: 0.425rem 1rem!important;
	color: var(--secondary-color) !important;
	text-decoration: none;
}

.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;
}

address {
	font-size: 12px;
	color: var(--secondary-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: 3vw;
}

#slider-eplv h1 small {
	font-size: 1.8vw;
	font-family: "Inter", serif!important;
	display: block;
}

#slider-eplv h1 span {
	font-family: "Inter", serif!important;
	font-size: 75%;
	font-weight: bold;
}

#slider-eplv p {
	font-size: 1.3vw!important;
	margin: 0;
	color: var(--secondary-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(122, 20, 66, 1)!important;
	margin: 10px!important;
	padding: 2px!important;
	box-shadow:
	0 1px 1px rgba(122,20,66, 0),
	inset 0 1px 1px rgba(122,20,66, 0),
	0 0 0 2px rgba(122,20,66, 0);
	transition: all 0.3s!important;
	border: none!important;
}

.carousel-indicators li:hover {
	box-shadow:
		0 1px 1px rgba(122,20,66, 0.4),
		inset 0 1px 1px rgba(122,20,66, 0.1),
		0 0 0 2px rgba(122,20,66, 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(76, 96, 43, 0.7) !important;
	border-bottom-left-radius: 33px;
	border-bottom-right-radius: 33px;
}

.carousel-caption h5 {
	font-size: 0.9rem;
}

.carousel-caption p {
	color: var(--secondary-color);
	font-size: 0.65rem;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
    width: 30px!important;
    height: 30px!important;
}

.carousel-control-next, .carousel-control-prev {
	z-index: 3;
}

#slider-eplv .bg-img-1 {
	background-image: url(../img/musee-biodome.jpg);
	background-position: center 40%;
}

#slider-eplv .bg-img-2 {
	background-image: url(../img/musee-biosphere.jpg);
	background-position: center 40%;
}

#slider-eplv .bg-img-3 {
	background-image: url(../img/musee-insectarium.jpg);
	background-position: center 45%;
}

#slider-eplv .bg-img-4 {
	background-image: url(../img/musee-jardin-botanique.jpg);
	background-position: center;
}

#slider-eplv .bg-img-5 {
	background-image: url(../img/musee-planetarium.jpg);
	background-position: center 70%;
}

#slider-eplv .bg-img-6 {
	background-image: url(../img/background-passeport.jpg);
	background-position: center 60%;
}

.slider-caption {
	position: absolute;
	right: 0;
	top: 75% !important;
	transform: translateY(-50%);
	left: 0;
	z-index: 10;
	color: #fff;
	text-align: center;
	background: rgb(122,20,66);
	background: linear-gradient(90deg, rgba(122,20,66,0) 3%, rgba(122,20,66,0.87) 30%, rgba(122,20,66,0.87) 70%, rgba(122,20,66,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.2);
	}
    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);
	animation: grow 5s ease-in-out alternate;
}

#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;
	}
}

.path-position {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
}

.passport {
    position: absolute;
    top: 20%;
    width: 30%;
    margin: 0 35%;
}

.passport-animation {
	animation: float-no-shadow 4s ease-in-out infinite;
}

/**************************************************************************************************************/
/***************************************************LOADING****************************************************/
/**************************************************************************************************************/

#loading {
	background: var(--secondary-color);
	height: 100%;
	width: 100%;
	position: fixed;
	z-index: 99999999;
	margin-top: 0px;
	top: 0px;
}

/* HTML: <div class="loader"></div> */
.loader {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 45px;
	aspect-ratio: 1;
	--c:no-repeat linear-gradient(var(--main-color) 0 0);
	background: 
	var(--c) 0    0, 
	var(--c) 50%  50%, 
	var(--c) 100% 100%;
	animation: 
	l17 1s infinite alternate;
}

@keyframes l17 {
 0%,
 10%  {background-size:20% 100%}
 50%  {background-size:20% 20%}
 90%,
 100% {background-size:100% 20%}
}

/**************************************************************************************************************/
/****************************************************MODAL*****************************************************/
/**************************************************************************************************************/
.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(--secondary-color);
}

.modal-content {
	border: none !important;
    background: rgba(76, 96, 43, 1)!important;
	border-radius: 33px!important;
}

.modal-body {
    color: var(--secondary-color);
}

.modal-body h3 {
    font-size: 1.4rem;
}

.modal-body a {
    color: var(--secondary-color)!important;
}

.modal-body hr {
    margin: 20px 0 !important;
    height: 1px;
    opacity: 0.5 !important;
    border: none !important;
    background: rgb(253, 218, 95);
    background: linear-gradient(90deg, rgba(253, 218, 95, 0) 3%, rgba(253, 218, 95, 0.78) 30%, rgba(253, 218, 95, 0.78) 70%, rgba(253, 218, 95, 0) 97%);
}

.modal-footer {
    border-top: 0px solid var(--secondary-color)!important;
    padding: 7px 15px!important;
}

.modal-header {
    border-bottom: 1px solid var(--secondary-color)!important;
    padding: 7px 15px!important;
    justify-content: flex-end!important;
}

.close:focus, .close:hover {
	filter: alpha(opacity=40)!important;
    opacity: .4!important;
    color: var(--secondary-color)!important;
}

.close {
    filter: alpha(opacity=70)!important;
    opacity: .7!important;
	color: var(--secondary-color)!important;
}

.btn-default {
    color: var(--secondary-color)!important;
    background-color: #262730!important;
    border-color: #B9BAB5!important;
}

.modal-open {
    padding-right: 0px!important;
}

.modal-fullscreen {
    width: 92%!important;
    height: auto!important;
    margin: 4%!important;
}

.modal-body img {
    border-radius: 33px;
}

.frame {
	border: 1px dotted #fdda5f;
	padding: 15px;
}

/* ======== Cookie Yes ======== */

.cky-banner-element {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
	color: var(--secondary-color) !important;
    background-color: rgba(0,0,0,0);
    padding-left: 0px;
    padding-right: 0px;
    border-width: initial;
    border-style: none;
    display: inline-flex;
    align-items: center;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    font-size: .8rem;
}

/* ======== Stars animation ======== */

@keyframes particleAnimation
{
    from {
        left: -100px;
    }
    to {
        left: calc(100% + 100px);
        top: 70%;
        filter: alpha(opacity=30)!important;
        opacity: .3!important
    }
}

.shooting-medium {
    position:absolute;
    left:0px;
    top:50px;
    width:2px;
    height:2px;
    background-color:white;
    animation-name:particleAnimation;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    transform: rotate(20deg);
}

.shooting-medium::before {
    position:absolute;
    display:block;
    content:"";
    width:100px;
    right:1px;
    top:0px;
    height:2px;
    background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(255,255,255,0.4) 100%); 
}

.shooting {
    position:absolute;
    left:0px;
    top:50px;
    width:1px;
    height:1px;
    background-color:white;
    animation-name:particleAnimation;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    transform: rotate(20deg);
}

.shooting::before {
    position:absolute;
    display:block;
    content:"";
    width:100px;
    right:1px;
    top:0px;
    height:1px;
    background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(255,255,255,0.4) 100%); 
}

.star {
    animation-duration:20s;
    top:20%;
}

.star2 {
    animation-duration:10s;
    top:30%;
}

.star3 {
    animation-duration:15s;
    top:40%;
}

.star4 {
    animation-duration:5s;
    top:5%;
}




