
:root{
	--color:black;
	--main-font:;
	--second-font:;
}


@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

*{
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	line-height: 135%;
	color: black;
	max-width: 100vw;
}
body{
	overflow-x: hidden;
	scrollbar-width: none;
}

body::-webkit-scrollbar{
	width: 0;
}

::selection {
  background-color: black;
  color: white;
}

::-moz-selection {
  background-color: black;
  color: white;
}

button{
	border-style: none;
	outline: none!important;
}

.full-height{
	height: 100vh;

}



.full-height{
	height: 100vh;
}

.p-none{
	padding:0!important;
}
.mT-300px{
	margin-top: 300px!important;
}

.mT-250px{
	margin-top: 250px!important;
}

.mT-200px{
	margin-top: 200px!important;
}

.mT-100px{
	margin-top: 100px!important;
}

.mT-150px{
	margin-top: 150px!important;
}

.mT-50px{
	margin-top: 50px!important;
}

li {
  list-style-type: none;
}

ol, ul {
    padding-left: 0;
}

main .h1, main .h2, main .h3, main .h4, main .h5, main .h6, main h1, main h2, main h3, main h4, main h5, main h6{
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	margin-bottom: 0;
}


p{
	color: black;
}

a{
	text-decoration: none;
	color: inherit;
}

a:hover, a:focus, .nav-link:focus, .nav-link:hover {
	text-decoration: underline;
	color: black;
}

.bold{
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}

.credit a:hover,.credit a:focus {
	color: white;
	opacity: 1;
}
.credit p{
	opacity: .5;
}

main hr{
	margin: 0;
    color: black;
    background-color: black;
    border: 0;
    opacity: 1;
    height: 0;
    border-top: 1px solid black;
}

button{
	background-color: transparent;
}

.very-small{
	font-size: .695em;
}



/* ----------------------------------- MENU ---------------------------------- */



.navbar{

	background-color: rgba(255,255,255,.8);
	opacity: 1;
  	transition: opacity 1s ease-in-out;
}

.navbar.hidden {
  opacity: 0;
}

.navbar-brand img{
	width: 30%;
}

.navbar{
	padding-left:20px;
	padding-right:20px;
}

.navbar-light .navbar-nav .nav-link{
	color: black;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	text-transform: uppercase;
}

li.active a.nav-link{
	text-decoration: underline;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover{
	color:black;
}



/* ----------------------------------- HOME PAGE ---------------------------------- */

#home footer{
	display: none;
}

#texture-04, #texture-01, #texture-02, #texture-03{
	display: none;
}
#form #texture-04{
	width: 20vw;
}

#form {
	position: fixed;
	z-index:-99;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#form img{
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50vw;
}



#home .container-fluid{
	padding-right: 3vw;
	padding-left: 3vw;
}





.fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s ease, transform 1.5s ease;
}

.accordion-body {
  scroll-behavior: smooth!important;
}

.fade-up.active {
  opacity: 1;
  transform: translateY(0);
}


.accordion-header h1{
	background-color: rgba(255, 255, 255, 0);
	/*transition: background-color ease .4s;*/
	padding: 15px;
	transition: .5s ease;
}

.accordion-header h1:hover, .accordion-item.show .accordion-header h1  {
    font-size: 380%;
}





.accordion-body .intro{
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}


#home .accordion-header h1{
	text-transform: uppercase;
	color: black;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.accordion-collapse {
  transition-duration: .5s;
}


#home .accordion-button{
	background-color: transparent; 
	display: initial;
	padding: 0;

}


.accordion-body img{
	max-width: 100%;
}

.accordion-body{
	padding-bottom: 50px;
}


#accordion-project h1{
	text-transform: uppercase;
}

#home .accordion-button:not(.collapsed){
	color: initial;
	background-color: transparent;
	box-shadow: none;
}


.accordion-item{
	background-color: transparent;
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border:transparent;

}

/* Style pour les éléments d'accordéon ouverts */
.accordion-item.show {
	background-color: rgba(255, 255, 255, 0.75);
	transition: background-color .5s ease-out;
}


.accordion-item-border {
	border-bottom: 1px solid transparent;
	transition: border-bottom 1.5s ease-out;
	transition-delay: .5s;
}

.accordion-item-border.borderBlack {
	border-bottom: 1px solid black;
}


#home .accordion-button:focus{
    border-color: none;
    box-shadow:none;
}

#home .modal-dialog{
	overflow-x: hidden;
    overflow-y: initial;
    max-width: 98vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin:0;
}


.modal{
	height:100vh;
}

#home .modal-body{
    height: 87vh;
    overflow-y: auto;
}
.modal-backdrop{
	background-color: rgba(0,0,0,.5);
}

.btn-close:focus{
	box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 0%);
}

#home .modal-content{
	border: none;
	height: 97vh;
}

#home .modal-body{
	padding:3% 5%;
}


#home .modal-header{
	border: none;
	height: 50px;
}

#home .modal-body ul{
	padding-top: 10px;
	margin-bottom: 30px;
}

#home ol, #home ul {
    padding-left: 0;
}



.image-container {
    background-size: cover;
    background-position: center;
}

button.image-content, .image-container{
	width: 100%;
	height: 300px;
	padding:0;
}
button.image-content{
	margin: 0 0 1rem;
}


.image-container {
  background-size: cover;
  background-position: center;
  position: relative;
  transition: background-color 1s ease;
}

.image-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  z-index: 1;
  transition: opacity .3s ease;
}

button.image-content:hover .image-container::before {
  opacity: 1;
}


.image-content .image-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: black;
  z-index: 2;
  opacity: 0;
  transition: opacity .3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

figcaption .col-12 {
  text-align: center;
}

.image-content:hover figcaption {
  opacity: 1;
}



   
.project-list{
	display: flex;
    justify-content: space-between;
    border-bottom: 1px solid black;
    margin: 5px 0;
    padding-bottom: 3px;
}


.project-list div{
	display: inline;
	padding: 0;
}


.carousel-inner{
	display: flex;
    align-items: center;
  
}

.zoom-in-cursor:not([disabled]), .zoom-in-cursor:not([disabled]) * {
  cursor: zoom-in;
}


.zoom-out-cursor {
  cursor: zoom-out;
}

.carousel-inner img{
	max-height: 70vh;
	width: 100%;
	object-fit: cover;
	transition: .5s;
}

.zoom.col-lg-6{
	transition: .5s;
}


.carousel-control-prev-icon, .carousel-control-next-icon{
	background-color: black;
    border-radius: 50px;
    background-size: 20px 20px;
    border-radius: 40px;
    width: 30px;
    height: 50px;
}

.carouselStyleZoom{
	 object-fit: cover;
	  height: 80vh;
}

.zooming .carousel-item {
  transition: transform 0.3s ease-in-out;
}


#home .modal-body .position-fixed{
	right: 0;
	padding: 0 5%;
}

#home .modal-body::-webkit-scrollbar{
	display: none;
}

#home .modal-body{
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* Internet Explorer et Edge */
	scrollbar-color: transparent transparent;
}

.project-list > div:nth-child(1){
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}


#backtoUp{
	position: fixed; 
	bottom: 20px; 
	right: 20px;
	background: white;
	box-shadow: 0px 0px 42px rgba(0,0,0,.2);
	-webkit-box-shadow: 0px 0px 42px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 0px 42px rgba(0,0,0,.2);
	transition: .5s ease-out;
	border-radius: 40px;
    width: 50px;
    height: 30px;
    z-index: 999;
    display:none;
}


button#backtoUp:hover{
	bottom: 30px;
	-webkit-box-shadow: 0px 0px 20px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 0px 20px rgba(0,0,0,.2);
	transition: .5s ease;
}

.scroll-to-bottom{
	position: fixed; 
	bottom: 20px; 
	background: white;
    box-shadow: 0px 0px 32px rgba(0,0,0,.2);
	-webkit-box-shadow: 0px 0px 32px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 0px 32px rgba(0,0,0,.2);
	left: 25%;
	transform: translateX(-25%);
    border-radius: 40px;
    width: 50px;
    height:30px;
    z-index: 99999;
}

.scroll-to-bottom.btn{
	cursor: initial!important;
	padding: 0.1rem 0.5rem;
}
.modal-body .col-lg-6.position-fixed{
	top: 50%;
	transform: translateY(-50%);
}

.carousel-caption{
	position: initial;
	padding: 5px 0 0 0;
}

.carousel-caption p{
	margin-bottom: 0;
	margin-top:0;

}

/* ----------------------------------- AGENCY ---------------------------------- */

#agency #bg-form{
	background-image: url(../../media/texture-01-50P.png);
	background-position: top;
	background-size:60%;
	background-repeat: no-repeat;
}

#agency img{
	width: 100%;
}

#agency img.icon{
	width: 50px;
}

.CV-left{
	width: 170%;
    margin-left: -70%;
}
.CV-right{
	width: 165%;
}


.cv-agency {
	margin: 10px 0 10px 0px;
    padding: 5px 0 5px 0px;
}

.cv-agency p, #agency ul{
	margin-bottom: 0;
}

/* ----------------------------------- RESSOURCES ---------------------------------- */

#ressources p{
	margin-bottom:0; 
}
#ressources a{
	display: inline-flex;
}
#ressources .url-link{
	height: 20px;
    width: auto;
    margin-right: 10px;
    margin-top: 2px;
}
.ressource{
	margin: 10px 0 10px 0px;
	padding: 5px 0 5px 0px;
}


/* ----------------------------------- CONTACT ---------------------------------- */
body #contact {
	background-color: white;
	position: fixed;
	top: 100vh;
	left:0;
	width: 100vw;
	transition: top 1s ease;
	z-index: 99999;
	-webkit-box-shadow: 0px 0px 25px 4px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 25px 4px rgba(0,0,0,0.2);
}

#contact-close{
	padding-top: 150px;
}

#contact #logo{
 width: 50%;
}

#contact .infos  p {
	margin-bottom: 0;
}
#contact hr{
    margin: 0;
    color: black;
    background-color: black;
    border: 0;
    opacity: 1;
    height: 0;
    border-top: 1px solid black;
}

.no-scroll{
	overflow: hidden;
}
#contact  h3.mb-5{
	margin-bottom: 1rem!important;
}

#contact  h3.mt-3{
	margin-top: 0.5rem!important;
}

/* ----------------------------------- FOOTER ---------------------------------- */
footer #logo-archi{
	width:30px;
}

footer{
	padding-top: 40px;
	padding-bottom: 0px;
	background-color: black;
}

footer p {
	color: white;
}

/* ----------------------------------- RESPONSIVE ---------------------------------- */



/* ---------------------------- MOBILE ------------------------------- */
@media only screen and (max-width: 767px){

	.mT-300px{
		margin-top: 125px!important;
	}

	.mT-250px{
		margin-top: 100px!important;
	}

	.mT-200px{
		margin-top: 100px!important;
	}

	.mT-150px{
		margin-top: 50px!important;
	}

	.mT-100px{
		margin-top: 30px!important;
	}


	.mT-50px{
		margin-top: 15px!important;
	}
	.navbar-brand img{
		width:27vw!important;
	}

	#contact .row{
		text-align: center;
	}
}



@media only screen and (max-width: 991px){

	.gx-5{
		--bs-gutter-x: 0;
	}

	.navbar{
		background-color: rgba(255,255,255,.95);
		padding-left: 10px;
    	padding-right: 10px;
	}
	.navbar-light .navbar-toggler{
		color: black;
    	border: none;
	}
	.navbar-collapse{
		background: rgba(255,255,255,.95);
		padding-top: 10vh;
		font-size: 30px;
		padding-bottom: 10vh;
	}

	.navbar-light .navbar-nav .nav-link{
		text-align: center;
	}


	.fa-instagram{
		margin-right: 10px;
	}
	.ressource .text-end{
		text-align: left!important;
	}

	#contact-close {
	    right: 10vw;
	    padding-top: 10vh;
	}
	.navbar-toggler:focus{
		box-shadow:none;
	}

	#home .modal-body .position-fixed{
		padding-right: calc(var(--bs-gutter-x) * .5);
    	padding-left: calc(var(--bs-gutter-x) * .5);
	}

	.scroll-to-bottom.btn{
		display: none;
	}

	.titleAgencyCV.mb-5, .titleRessources.mb-5{
		margin-bottom: 0!important;
	}
	.crediArchi{
		text-align: center;
	}

	#contact #logo{
		width: 80%;
		margin-top: 50px;
	}

	#agency [data-aos-delay] {
	  data-aos-delay: unset !important;
	}

	.CV-right{
		width: 100%;
	}

	.CV-left{
		width: 100%;
		margin-left: 0;
	}

	.profileB{
		margin-top:30px;
	}

	#agency .mt-5 {
	    margin-top: 2rem!important;
	}

	.cv-agency {
	    margin: 5px 0 5px 0px;
	}
	#bg-form li{
		margin-top: 5px!important;
	}

	 #bg-form li p {
		margin-bottom: 7px!important;
	}
	#contact .infos {
		padding-bottom: 50px;
	}



}


/* ---------------------------- TABLET PAYSAGE ---------------------------- */

@media only screen and (min-width: 992px) and (max-width: 1025px){
	
}


/* ---------------------------- TABLET PORTRAIT ---------------------------- */

@media only screen and (min-width: 768px) and (max-width: 991px){
	.navbar-brand img{
		width: 12vw!important;
	}
}



/* ---------------------------- TABLET PORTRAIT + PAYSAGE ---------------------------- */

@media only screen and (min-width: 768px) and (max-width: 1025px){




}


/* ---------------------------- TABLET & MOBILE ---------------------------- */
@media only screen and (max-width: 1024px){

	.accordion-header h1:hover, .accordion-item.show .accordion-header h1  {
	    font-size: calc(1.475rem + 2.7vw);
	}

}

@media only screen and (min-width: 768px) and (max-width: 991px){

	.accordion-header h1 span{
		display: block;
    	padding-bottom: 20px;
	}
	.accordion-header h1{
		padding: 30px 15px;
	}
	

}

@media only screen and (max-width: 991px){
	
	#home .modal-body .position-fixed{
		position: initial!important;
	}

	.modal-body .col-lg-6.position-fixed{
		top: initial;
		transform: initial;
	}

	#form img{
		width: 90vw;
	}

	#form #texture-04 {
    	width: 45vw;
	}

	.accordion-header h1{
		padding: 20px 0px;
    	text-align: center;
	}

	.accordion-header h1 span{
		display: block;
    	padding-bottom: 10px;
    	text-align: center;
	}

	.scroll-to-bottom{
		left: 50%;
    	transform: translateX(-50%);
	}
	    
}

	
}


@media (min-width: 1024px) and (max-width: 1200px){
	
}

@media (min-width: 1025px) and (max-width: 1370px){
	
}

@media (min-width: 1371px) and (max-width: 1500px){
	
}

@media (min-width: 1025px) and (max-width: 1500px){
	
}






@media (min-width: 1501px){
	

}


/* ---------------------------- DESKTOP ---------------------------- */

@media (min-width: 1920px){ 

}

@media (min-width: 2501px){ 

}


@media (min-width: 3200px){ 

	

}


@media (min-width: 5120px){ 

	


}

