/* *****************************************************************
TOOLS
***************************************************************** */

* {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
}

:root {
	--principalColor: #ffff;
	--secondaryColor: #418B44;
	--tertiaryColor: #151515;
	--quartenaryColo: #999;
}


/* *****************************************************************
CONTAINER
***************************************************************** */

.container {
	max-width: 1400px;
	margin: 0 auto;
}

/* *****************************************************************
GENERALITES
***************************************************************** */

body {
	font-family: 'Nunito', sans-serif;
	color: #414141;
	font-size: 1.8rem;
	background-color: #ededed;
}

.wrapper {
	/* max-width: 1500px; */
	margin: auto;
}

h1, h2, h3, h4, nav, .logo strong {
	font-family: 'Fjalla One', sans-serif;
}

h1::before,
h1::after,
h1::before,
h1::after {
	content: " - ";
	color: var(--secondaryColor);
}

a {
	text-decoration: none;
}

p {
	margin: 0 0 1.5rem 0;
}

ul {
	padding-left: 0;
}

img {
	max-width: 100%;
	width: auto;
	height: auto;
}

strong {
	font-size: 2.2rem;
	font-weight: normal;
}

/* *****************************************************************
HEADER
***************************************************************** */

header .wrapper {
	padding: 2rem;
}

header img {
	margin-right: .5rem;
}

header {
	background-color: var(--tertiaryColor);
}

/* *****************************************************************
MENU
***************************************************************** */

nav {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.menu-toggle {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 30px;
	height: 20px;
	margin: 15px;
	cursor: pointer;
}

.menu-toggle span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: var(--secondaryColor);
	transition: background-color 0.3s ease;
}

.menu {
	display: none;
	flex-direction: column;
	background-color: #f9f9f9;
	padding: 20px;
}

.menu li {
	margin: 10px;
	list-style: none;
}

.menu li:last-child {
	margin-bottom: 0;
}

.menu li a {
	color: var(--principalColor);
}

.menu li a:hover {
	color: var(--secondaryColor);
}

.menu li a.active {
	color: var(--secondaryColor); /* Active element on the menu */
}

/* Animation of the burger menu */

.menu-toggle.active span:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

.menu-toggle.active + .menu {
	display: flex;
	align-items: center;
	background: var(--tertiaryColor);
	margin-bottom: 0;
}

/* *****************************************************************
FOOTER
***************************************************************** */

footer .wrapper, .license {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2rem;
}


footer, .license {
	background-color: var(--quartenaryColo);
	padding-top: 4rem;
	padding-bottom: 4rem;
	color: var(--quartenaryColo);
    background: #999;
    border-bottom: 1px solid #fff;
    color: var(--principalColor);
}

footer .footer-menu ul li a:hover, footer .footer-reseaux a:hover, .license p a:hover {
	color: var(--secondaryColor);
}

.license a {
    color: var(--principalColor);
}

.footer-menu, .footer-contact, .footer-description {
	display: flex;
    align-items: center;
    flex-direction: column;

}

footer p {
	padding: 2rem;
}

footer .footer-menu li {
	list-style: none;
	padding: .5rem;
}

footer .footer-menu li a{
	color: var(--principalColor);
}

.hr-footer {
    height: 2px;
    width: 12%;
    background: var(--principalColor);
	border-color: var(--principalColor);
}

.footer-reseaux {
	display: flex;
	flex-direction: row;
    justify-content: space-evenly;
}

.footer-reseaux a {
	color: var(--principalColor);
	font-size: 20px;
	padding: 1rem;
	border: 2px solid #fff;
	border-color: var(--principalColor);
}

/* *****************************************************************
MAIN
***************************************************************** */

.intro {
	background: url(../../img/bg-header.jpg) left center;
	background-size: cover;
	padding: 15rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

h1 {
	background-color: var(--secondaryColor);
	font-size: 3rem;
	text-transform: uppercase;
	color: white;
	display: inline-block;
	margin-bottom: 3rem;
	padding: 1.5rem 2rem;
}

.real h1,
.actu h1 {
	text-align: center;
	line-height: 1.5;
}

.actu-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contact-container {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content: center;
}

.contact-container section {
	flex-basis: 75%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
}

.contact-container aside {
	flex-basis: 25%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
}

.card-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
}

.card-container article {
	flex-basis: 100%;
	display: flex;
	flex-direction: column;
	align-self: end;
	align-items: stretch;
}

.intro p {
	background-color: white;
	color: var(--secondaryColor);
	font-weight: bold;
	font-size: 2rem;
	display: inline-block;
	padding: 1rem 3rem;
	margin: 0 8rem;
	text-align: center;
}

.categories ul li {
	list-style: none;
	padding: 0.5rem;
	text-align: center;
}

.categories ul li a {
	color: var(--secondaryColor);
}

#job article, #category article{
	width: 100%;
	text-align: start;
}

/********** articles **********/

section {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 0 2rem;
	align-items: baseline;
}

h2 {
	font-size: 2.5rem;
	color: var(--secondaryColor);
	text-align: center;
	margin: 7rem 0 3rem 0;
	flex: 1 0 100%;
}

h2::before,
h2::after {
	content: "-";
	padding: 0 1rem;
	color: var(--secondaryColor);
}

article {
	line-height: 1.5;
	background-color: #ededed;
	padding: 2rem;
}

article,
.partners {
	width: 100%;
}

h3 {
	font-size: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

h3::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-size: 3rem;
	background-color: var(--secondaryColor);
	color: var(--principalColor);
	padding: 1rem 2rem;
	margin-bottom: 2rem;
}

/* *****************************************************************
Homepage
***************************************************************** */

	/* *****************************************************************
	Slider Homepage
	***************************************************************** */

.slider {
	position: relative;
	overflow: hidden;
  }
  
  .slide {
	position: relative;
	display: none;
  }
  
  .slide img {
	width: 100%;
	height: auto;
  }
  
  .slide-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: var(--principalColor);
  }
  
  .slide-content h1 {
	font-size: 14px;
	margin-bottom: 0px;
	padding: 0.75rem 2rem;
  }
  
  .slide-content p {
	font-size: 12px;
	margin: 0 0 4.0rem 0;
  }
  
  .slide-content h1 a {
	color: var(--principalColor);
  }

  .slider .slider-dots {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	z-index: 1;
  }
  
  .slider .slider-dots .dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--quartenaryColo);
	margin: 0 5px;
	cursor: pointer;
  }
  
  .slider .slider-dots .dot.active {
	background-color: var(--secondaryColor);
  }

	/* *****************************************************************
	Section Agence Home
	***************************************************************** */

.charges::before {
	content: "\f02d";
}

.shopping::before {
	content: "\f07a";
}

.suivi::before {
	content: "\f00c";
}

.cle::before {
	content: "\f084";
}

	/* *****************************************************************
	Section Services Home
	***************************************************************** */

.services,
.contact {
	width: 100%;
	border-radius: 30px;
	padding: 15px 0 15px;
	margin: 15px 0 15px;
}

.contact{
	margin-bottom: 55px;
}

.contact,
.contact article,
.services,
.services article {
	background-color: var(--tertiaryColor);
	color: var(--principalColor);
	font-size: 14px;
}

	/* *****************************************************************
	Section Chiffres Home
	***************************************************************** */

.chiffres img,
.services img {
	max-width: 20%;
}

	/* *****************************************************************
	Section Contact Home
	***************************************************************** */

.contact-cta {
	width: 50%;
}

.contact-cta .plus {
	width: 100%;
}


	/* *****************************************************************
	Section Partners Home 
	***************************************************************** */

	#partners {
		align-items: center;
		padding-bottom: 5rem;
	}


	/* *****************************************************************
	Section Références Home
	***************************************************************** */

article,
.partners {
	width: 100%;
	text-align: center;
}

.partners img {
	border: 3px solid var(--secondaryColor);
}

.plus {
	background-color: var(--quartenaryColo);
	color: white;
	font-weight: bold;
	display: block;
	text-align: center;
	padding: 1rem 2rem;
	margin: 0 auto;
}

.plus:hover {
	background-color: var(--secondaryColor);
	color: var(--principalColor);
	cursor: pointer;
}

/* *****************************************************************
PAGE SERVICES
***************************************************************** */

#services-effiseo {
	color: var(--principalColor);
	text-align: center;
}

#services-effiseo section {
	justify-content: center;
	padding-bottom: 50px;
	padding-top: 50px;
	align-items: center;
}

#services-effiseo section article,
#services-effiseo h2,
#services-effiseo h2::before,
#services-effiseo h2::after {
	color: var(--principalColor);
}

#services-effiseo h2 {
	font-size: 30px;
}

#services-web,
#services-web article {
	background-color: #444444;
}

#services-mobile,
#services-mobile article {
	background-color: #25AAE1;
}

#services-design,
#services-design article {
	background-color: #8A63B3;
}

#services-seo,
#services-seo article {
	background-color: #1DA158;
}

/* Animation Hn */

h1,
h2 {
	animation-name: fade-in;
	animation-duration: 5s;
	animation-fill-mode: forwards;
}

@keyframes fade-in {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* *****************************************************************
PAGE REALISATIONS
***************************************************************** */

.gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1rem;
	padding: 5rem;
}

.portrait {
	grid-row: span 2;
}

.gallery img {
	border: var(--secondaryColor) 3px solid;
}


/* *****************************************************************
PAGES INTERIEURES
***************************************************************** */
.real,
.actu {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}

.real h1,
.actu h1 {
	background-color: transparent;
	color: var(--secondaryColor);
	text-align: center;
	margin-top: 5rem;
}

#blog-post {
	display: flex;
	justify-content: center;
	align-items: center;
}

#blog-post article {
	width: 100%;
}

aside {
	width: 70%;
	font-size: 1.6rem;
}

.real h2 {
	margin: 1.5rem 0;
}

.comments,
.tweets {
	margin-top: 5rem;
	padding: 1rem;
	background-color: #ededed;
}

.scroll {
	height: 500px;
	overflow-y: auto;
}

blockquote {
	margin: 3rem 0;
}

q {
	display: flex;
}

q::before {
	content: url(../../img/quote-left-solid.svg);
	fill: var(--secondaryColor);
	margin-right: 1.5rem;
	width: 8rem;
}

cite {
	display: flex;
	align-items: center;
	margin-top: 1rem;
	color: var(--secondaryColor);
	font-size: 1.4rem;
	font-weight: bold;
}

cite::before {
	content: url(../../img/user-solid.svg);
	width: 2rem;
	margin-right: 1.5rem;
}

hr {
	border: 1px solid var(--secondaryColor);
	margin: 0 10rem;
}

.tweets {
	padding: 2rem;
}

.tweets li {
	margin: 2rem 1rem;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	cursor: help;
}

.tweets li::before {
	content: url(../../img/circle.png);
	margin-right: 1rem;
}

.weather-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-bottom: 5rem;
}

.contact-container form {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.contact-container form .row {
	flex: 1 1 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	gap: 2rem;
	flex-wrap: wrap;
}

.contact-container form .row div {
	flex: 1 1 45%;
	display: flex;
	flex-direction: column;
}

.contact-container form input {
	flex: 1 1 100%;
	padding: 1rem;
	border: 1.5px solid var(--secondaryColor);
}

.contact-container form textarea {
	flex: 1 1 100%;
	padding: 1rem;
	border: 1.5px solid var(--secondaryColor);
}

.contact-container form button {
	flex: 1 1 100%;
	padding: 1rem;
	border: 1px solid var(--secondaryColor);
	background-color: var(--secondaryColor);
	color: var(--principalColor);
	font-weight: bold;
	cursor: pointer;
}



/* *****************************************************************
PAGES FAQ
***************************************************************** */

	/* *****************************************************************
	ACCDORDION
	***************************************************************** */

	#faq-effiseo {
		padding-bottom: 5rem;
	}

	.accordion {
		border: 1px solid #418B44;
		width: 100%;
	  }
	  
	  .accordion-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		align-items: baseline;
		cursor: pointer;
		padding: 10px;
		background-color: #f0f0f0;
	  }
	  
	  .accordion-header:hover {
		background-color: #ccc;
	  }
	  
	  .accordion-header h3 {
		color: var(--tertiaryColor);
	  }
	  
	  .accordion-icon {
		display: inline-block;
		width: 12px;
		height: 12px;
		margin-right: 5px;
		font-size: 30px;
		line-height: 1;
		transition: transform 0.3s ease;
	  }
	  
	  .accordion-item.active .accordion-icon,
	  .accordion-item.active .accordion-header h3 {
		color: var(--secondaryColor);
	  }
	  
	  .accordion-content {
		padding: 10px;
		display: none;
		background-color: var(--principalColor);
	  }
	  
	  .accordion-content p {
		padding: 1.5rem;
	  }
	  
	  .accordion-item.active .accordion-content {
		display: block;
	  }

	  .accordion {
		border: 1px solid #418B44;
		width: 100%
	  }
	
	  .accordion-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		align-items: baseline;
	  }
	  
	  .accordion-icon {
		margin-right: 5px;
	  }
	  
	  
	  .accordion-item {
		border-bottom: 1px solid #418B44;
	  }
	  
	  .accordion-header {
		cursor: pointer;
		padding: 10px;
		background-color: #f0f0f0;
	  }
	  
	  .accordion-header:hover {
		background-color: #ccc
	  }
	
	  .accordion-header h3 {
		color: var(--tertiaryColor);
	  }
	  
	  .accordion-icon {
		display: inline-block;
		width: 12px;
		height: 12px;
		margin-right: 5px;
		font-size: 30px;
		line-height: 1;
		transition: transform 0.3s ease;
	  }
	  
	  .accordion-item.active .accordion-icon {
		color: var(--secondaryColor);
	  }
	
	  .accordion-item.active .accordion-header h3 {
		color: var(--secondaryColor);
	  }
	  
	  .accordion-content {
		padding: 10px;
		display: none;
		background-color: var(--principalColor);
	  }
	
	  .accordion-content P {
		padding: 1.5rem;
	  }
	  
	  .accordion-item.active .accordion-content {
		display: block;
	  }

.d-none-mobile {
	display: none;
}

/* *****************************************************************

MEDIA QUERIES FOR LARGER DEVICES - Bigger screen Tablet & Desktop (from 768px to 992px) 

***************************************************************** */

@media screen and (min-width: 768px) {
	aside {
		width: 24%
	}
	.d-none-mobile {
		display: block;
	}

	.card-container article {
		flex-basis: 33%;
	}

	/* *****************************************************************
	GENERAL
	***************************************************************** */

	section {
		flex-direction: row;
	}

	article,
	.partners {
		width: 24%;
	}

	.contact-cta {
		width: 50%;
	}

	.contact-cta .plus {
		width: 35%;
	}

	/* *****************************************************************
	MENU
	***************************************************************** */

	nav {
		display: flex;
		justify-content: space-around;
		flex-direction: row;
	}

	.menu-toggle {
		display: none;
	}

	.menu {
		background-color: transparent;
		padding: 0;
		display: flex;
		align-items: center;
		align-content: flex-start;
		flex-direction: row;
	}

	.menu li {
		margin-bottom: 0;
		margin-right: 20px;
	}


	/* *****************************************************************
	FOOTER
	***************************************************************** */

	footer .wrapper, .license {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		padding: 2rem;
		justify-content: center;
	}

	.footer-menu, .footer-contact, .footer-description {
		width: 33%;
	}

	/* *****************************************************************
	Homepage
	***************************************************************** */

		/* *****************************************************************
		Homepage Slider
		***************************************************************** */

	.slide-content h1 {
		font-size: 26px;
		padding: 1.5rem 2rem;
	  }

	  .slide-content p {
		font-size: 18px;
		margin: 0 0 1.5rem 0;
	  }

		/* *****************************************************************
		Homepage Section Chiffres
		***************************************************************** */

	.chiffres img,
	.services img {
		max-width: 20%;
	}

	/* *****************************************************************
	PAGES SERVICES
	***************************************************************** */

	#services-effiseo article {
		width: 50%;
	}

	/* Animation Page Services on desktop only */

	#services-web,
	#services-mobile,
	#services-design,
	#services-seo {
		perspective: 1000px;
		overflow: hidden;
	}

	#services-web:hover .dev-web,
	#services-design:hover .dev-design {
		transform: translateX(100%);
		transition: transform 2s;
	}

	#services-web:hover .img-dev-web,
	#services-design:hover .img-dev-design {
		transform: translateX(-100%);
		transition: transform 2s;
	}

	#services-mobile:hover .dev-mobile,
	#services-seo:hover .dev-seo {
		transform: translateX(-100%);
		transition: transform 2s;
	}

	#services-mobile:hover .img-dev-mobile,
	#services-seo:hover .img-dev-seo {
		transform: translateX(100%);
		transition: transform 2s;
	}

	.dev-web,
	.img-dev-web,
	.dev-mobile,
	.img-dev-mobile,
	.dev-design,
	.img-dev-design,
	.dev-seo,
	.img-dev-seo {
		transition: transform 2s;
		transform: translateX(0);
	}

	/* Put a higher z-index because we need the image block passing over the text for the transition */
	.img-dev-web,
	.img-dev-mobile,
	.img-dev-design,
	.img-dev-seo {
		z-index: 1;
	}

	/* *****************************************************************
	PAGES INTERIEURES
	***************************************************************** */

	.real section,
	.actu section {
		width: 74%;
	}

	/* *****************************************************************
	PAGES FAQ
	***************************************************************** */

	.accordion {
		width: 75%
	  }

}

/* *****************************************************************

MEDIA QUERIES FOR LARGER DEVICES - Desktop screen (from 992px to more) 

***************************************************************** */

  @media only screen and (min-width: 992px) {
	  aside {
		  width: 24%;
	  }
	  .d-none-mobile {
		  display: block;
	  }

	  .card-container article {
		  flex-basis: 33%;
	  }

	.wrapper {
		max-width: 1150px;
		margin: auto;
	}

	/* .accordion {
	  width: 75%;
	} */
  }