
	body{
		margin: 0px;
		font-family: 'Poppins';
		font-weight: 200;
	}

	.center{
		text-align: center;
	}

	.white{
		color: white;
	}

	a{
		text-decoration: none;
	}

	.main p{
		line-height: 1.2em;
	}

	.no-margin{
		margin-bottom: 0px !important;
	}

	.mt40{
		margin-top: 40px;
	}

/*---------GRILLE---------*/
	
	.w{
		margin: auto;
	}
		.w1500{
			max-width: 1400px;
		}
		.w1300{
			max-width: 1300px;
		}
		.w1000{
			max-width: 900px;
		}

		.main{
			background-color: white;
			overflow: hidden;
		}

/*---------TITLE---------*/
	
	.subtitle{
		text-transform: uppercase;
		font-weight: 500;
		letter-spacing: 0.5px;
		font-size: 15px;
		margin-bottom: 5px;
	}

	h2{
		color: #1b4c69;
		line-height: 1.2em;
		font-size: 25px;
		font-weight: 800;
		margin-top: 10px;
		margin-bottom: 8px;
	}

/*---------BTN---------*/

	.btn-blue{
		border-radius: 50px;
		border: 2px solid #1b4c69;
		letter-spacing: 0px;
		font-weight: 800;
		color: #1b4c69;
		padding: 10px 40px;
		text-transform: uppercase;
		display: inline-block;
		margin-top: 20px;
		font-size: 13px;
		cursor: pointer;
		background-color: transparent;
	}
		.btn-blue:hover{
			background-color: #1b4c69;
			border-color: #1b4c69;
			color: white;
		}

/*---------HEADER---------*/
	
	.background-header{
		background-color: #2D4656;
		margin: 0px;
		max-width: inherit;
		margin-bottom: 50px;
	}

	nav{
		text-align: right;
		margin-top: 50px;
		margin-bottom: 70px;
		margin-right: 30px;
	}
	.background-header nav{
		margin: auto;
		max-width: 1400px;
		padding: 40px 0px;
		padding-right: 40px;
	}
		nav ul li{
			display: inline-block;
		}
			nav ul li a{
				color: white;
				text-transform: uppercase;
				font-weight: 500;
				letter-spacing: 1px;
				margin-right: 30px;
			}
				nav ul li a:hover{
					color: #1b4c69;
				}

		.right-nav a{
			border-radius: 50px;
			border: 2px solid white;
			letter-spacing: 0px;
			font-weight: 800;
			margin-right: 2px;
		}
			.right-nav a:hover{
				background-color: #1b4c69;
				border-color: #1b4c69;
				color: white;
			}
				.right-nav a:first-child{
					position: relative;
					margin-left: 40px;
					padding: 10px 40px;
				}
					.right-nav a:first-child:after{
						content: '';
						position: absolute;
						left: -50px;
						bottom: -20px;
						height: 50px;
						width: 120px;
						background-image: url(../img/nuage-standard.svg);
						background-repeat: no-repeat;
						background-size: contain;
					}

				.right-nav a:not(:first-child){
					height: 40px;
					display: inline-block;
					width: 40px;
					text-align: center;
					line-height: 49px;
					transform: translateY(4px);
				}

		.mobile-menu{
			display: none;
		}

/*---------SLIDER---------*/
	
	.slider{
		margin-bottom: 80px;
	}
	.slider p,
	.slider h1,
	header{
		z-index: 10;
		position: relative;
	}
		video{
			object-fit: cover;
			object-position: 0px -900px;
			position: fixed;
			top: 0px;
			left: 0px;
	  		z-index: -1;
		}
			.video:after{
				content: '';
				bottom: -40px;
				left: 0px;
				background: linear-gradient(0deg, rgba(73,84,99,1) 20%, rgba(73,84,99,0) 100%);
				position: absolute;
				height: 80%;
				width: 100%;
				z-index: -1;
			}
			.video:before{
				content: '';
				top: 0px;
				left: 0px;
				background: linear-gradient(0deg, rgba(73,84,99,0) 0%, rgba(73,84,99,1) 100%);
				position: absolute;
				height: 30%;
				width: 100%;
				z-index: 1;
				opacity: 0.4;
			}

		h1{
			font-family: 'Dancing Script';
			font-size: 70px;
			margin-bottom: 50px;
			margin-top: 130px;
			line-height: 0.7em;
  			display: block;
		}

		.slider p{
			line-height: 1em;
			font-size: 19px; 
		}
			.slider p strong{
				font-weight: 600;
				margin-bottom: 10px;
				display: block;
			}

		.down{
			margin-top: 30px;
			display: inline-block;
		}

/*---------Presentation---------*/

	.main .blue-background{
		padding: 90px 0px 230px 0px;
		background-color: #f6fafe;
		position: relative;
	}
		.main .blue-background::before,
		.main .blue-background::after {
		    content: '';
		    display: block;
		    width: 50%;  /* 50% de la largeur du parent */
		    height: 150px; /* Hauteur fixe du triangle */
		    background-color: white;
		    position: absolute;
		    bottom: 0;
		}

		.main .blue-background::before {
		    left: 0;
		    clip-path: polygon(0% 100%, 100% 100%, 0% 0%);
		}

		.main .blue-background::after {
		    right: 0;
		    clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
		}

		.main .flex{
			display: flex;
		}

		.main .presentation{
			align-items: center;
		}
			.main #concept .presentation .galerie{
				margin-right: 40px;
				margin-bottom: 30px;
			}
				.main img{
					max-width: 100%;
				}

/*---------Concept---------*/
	
	.concept-container{
		justify-content: right;
		margin-top: -150px;
		z-index: 1;
		position: relative;
	}
		.concept-bloc{
			max-width: 420px;
			background-color: #244960;
			border-radius: 30px;
			padding: 30px 70px;
			position: relative;
		}
			.concept-bloc:before{
				content: '';
				left: -230px;
				bottom: -20px;
				width: 370px;
				height: 190px;
				position: absolute;
				background-image: url(../img/nuage-2.svg);
				background-repeat: no-repeat;
				background-size: contain;
			}
			.concept-bloc:after{
				content: '';
				right: -120px;
				top: -110px;
				width: 370px;
				height: 190px;
				position: absolute;
				background-image: url(../img/nuage-3.svg);
				background-repeat: no-repeat;
				background-size: contain;
				transform: rotate(12deg);
			}

/*---------Services---------*/

	.darkblue-background{
		margin-top: 100px;
		padding-bottom: 180px;
		position: relative;
	}
		#services .services-bloc{
			justify-content: space-around;
			margin-top: 40px;
		}
			#services .services-bloc .service{
				text-align: center;
				background-color: #f8fafb;
				width: 33%;
				margin: 15px 20px;
				padding-bottom: 30px;
				border-radius: 30px;
			}
				#services .services-bloc .service h3{
					color: #1b4c69;
				}
				#services .services-bloc .service img{
					border-radius: 30px;
					margin-bottom: 15px;
					width: 100%;
					height: 200px;
					object-fit: cover;
				}

		.darkblue-background:before,
		.darkblue-background:after {
		    content: '';
		    display: block;
		    width: 50%;  /* 50% de la largeur du parent */
		    height: 150px; /* Hauteur fixe du triangle */
		    background-color: #2d4656;
		    position: absolute;
		    bottom: 0;
		}

		.darkblue-background:before {
		    left: 0;
		    clip-path: polygon(0% 100%, 100% 100%, 0% 0%);
		}

		.darkblue-background:after {
		    right: 0;
		    clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
		}

/*---------Tarifs---------*/

	.darkbluewhite-background{
		background-color: #2d4656;
		color: white;
		padding-top: 120px;
		position: relative;
		padding-bottom: 190px;
	}
		.darkbluewhite-background p{
			margin-top: 0px;
		}
			#tarifs:before{
				content: '';
				left: 50%;
				top: -110px;
				width: 417px;
				height: 190px;
				position: absolute;
				background-image: url(../img/nuage-4.svg);
				background-repeat: no-repeat;
				background-size: contain;
			}

			#tarifs:after {
			  	content: '';
			  	left: -145px;
			  	top: -10px;
			  	width: 417px;
			  	height: 190px;
			  	position: absolute;
			  	background-image: url(../img/nuage-standard.svg);
			  	background-repeat: no-repeat;
			  	background-size: contain;
			}

				#tarifs .tarifs-bloc{
					margin-top: 80px;
					padding-left: 20px;
				}
					#tarifs .tarifs-bloc .tarif{
						margin-right: 40px;
					}
						#tarifs .tarifs-bloc .tr{
							  display: flex;
							  justify-content: space-between;
							  align-items: end;
							  padding-right: 40px;
							  margin-bottom: 20px;
						}	
							#tarifs .tarifs-bloc h4{
								text-transform: uppercase;
								font-weight: 600;
								letter-spacing: 0.5px;
							}

							#tarifs .tarifs-bloc .tr .presta{
								line-height: 1.2em;
							}

							#tarifs .tarifs-bloc .tr .price{
								font-weight: 800;
								min-width: 190px;
								line-height: 1.1em;
							}
								#tarifs .tarifs-bloc .tr:has(span){
									margin-bottom: 30px;
								}
								#tarifs .tarifs-bloc .tr .price .little{
									font-size: 13px;
		  							display: block;
		  							position: absolute;
								}

					#tarifs .bouquets-bloc{
						display: flex;
						text-align: center;
						margin-bottom: 30px;
					}
						#tarifs .bouquets-bloc .bouquet{
							margin-right: 20px;
						}
							#tarifs .bouquets-bloc .bouquet img{
								border-radius: 20px;
							}
							#tarifs .bouquets-bloc .bouquet h5{
								margin: 0px;
								font-size: 15px;
								font-weight: 300;
								line-height: 1.1em;
  								margin-bottom: 6px;
							}
							#tarifs .bouquets-bloc .bouquet .price{
								font-weight: 800;
								font-size: 18px;
							}

					#tarifs em{
						font-size: 15px;
					}

	.darkbluewhite-background:before,
	.darkbluewhite-background:after {
	    content: '';
	    display: block;
	    width: 50%;  /* 50% de la largeur du parent */
	    height: 150px; /* Hauteur fixe du triangle */
	    background-color: white;
	    position: absolute;
	    bottom: 0;
	}

	.darkbluewhite-background:before {
	    left: 0;
	    clip-path: polygon(0% 100%, 100% 100%, 0% 0%);
	}

	.darkbluewhite-background:after {
	    right: 0;
	    clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
	}

/*---------stripe---------*/

	.stripe{
		width: 400px;
		background-color: #e2f1fa;
		border-radius: 40px;
		padding: 34px 65px;
		color: #2D4656;
		font-weight: 500;
		font-size: 17px;
		margin-top: -145px;
		z-index: 1;
		position: relative;
		margin-bottom: 120px;
	}
		.stripe:after{
			content: '';
			right: -400px;
			top: 0;
			width: 470px;
			height: 210px;
			position: absolute;
			background-image: url(../img/nuage-5.svg);
			background-repeat: no-repeat;
			background-size: contain;
			transform: scaleX(-1);
		}
			.stripe .logo-stripe a{
				font-weight: 300;
				font-size: 38px;
				color: #2D4656;
				display: flex;
				align-items: center;
			}
				.stripe .logo-stripe a img{
					margin-right: 10px;
				}

			.stripe em{
				font-size: 15px;
			}

/*---------Contact---------*/

	.contact-title{
		font-family: 'Dancing script';
		font-size: 65px;
	}
	#contact a{
		color: #2D4656;
	}

	#contact .form-bloc{
		background-color: #2D4656;
		border-radius: 35px;
		padding: 60px 70px;
		margin: 40px 0 90px 0;
		position: relative;
	}
		#contact .form-bloc .line{
			display: flex;
		}
			#contact .form-bloc .line input,
			#contact .form-bloc textarea{
				margin-bottom: 18px;
				border: none;
				color: white;
				background-color: #49606e;
				padding-left: 35px;
				border-radius: 15px;
				font-size: 16px;
				font-family: 'Poppins';
				font-weight: 400;
				resize: none;
			}
				#contact .form-bloc .line input:focus,
				#contact .form-bloc textarea:focus{
					outline: 1px solid rgba(255, 255, 255, 0.5);
				}

			#contact .form-bloc .line input{
				width: 40%;
				margin-right: 2%;
				height: 60px;
			}
				#contact .form-bloc textarea{
					width: 75%;
					height: 130px;
					padding-top: 20px;
				}

		#contact .form-bloc:after{
			content: '';
			background-image: url(../img/nuage-6.svg);
			background-size: contain;
			background-repeat: no-repeat;
			position: absolute;
			height: 255px;
			width: 415px;
			right: -215px;
			bottom: -50px;
		}

	#contact .form-bloc button.submit-btn{
		background-color: white;
		border: 2px solid #2D4656;
		color: #2D4656;
		border-radius: 20px;
		padding: 12px 70px;
		text-transform: uppercase;
		font-weight: 600;
		font-family: 'Poppins';
		display: inline-block;
		position: absolute;
		bottom: -20px;
		left: 70px;
		cursor: pointer;
	}
		#contact .form-bloc button.submit-btn:hover{
			background-color: #E2F1FA;
			border-color: white;
		}


/*--------Commandes-----------*/

	.product-zone{
		border:1px solid #ddd; 
		padding:35px;
		min-width:300px; 
		max-width:300px;
		border-radius: 30px;
	}

/*---------Notifications---------*/

	.notifications-bloc .notification{
		z-index: 9999999999999;
		position: fixed;
		right: -450px;
		bottom: 30px;
		color: white;
		font-weight: 800;
		line-height: 1.2em;
		padding: 30px;
		border-radius: 20px;
		opacity: 0;
	}
		.notifications-bloc .notification.success{
			background-color: #68bd68;
		}
		.notifications-bloc .notification.error{
			background-color: #ee5757;
		}

/*---------FOOTER---------*/

	footer{
		margin: 150px auto 80px auto !important;
  		justify-content: space-around;
  		align-items: center;
  		color: #2D4656;
	}
		footer .widget-footer{
			margin-bottom: 60px;
		}
			footer .infos-footer{
				display: flex;
				align-items: center;
			}
				footer .infos-footer .nuage-bloc{
					margin-right: 30px;
				}
					footer .infos-footer h2{
						margin-bottom: 0px;
						font-size: 22px;
					}
					footer .infos-footer p{
						margin: 0px;
					}

			footer .social h3{
				color: #2D4656;
  				margin: 0px 0px 10px 0px;
  				font-size: 16px;
  				line-height: 1.15em;
  				font-weight: 400;
			}
				footer .social a{
					border-radius: 50px;
					border: 2px solid #2D4656;
					letter-spacing: 0px;
					font-weight: 800;
					margin-right: 3px;
					height: 40px;
	  				display: inline-block;
	  				width: 40px;
	  				text-align: center;
	  				line-height: 49px;
	  				transform: translateY(4px);
				}
					footer .social a:hover{
						background-color: #2D4656;
						border-color: #2D4656;
						color: white;
					}
						footer .social a:hover img{
							filter: brightness(500);
						}

			footer .copyright a{
				color: #2D4656;
			}
				footer .copyright a:hover{
					color: #041723;
				}

			footer .copyright img{
				opacity: 0.8;
				margin-top: 2px;
			}
				footer .copyright img:hover{
					opacity: 1;
				}

/*---------RESPONSIVE---------*/

	@media screen and (max-width: 1200px){

		.w:not(.w1500){
			padding-left: 40px;
			padding-right: 40px;
		}
			.flex{
				display: block !important;
			}

		.slider{
			padding-left: 12px;
			padding-right: 12px;
		}

		br:not(.no-br){
			display: none;
		}

		footer .infos-footer,
		.right-nav a:first-child{
			display: block;
		}
			nav:not(.mobile-menu) li:not(.right-nav){
				display: none;
			}
				a.burger{
					display: inline-block !important;
		    		margin-top: 20px;
		    		cursor: pointer;
				}

				.mobile-menu{
					display: block;
				    position: absolute;
				    top: 150px;
				    background-color: #1b4c69;
				    border-radius: 20px;
				    width: 70%;
				    right: 30px;
				    margin: 30px 0px;
				    height: 0px;
				    overflow: hidden;
				    padding: 20px;
				    opacity: 0;
				    transition: height 1s ease;
				    z-index: 11;
				}
					.mobile-menu.open{
						height: 160px;
						opacity: 1;
						transition: height 1s ease;
					}
					.mobile-menu li{
						display: block;
						list-style-type: none;
						text-align: left;
					}
						.mobile-menu li:hover a{
							color: #e2f1fa;
						}

			video{
				object-position: 0px;
				height: 700px;
			}

		#services .services-bloc .service{
			width: auto;
		}
			#services .services-bloc .service h3,
			#services .services-bloc .service p{
				padding: 0px 40px;
			}

		.triangle:after,
		.triangle:before{
			height: 82px;
		}
			#tarifs:after{
				display: none;
			}

		#tarifs .tarifs-bloc{
			padding-left: 0px;
		}
			#tarifs .tarifs-bloc .tarif{
				margin-right: 0px;
			}
				#tarifs .tarifs-bloc .tarif .tr{
					padding-right: 0px;
					display: block;
				}
					#tarifs .tarifs-bloc .tarif .tr .presta{
						margin-bottom: 10px;
					}
					#tarifs .tarifs-bloc .tarif .tr .price:has(span){
						margin-bottom: 45px;
					}

		.stripe{
			width: auto;
		}
	}

	@media screen and (max-width: 750px){

		#contact{
			margin-top: -60px;
		}
			#contact .contact-title{
				font-size: 45px;
			}
			#contact .form-bloc{
				padding: 50px 30px;
			}
				#contact .form-bloc:after{
					display: none;
				}
				#contact .form-bloc .line{
					display: block;
				}
					.form-bloc .line input,
					.form-bloc textarea{
						width: calc(100% - 40px) !important;
					}

					#contact .form-bloc button.submit-btn{
						width: calc(107% - 40px) !important;
					    transform: translateY(-15px);
					    padding: 12px 20px;
					    text-align: center;
					    position: relative;
					    left: 0px;
					    border-radius: 15px;
					}
	}