@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@100..900&display=swap');

:root {
	--primary-background-color: #1575ff;
	--accent-background-color: #ff683d;
	--background-color: white;
	--secondary-background-color: #f2f2f2;
	--text-color: #464649;
	--primary-text-color: #1575ff;
	--accent-text-color: #ff683d;
	--box-shadow: rgba(149, 157, 165, 0.1) 0px 8px 24px;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-color: #2d2d2f;
		--secondary-background-color: #2d2d2f;
		--text-color: white;
		--box-shadow: rgba(121, 121, 121, 0.1) 0px 8px 24px;
	}
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: 'Inter Tight', Tahoma, Geneva, Verdana, sans-serif;
}

body {
	background-color: var(--background-color);
	color: var(--text-color);
	overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 2.6rem;
	font-weight: 600;
}

p {
	line-height: 1.7rem;
}

a {
	color: var(--text-color);
	transition: color 0.3s ease-in-out;
}
a:hover {
	color: var(--accent-text-color);
}

a:visited {
	color: var(--primary-text-color);
}

.mt-20 {
	margin-top: 20px;
}

.mt-100 {
	margin-top: 100px;
}
.mt-50 {
	margin-top: 50px;
}
.mt-40 {
	margin-top: 40px;
}
.mt-30 {
	margin-top: 30px;
}

.mb-20 {
	margin-bottom: 20px;
}
.mb-30 {
	margin-bottom: 30px;
}

.mb-40 {
	margin-bottom: 40px;
}
.mb-50 {
	margin-bottom: 50px;
}

.pb-20 {
	padding-bottom: 20px;
}

.py-50 {
	padding: 50px 0;
}
.py-80 {
	padding: 80px 0;
}

.btn {
	margin-top: 20px;
	background-color: var(--primary-background-color);
	color: white;
	padding: 0.8rem 1.8rem;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 1rem;
	transition: background 0.3s ease-in-out;
	box-shadow: var(--box-shadow);
}

.btn-link {
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: var(--box-shadow);
}

.btn:hover {
	background-color: var(--accent-background-color);
	color: white;
}

.sm-btn {
	padding: 0.6rem 1.2rem;
	font-size: 0.9rem;
}

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

.title-right {
	text-align: right;
}
.title-left {
	text-align: left;
}

.border-b {
	border-bottom: 1px solid #a4a4a4;
}
.border-t {
	border-top: 1px solid hsla(0, 0%, 64%, 0.418);
}
.border-b-2 {
	border-bottom: 2px solid #a4a4a4;
}

.bg-gray {
	background-color: var(--secondary-background-color);
}
.bg-gray-2 {
	background-color: #e5e5e5;
}
.bg-white {
	background-color: var(--background-color);
}

.section-desc {
	line-height: 1.8rem;
	font-size: 1.2rem;
}

/* Navigation bar */
.navigation-bar {
	background-color: var(--background-color);
	padding: 10px 0;
	box-shadow: var(--box-shadow);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	display: flex;
	align-items: center;
}

.container {
	max-width: 1150px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	padding: 0;
}

.menu-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 60px;
}

.logo img {
	height: 50px;
}

.desktop-menu {
	display: flex;
	gap: 1rem;
}

ul {
	display: flex;
	gap: 1rem;
	padding: 0;
	margin: 0;
}

li {
	list-style: none;
	cursor: pointer;
}

.navigation-link {
	color: var(--text-color);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease-in-out;
	padding: 8px 16px;
	cursor: pointer;
}

.navigation-link:hover {
	color: var(--accent-text-color);
}

.mobile-menu-button {
	background: none;
	border: none;
	cursor: pointer;
	display: none;
}

.menu-icon {
	width: 30px;
	height: 30px;
	color: var(--text-color);
}

.mobile-menu {
	display: none;
	flex-direction: column;
	background-color: var(--primary-background-color);
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	padding: 1rem;
}

.mobile-menu-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.mobile-menu-link {
	color: var(--background-color);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease-in-out;
	padding: 8px 16px;
	cursor: pointer;
}

main {
	margin-top: 60px;
}

/* Hero section */
.hero-section {
	height: 100dvh;
	background: url('../images/hero-img-1.webp') left center no-repeat;
	background-size: cover;
	background-color: #1575ff;
	/* background-blend-mode: overlay; */
}

.hero-overlay {
	background-color: rgba(0, 0, 0, 0.6);
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hero-container {
	display: flex;
	height: 100%;
	width: 100%;
	justify-content: start;
	align-items: center;
}

.hero-content {
	width: 60%;
	color: white;
	text-align: start;
}

.hero-content h1 {
	font-size: 4.5rem;
	font-weight: 500;
	line-height: 1em;
}

.hero-content p {
	font-size: 1.4rem;
	font-weight: 300;
}

.cta-button {
	box-shadow: var(--box-shadow);
}

/* About section */
.about-section {
	background-color: var(--secondary-background-color);
}

.section-title {
	font-size: 2.5rem;
	font-weight: 600;
	color: var(--text-color);
	margin-bottom: 20px;
}

.card-container {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, 1fr);
}

.about-card {
	text-align: center;
	box-shadow: var(--box-shadow);
	padding: 40px 30px;
	background: var(--background-color);
}

.about-card img {
	height: 54px;
}

.about-card p {
	line-height: 1.6rem;
	font-size: 1rem;
	margin-bottom: 20px;
}

.card-link {
	margin-top: 40px;
}

.about-card a {
	text-transform: uppercase;
	color: var(--text-color);
	text-decoration: none;
	border-bottom: 2px solid var(--primary-text-color);
	transition: border-bottom 0.3s ease-in-out;
}
.about-card a:hover {
	border-bottom: 2px solid var(--accent-text-color);
}

/* Facultes */
.facultes-section {
	padding: 50px 0;
}

.fac-content {
	padding: 1rem;
}

.fac-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 2 colonnes fixes */
	gap: 30px;
	max-width: 100%;
	overflow: hidden;
}

.fact-left,
.fac-right {
	color: var(--text-color);
}

.fac-right {
	max-width: 100%;
	overflow: hidden;
}

.fact-details h3 {
	font-size: 2rem;
	font-weight: 500;
}

.fact-details p {
	font-size: 1.2rem;
	line-height: 1.7rem;
}

.fact-img-container img {
	width: 100%;
	height: auto;
	display: block;
}

/* Facultes card */
.fac-bottom {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
}

.fac-card {
	padding: 20px 0;
	border-top: 1px solid #a4a4a4;
}

.fac-card h3 {
	font-size: 1.7rem;
	font-weight: 500;
}

.fac-link a {
	/* padding: 0.8rem; */
	text-transform: uppercase;
	color: var(--text-color);
	text-decoration: none;
	border-bottom: 2px solid var(--text-color);
	transition: border-bottom 0.3s ease-in-out;
}

.fac-link a:hover {
	border-bottom: 2px solid var(--accent-text-color);
}

/* Programmes section */
.programmes-section {
	background-color: var(--secondary-background-color);
	padding: 50px 0;
}

.programmes-container {
	display: flex;
	justify-content: end;
}

.programmes-content {
	width: 60%;
	margin-top: 20px;
}

.programme {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 30px;
}

.programme p {
	font-size: 1.15rem;
}

.programme-num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 61px;
	border-radius: 50%;
	color: white;
	background-color: var(--text-color);
	font-weight: bold;
	font-size: 1.4rem;
	padding: 20px;
}

.programme-num-blue {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 75px;
	height: 63px;
	border-radius: 50%;
	color: white;
	background-color: var(--primary-background-color);
	font-weight: bold;
	font-size: 1.4rem;
	padding: 20px;
}

.programme-num p,
.programme-num-blue p {
	line-height: 0;
}

/* Galery section */
.galery-section {
	padding: 0 0 25px 0;
}

.gallery-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	width: 100%;
	/* max-width: 1150px; */
	padding: 0 20px 0 20px;
	margin: 0 auto;
}
.gal-img-container img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	box-shadow: var(--box-shadow);
}
.gal-etudiant {
	background-color: #1f1f20;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: white;
}

.gal-etudiant p {
	font-style: italic;
}

.gal-inscription {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Explore */
.explore-section {
	padding-bottom: 75px;
}

.explore-container {
	/* width: 75%; */
	margin: 0 auto;
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	gap: 60px;
}

.explore-desc p {
	/* padding-top: 25px; */
	font-size: 1.2rem;
}

.div-bar {
	height: 5px;
	width: 70%;
	background-color: var(--primary-background-color);
}

/* student exper */
.student-exper {
	padding: 50px 0;
	overflow: hidden;
}

.student-top-right img {
	height: 400px;
}

.student-top-left {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 50px;
}

.student-exper-bottom {
	margin-top: 30px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.student-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}

.student-icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	height: 60px;
	width: 60px;
	border-radius: 50%;
	background-color: var(--primary-background-color);
}

.student-card-img img {
	height: 360px;
	width: auto;
}

.student-card-desc {
	padding: 20px;
	text-align: center;
}

.student-card-desc p {
	margin: 0;
	line-height: 1.4rem;
}

.student-card-desc a {
	color: var(--text-color);
	transition: color 0.3s ease-in-out;
}
.student-card-desc a:hover {
	color: var(--accent-text-color);
}

/* Contact section */
.contact-container {
	display: flex;
	align-items: center;
	gap: 70px;
}

.contact-img img {
	height: 500px;
}

.contact-desc p {
	font-size: 1.4rem;
	line-height: 2rem;
}

/* News */
.news-section {
	padding-bottom: 100px;
}
.news-top {
	text-align: center;
}

.news-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px;
}

.news-card {
	height: 460px;
	display: flex;
	flex-direction: column;
	justify-content: end;
	padding: 50px 30px;
	position: relative;
	color: rgb(241, 241, 241);
}

.news-card h3 {
	line-height: 1.5rem;
}

.news-metadata {
	font-size: 14px;
}

.bg-news-1 {
	background-image: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.8),
			/* Noir semi-transparent en bas */ rgba(0, 0, 0, 0)
				/* Transparent en haut */
		),
		url(../images/article-img-1.webp);
	background-size: cover;
	background-position: center;
}
.bg-news-2 {
	background-image: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.8),
			rgba(0, 0, 0, 0)
		),
		url(../images/article-img-2.webp);
	background-size: cover;
	background-position: center;
}
.bg-news-3 {
	background-image: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.8),
			rgba(0, 0, 0, 0)
		),
		url(../images/article-img-3.webp);
	background-size: cover;
	background-position: center;
}

/* informations */
.infos-cards-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 100px;
}

.infos-card {
	display: flex;
	align-items: center;
	gap: 30px;
}
.infos-card-img {
	height: 100px;
	width: 100px;
	overflow: hidden;
	background-color: var(--background-color);
	border: 5px solid var(--primary-background-color);
	border-radius: 50%;
}

.infos-card-img img {
	height: 100%;
}

.infos-desc p {
	font-style: italic;
}

/* Footer */
.footer {
	background-color: #333;
	padding-top: 75px;
	color: white;
}

.footer-top {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
	margin-bottom: 50px;
}

.footer-left h2 {
	color: white;
}

.footer-phone p,
.footer-adress p,
.footer-hours p {
	color: #d5d5d5;
	font-size: 0.9rem;
	/* margin-top: 10px; */
	width: 70%;
}

.c-container {
	display: flex;
	align-items: center;
	font-weight: 600;
	gap: 10px;
}
.c-container img {
	height: 16px;
}
/* Form */
.form-container {
	padding: 30px;
}

form {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.form-group {
	display: flex;
	flex-direction: column;
}

.half-width {
	width: 48%;
}

.full-width {
	width: 100%;
}

label {
	font-weight: bold;
	color: #fff;
	margin-bottom: 5px;
}

input,
textarea {
	background: transparent;
	border: none;
	border-bottom: 1px solid #fff;
	color: #fff;
	padding: 8px;
	font-size: 14px;
}

input::placeholder,
textarea::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

button {
	width: 100%;
	padding: 12px;
	border: none;
	border-radius: 5px;
	background-color: var(--primary-background-color);
	color: white;
	font-size: 16px;
	cursor: pointer;
	transition: 0.3s;
}

button:hover {
	background-color: var(--primary-background-color);
}

.footer-bottom {
	text-align: center;
	padding: 1.5rem 0;
}

.footer-bottom p {
	color: #d5d5d5;
	font-size: small;
}

/* Media query */
@media screen and (max-width: 768px) {
	.container {
		padding: 15px;
	}

	.navigation-bar {
		padding: 0.2rem;
	}

	.desktop-menu {
		display: none;
	}

	.mobile-menu-button {
		display: block;
		text-align: end;
	}

	/* Hero Section */
	.hero-content {
		width: 100%;
	}

	.section-title {
		font-size: 1.8rem;
	}

	/* About section */
	.card-container {
		grid-template-columns: 1fr;
	}

	/* Facultes */
	.fac-container {
		grid-template-columns: 1fr;
	}

	/* Facultes card */
	.fac-bottom {
		display: grid;
		grid-template-columns: 1fr;
		padding: 0.5rem;
	}

	/* programmes */
	.programmes-content {
		width: 100%;
	}

	.programme {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}

	/* Gallery */
	.gallery-container {
		grid-template-columns: 1fr;
	}

	.gal-etudiant,
	.gal-inscription {
		min-height: 350px;
	}

	/* Explore */
	.explore-container {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.div-bar {
		height: 5px;
		width: 65%;
		background-color: var(--primary-background-color);
	}

	/* Student Exper */
	.student-top-left {
		display: flex;
		flex-direction: column-reverse;
	}

	.student-exper-bottom {
		grid-template-columns: 1fr;
	}

	/* News */
	.news-items {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	/* footer */
	.footer-top {
		grid-template-columns: 1fr;
	}
	.footer-phone p,
	.footer-adress p,
	.footer-hours p {
		width: 100%;
	}
}
