/* mise en page page */
body {
	margin: auto;
	background: url(../img/ecranfond1.jpg)no-repeat center fixed;
	background-size: cover;
	overflow-x: hidden;
}

html{
	scroll-behavior: smooth;
}
.section{
	padding:100px 0 ;
	text-align:center;
	height: 100% !important;
}
	.section h2{
		font-size:40px;
		margin-top:0;
		margin-bottom:15px;
		font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; 
	}

.bouttonacceuil{
	color: white;
	background-color: #7fb57d;
	display: inline-block;
    font-weight: 400;
	text-align: center;
    vertical-align: middle;
	padding: 0.4rem 0.8rem;
	border-radius: 0.25rem;
}
	.bouttonacceuil:hover{
		background-color: #5a8559;
	}

a{
	text-decoration: none;
}

/* mise en place de la navigation */
nav{
	position: fixed !important;
	z-index: 1;
	background-color: rgba(94, 90, 90, 0.178);	
}
	nav .co-inc{
		font-size: 15px !important;
		background-color: rgba(94, 90, 90, 0.178);
		z-index: 1;
	}
	nav a span{
		font-size: 25px;
	}
	nav p{
		color:white;
		font-size: 30px;
	}

.section nav {position: relative !important;}
.effect a {
	overflow: hidden;
	padding: 0 10px;	
}
	.effect a span {	
		position: relative;
		display: inline-block;
		-webkit-transition: -webkit-transform 0.3s;
		-moz-transition: -moz-transform 0.3s;
		transition: transform 0.3s;
	}
	.effect a span::before {
		color:rgb(255, 174, 0);
		position: absolute;
		top: 100%;
		content: attr(data-hover);
		font-weight: 7;
		-webkit-transform: translate3d(0,0,0);
		-moz-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);	
	}
	.effect a:hover span,
	.effect a:focus span {
		-webkit-transform: translateY(-100%);
		-moz-transform: translateY(-100%);
		transform: translateY(-100%);
	}


header.fond{
	text-align:center;
	color:#fff;
	background:url(../img/fond.jpg)no-repeat center ;
	background-attachment:scroll;
	background-size:cover
}
	header.fond .intro{
		padding-top:300px;
		padding-bottom:200px;
		font-family:arial;
	}
	header.fond .text{
		font-size:50px;
	}
	header.fond .text{
		font-size:40px;
	}
	header.fond .phrasebv{
		font-size:50px;
	}

#Portfolio{
	height: 1000pX;
}

.texte{
	color:white;
	float: left;
	background-color: rgba(92, 92, 92, 0.5);
	margin-top: 10%;
	width: 50%;
	height: 50%;
	font-size: 30px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	border-radius: 2%; 
	border-style:solid ;
	border:thick double #ffffff;	
	align-content: center;
}
	.texte p{
		margin-top:20px;
	}

.vignette{
	width: 20%;
	float: left;
	margin-top:10% ;
	margin-left:10% ;
	background-color: rgba(92, 92, 92, 0.5);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	border-radius: 2%; 
	border-style:solid;
	border:thick double #ffffff;

}
	.vignette:hover{
		border-radius: 50%; 
		-webkit-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}

.sectionpor{
	height: 1200px !important;
}

	.forma span {
		visibility: hidden;
	}

	.forma img:hover + span {
		visibility: visible;
	}

.carousel{
	margin: 0;
	padding: 50px;
}

.timeline {
    position: relative;
    padding:4px 0 0 0;
    margin-top:22px;
    list-style: none;
}
	.timeline>li:nth-child(even) {
		position: relative;
		margin-bottom: 50px;
		height: 180px;
		right:-100px;
	}
	.timeline>li:nth-child(odd) {
		position: relative;
		margin-bottom: 50px;
		height: 180px;
		left:-100px;
	}
	.timeline > li .timeline-panel {
		position: relative;
		float: left;
		width: 41%;
		padding: 0 60px 20px 30px;
		text-align: right;
	}
	.timeline > li .timeline-image {
		z-index: 100;
		position: absolute;
		left: 50%;
		border: 7px solid #ffff;
		border-radius: 100%;
		background-color: #343a40;
		box-shadow: 0 0 5px #838383;
		width: 200px;
		height: 200px;
		margin-left: -100px;
	}
	.timeline>li.timeline-inverted>.timeline-panel {
		float: right;
		padding: 0 30px 20px 60px;
		text-align: left;
	}
	.timeline .timeline-heading h4 {
		margin-top:22px;
		margin-bottom: 4px;
		padding:0;
		color: #7c7c7c;
	}
	/*Bar qui va vers la droite*/
	.timeline > li:nth-child(odd) .line:before {
		content: "";
		position: absolute;
		top: 60px;
		bottom: 0;
		left: 60%;
		width: 4px;
		height: 340px;
		background-color: #b1b1b1;
		-ms-transform: rotate(-44deg); /* IE 9 */
		-webkit-transform: rotate(-44deg); /* Safari */
		transform: rotate(-44deg);
		box-shadow: 0 0 5px #cccccc;
	}
	/*Bar qui va vers la gauche */
	.timeline > li:nth-child(even) .line:before {
		content: "";
		position: absolute;
		top: 60px;
		bottom: 0;
		left: 37%;
		width: 4px;
		height: 340px;
		background-color: #b1b1b1;
		-ms-transform: rotate(44deg); /* IE 9 */
		-webkit-transform: rotate(44deg); /* Safari */
		transform: rotate(44deg);
		box-shadow: 0 0 5px #cccccc;
	}
/* Fin timeline */

/* slide */
.menuboutton{
	border: none;
	background-color: rgb(190, 190, 190);
	padding: 5px 20px;
	border-radius: 10px;
	color: white;
}

#carousel{
	background-image:url(../img/fond3.jpg) ;
	background-repeat:no-repeat;
	background-attachment:scroll;
	background-position:center center;
	background-size:cover;
	border-style:  solid;
	border-color: #8a8a8a;
	border-width: 10px;
}

/* telechargement pdf */
.lien {
	background-color: rgb(255, 255, 255);
	font-size: 25px;
	color:rgb(180, 158, 158);	
}
	.lien:hover{
		color: #7fb57d;
		text-decoration:none;
	}

	.navcv a::before {
		position: absolute;
		top: 0;
		left: -10px;
		width: 110%;
		height: 2px;
		background: rgb(0, 0, 0);
		content: '';
		-webkit-transition: top 0.3s;
		-moz-transition: top 0.3s;
		transition: top 0.3s;
	}
	.navcv a::after {
		position: absolute;
		top: 0;
		left: -10px;
		width: 2px;
		height: 2px;
		background: rgb(0, 0, 0);
		content: '';
		-webkit-transition: height 0.3s;
		-moz-transition: height 0.3s;
		transition: height 0.3s;
	}
	.navcv a:hover::before {
		top: 100%;
		opacity: 1;
	}
	.navcv a:hover::after {
		height: 100%;
	} 
/* Fin telechargement pdf */
                          /* FIn portfolio */
/* Partie à Propos */
#Propos{
	background: white;
}
	#Propos a img{
		z-index: 3;
		background-position:center center;
		background-size:cover;
		width:100%;
	}
	#Propos td {
		font-size: 25px;
		width: 50%;
	}
	#Propos .img{
		margin-left: 10%;
		margin-top: 50%;
		
	}
	#Propos table{
		width:100%;		
	}

.affiche{
	margin-left: -86%;
	margin-top: 5%;
	background-color: rgb(68, 68, 68);
	border: solid;
	border-width: 10px;
	border-color: #fff;
	height: 220px;
}
	.affiche p{
		margin-left: 40%;
		margin-top: -3%;
		font-size: 20px;
		color:white;
	}

#footer{
	height: 150px;
	text-align:center;
	color:#fff;
	background-image:url(../img/arbre5.JPG);
	background-repeat:no-repeat;
	background-attachment:scroll;
	background-position:center center;
	background-size:cover;
}

.flip-card {
	background-color: transparent;
	width: 300px;
	height: 200px;
	perspective: 1000px; /* Remove this if you don't want the 3D effect */
	display:inline-block;
}

/* This container is needed to position the front and back side */
.flip-card-inner {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.8s;
	transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
	transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden; /* Safari */
	backface-visibility: hidden;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
	background-color: #fff;
	color: black;
}

/* Style the back side */
.flip-card-back {
	color: #343a40;
	color: white;
	transform: rotateY(180deg);
}

#Experience a{
	text-decoration: none;
}

.blocpro {
    display: flex;
    align-items: center;
    background-color: #fff;
    margin: 20px 0;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
	
}
	.blocpro:hover {
		transform: scale(1.02);
	}

/* Image styling */
.img-container {
    flex: 1;
    text-align: center;
    padding: 10px;
}
	.img-container img {
		max-width: 100%;
		height: auto;
		border-radius: 10px;
	}

/* Content styling */
.content {
    flex: 2;
    padding: 10px 20px;
}
	.content h1 {
		font-size: 24px;
		color: #2c3e50;
	}
	.content p {
		font-size: 16px;
		color: #7f8c8d;
		margin-top: 10px;
	}


.text-center {
    text-align: center;
    font-size: 28px;
    margin-bottom: 30px;
}

/* Timeline container */
.timeline-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

/* Timeline item styling */
.timeline-item {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    position: relative;
}

/* Icon styling */
.timeline-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #7fb57d;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-right: 20px;
    position: relative;
}

/* Content box styling */
.timeline-content {
    background-color: white;
    padding: 15px 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    flex-grow: 1;
}

	.timeline-content h4 {
		font-size: 18px;
		color: #2c3e50;
	}

/* Line for the timeline */
.timeline-container::before {
    content: '';
    position: absolute;
    left: 44px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #3d7e3b;
}

/* Section title styling */
.section-heading {
    font-size: 2rem;
    margin-bottom: 20px;
}

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

/* Flexbox container for content items */
.content-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 40px;
}

.blocPropo{
	width: 100%;
}
	/* Styling for images and text */
	.blocPropo .image {
		padding: 10px;
		text-align: center;
		width: 50%;
	}

	.blocPropo .text {
		flex: 2;
		padding: 10px 20px;
		width: 50%;
		text-align: center;
	}

.image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.text p {
    margin-bottom: 10px;
    font-size: 1.1rem;
}

/* Styling for videos */
video {
    margin-top: 10px;
    width: 100%;
    max-width: 320px;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


/* Responsive design */
@media (max-width: 768px) {	
    .content-item {
        flex-direction: column;
        text-align: center;
    }

    .reverse {
        flex-direction: column;
    }

    .text {
        padding: 10px;
    }
	.vignette{
		width: 60%;
		float: left;
		margin-top:0;
		margin-left:0;	
		margin: 0 20%;
	}
	.texte{
		margin-top: 0;
		width: 100%;
		height: 200px;
		font-size: 1.5em;
		
	}
	.carousel{
		margin: 0;
		padding: 20px;
	}
	.timeline-container {
        padding: 10px;
    }

    .timeline-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .timeline-icon {
        margin-bottom: 10px;
        margin-right: 0;
    }

    .timeline-container::before {
        left: 50%;
    }

    .timeline-icon {
        left: calc(50% - 25px);
    }
	.blocpro {
        flex-direction: column;
        text-align: center;
    }

    .content h1 {
        font-size: 20px;
    }

    .content p {
        font-size: 14px;
    }

    .img-container {
        padding-bottom: 10px;
    }
}

@media (max-width: 480px) {
    .section-heading {
        font-size: 1.5rem;
    }

    .text p {
        font-size: 1rem;
    }
	.timeline-content h4 {
        font-size: 16px;
    }

    .text-center {
        font-size: 24px;
    }
	.blocpro {
        padding: 15px;
    }

    .content h1 {
        font-size: 18px;
    }

    .content p {
        font-size: 13px;
    }

    .img-container {
        padding-bottom: 8px;
    }
}
