diff --git a/README.md b/README.md
index cf39555f..59c5f956 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,49 @@
-# booki-starter-pack
+
+# Project for openClassRoom #3
+
+## Presentation
+
+Booki is a french start-up. As a Junior dveloper, i have in charge to develop a website who allows user to find accomodations or discover activities in the city of their choice !
+I was responsible for integrating the interface of the website using HTML & CSS. To achieve this i worked in collaboration with Sarah the CTO and Loïc, the UI Designer.
+
+Vous êtes chargé d'intégrer l'interface du site avec du code HTML et CSS. Pour cela, vous travaillez en étroite collaboration avec Sarah, la CTO, et Loïc, l’UI designer.
+
+## Process.
+
+I first started by studying all the mock-up Loîc provided me.
+
+
+
+I had to develop the *Mobile*, *Tablet* and *Desktop* version of the site 👍
+
+### The Website is Divided in 3 sections
+
+1. the Navbar
+2. Hero Section
+3. The accomodations and Popular Section
+4. The activities available in the city section
+5. The footer
+
+The main objective of the project was to improve my HTML semantic, and work with basic CSS.
+
+I first started with the desktop version
+
+
+the tablet version
+
+
+the mobile version.
+
+
+### Code
+
+I tried my best to use the best HTML tags and comment the most my code. My goal was to have the cleanest code and start working with good practicies.
+
+I use the BEM methodology for the CSS
+
+
+This is a great way to organise your CSS properly, but i think this method is better in use with SCSS.
+By the way it was a good project to develop, i'm pretty happy with the result.
+And the final version is completely responsive and match perfectly all the mockups !
+
+Hope your enjoy, and see you for my next Project 👌
diff --git a/css/style.css b/css/style.css
index 4399d5fa..42eaeb61 100644
--- a/css/style.css
+++ b/css/style.css
@@ -1,162 +1,539 @@
/****** General ***********/
-* {
- font-family: 'Raleway', sans-serif;
-}
-
:root {
--main-color: #0065FC;
--main-bg-color: #F2F2F2;
--filter-bg-color: #DEEBFF;
}
-.fa-solid {
- color: var(--main-color);
+* {
+ font-family: 'Raleway', sans-serif;
+ margin: 0;
+ padding: 0;
}
+
body {
display: flex;
justify-content: center;
}
-.main-container {
+.main {
width: 100%;
max-width: 1440px;
padding: 0 50px;
box-sizing: border-box;
}
-.section-title {
- margin: 0;
- font-size: 22px;
-}
-
.card {
background-color: white;
border-radius: 20px;
padding: 5px;
filter: drop-shadow(0px 3px 15px rgba(0, 0, 0, 0.1));
+ display: flex;
+ width: 100%;
}
-.card img {
+.cards__img {
+ width: 33%;
+ height: 136px;
+ border-top-left-radius: 20px;
+ border-bottom-left-radius: 20px;
object-fit: cover;
}
-.card-title {
- font-size: 16px;
+.card--col {
+ flex-direction: column;
+ gap: 8px;
}
-.euro {
+.cards__img--col {
+ width: 100%;
+ height: 136px;
+ border-top-left-radius: 20px;
+ border-top-right-radius: 20px;
+ object-fit: cover;
+}
+
+.card__title {
+ margin : 20px 19px;
font-weight: 700;
}
-.neutralStar {
- color: var(--main-bg-color)
+.card__subtitle {
+ padding: 4px 0;
+ font-size: 14px;
}
-/****** Hebergements And Populaires ***********/
-.hebergements-and-populaires {
+.card__content {
+ padding-left: 15px;
display: flex;
+ flex-direction: column;
justify-content: space-between;
}
+.card__rating {
+ margin-bottom: 5px;
+}
-.hebergements-and-populaires section {
- background-color: var(--main-bg-color);
- border-radius: 20px;
- padding: 30px;
- box-sizing: border-box;
+.euro {
+ font-weight: 700;
}
-/****** Hebergements ***********/
-.hebergements {
- width: 65%;
+.neutral-star {
+ color: var(--main-bg-color) !important;
}
-/****** Populaires ***********/
-.populaires {
- width: 32%;
+h1, h2 {
+ font-weight: 700;
+ font-size: 22px;
+ margin-bottom: 33px;
+}
+
+.lead__text {
+ font-size: 16px;
+}
+
+.lead__text--bold {
+ font-size: 18px;
+ font-weight: 700;
+}
+
+a {
+ text-decoration: none;
+ color: #000;
}
-.populaires-title {
+ul {
+ list-style: none;
+}
+
+/****** General Media queries ***********/
+
+/* Medium devices (tablets, less/equal than 1024px) */
+@media (max-width: 1024px) {
+ .card__title {
+ font-size: 14px;
+ }
+
+ .card__subtitle {
+ font-size: 13px;
+ }
+}
+
+/* Small devices (phones, less than 768px) */
+@media (max-width: 767.98px) {
+ .main {
+ padding: 0;
+ width: 100vw;
+ }
+}
+
+/****** Header ***********/
+
+.header {
display: flex;
+ width: 100%;
justify-content: space-between;
- align-items: center;
}
-.populaires-cards .card {
+ .header__logo {
+ width: 61.09px;
+ height: 19px;
+ padding: 30px 0;
+ }
+
+
+.header__nav {
display: flex;
- margin-top: 33px;
+ gap: 68px;
+ align-items: flex-start;
}
-.populaires-cards img {
- width: 33%;
- height: 136px;
- border-top-left-radius: 20px;
- border-bottom-left-radius: 20px;
+ .header__nav__button {
+ display: flex;
+ flex-direction: column-reverse;
+ }
+
+ .header__nav__link {
+ padding-top: 15px;
+ }
+
+ .header__nav__line {
+ height: 2px;
+ background-color: var(--main-bg-color);
+ }
+
+ .header__nav__link:hover + .header__nav__line {
+ color: var(--main-color);
+ background-color: var(--main-color);
+ }
+
+ .header__nav__link:hover, .header__nav__link:hover::before {
+ transform-origin: left;
+ color: var(--main-color);
+ transform: scaleX(1);
+
+ }
+
+/* ********** Header section Media queries ********** */
+/* Small devices (phones, less than 768px) */
+
+@media (max-width: 767.98px) {
+
+ .header {
+ align-items: center;
+ flex-direction: column;
+ }
+
+ .header__nav {
+ width: 100%;
+ display:grid;
+ grid-template-columns: 1fr 1fr;
+ }
+
+ .header__nav__link {
+ padding-top: 15px;
+ }
+
+ .header__nav__button {
+ text-align: center;
+ flex-direction: column;
+ }
+
+ .header__nav__link:hover + .header__nav__line {
+ color: var(--main-color);
+ background-color: var(--main-color);
+ }
+
+ .header__nav__line {
+ margin-top: 15px;
+ width: 100%;
+ }
+
}
-.populaires-cards .card-content {
- width: 67%;
- padding-left: 15px;
+/****** Hero Section ***********/
+
+.hero {
display: flex;
flex-direction: column;
+ align-items: flex-start;
+ gap: 35px;
+ margin-block: 30px 35px;
+}
+
+ .hero__headline__title {
+ margin-bottom: 8px;
+ }
+
+ .hero__searchbar__form {
+ display: flex;
+ }
+
+ .hero__searchbar__icon {
+ background-color: var(--main-bg-color);
+ color: #000;
+ display: flex;
+ width: 50px;
+ justify-content: center;
+ align-items: center;
+ font-size: 18px;
+ border-top-left-radius: 15px;
+ border-bottom-left-radius: 15px;
+ }
+
+ .hero__searchbar__input {
+ border: 2px solid var(--main-bg-color);
+ padding: 14px;
+ text-align: center;
+ font-size: 18px;
+ font-weight: 700;
+ }
+
+ .hero__searchbar__input:focus {
+ outline: none;
+ }
+
+ .hero__searchbar__btn {
+ padding: 14px 16px;
+ background-color: var(--main-color);
+ border : none;
+ color: var(--main-bg-color);
+ font-size: 18px;
+ border-top-right-radius: 15px;
+ border-bottom-right-radius: 15px;
+ font-weight: 700;
+ cursor: pointer;
+ }
+
+ .hero__searchbar__icon--blue {
+ background-color: var(--main-color);
+ color: var(--main-bg-color);
+ display: none;
+ margin-left: -9px;
+ justify-content: center;
+ align-items: center;
+ border-radius: 15px;
+ width: 50px;
+ font-size: 18px;
+ cursor: pointer;
+ }
+
+ .hero__filter {
+ display: flex;
+ gap: 15px;
+ flex-wrap: wrap ;
+ align-items: center;
+ }
+
+ .hero__filter__title {
+ font-size: 18px;
+ font-weight: 700;
+ }
+
+ .hero__filter__btn {
+ padding: 15px 19px;
+ font-size: 17px;
+ font-weight: 700;
+ background-color: #fff;
+ border: 2px solid var(--main-bg-color);
+ border-radius: 50px;
+ transition: all .4s;
+ cursor: pointer;
+ }
+
+ .hero__filter__btn:hover {
+ background-color: var(--filter-bg-color);
+ }
+
+ .hero__filter__icon {
+ padding-right : 14px;
+ font-size: 17px;
+ color: var(--main-color);
+ }
+
+ .hero__info {
+ display: flex;
+ gap: 10px;
+ align-items: center;
+ }
+
+ .hero__info__icon {
+ padding:7px 12px;
+ border: solid 2px var(--main-bg-color);
+ border-radius: 50%;
+ color: var(--main-color);
+ }
+
+
+ /* ********** Hero section Media queries ********** */
+ /* Small devices (phones, less than 768px) */
+
+@media (max-width: 767.98px) {
+ .hero {
+ align-items: center;
+ padding : 30px 20px 35px;
+ margin: 0;
+ }
+
+ .hero__filter {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ .hero__filter__btn {
+ font-size: 14px;
+ }
+
+ .hero__filter__buttons {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ row-gap: 20px;
+ column-gap: 10px;
+ }
+
+ .hero__searchbar__icon--blue {
+ display: flex;
+ }
+
+ .hero__searchbar__btn {
+ display: none;
+ }
+}
+
+/****** Hebergements And Populaires section ***********/
+
+
+.hebergements-and-populaires {
+ display: flex;
justify-content: space-between;
- box-sizing: border-box;
}
-.populaires-cards .card-title {
- margin-top: 10px;
- margin-bottom: 4px;
+.hebergements, .populaires {
+ background-color: var(--main-bg-color);
+ border-radius: 20px;
+ padding: 30px;
+ box-sizing: border-box;
}
-.populaires-cards .card-subtitle {
- margin: 0;
+/****** Hebergements ***********/
+
+
+.hebergements {
+ width: 65%;
}
-.populaires-cards .card-rating {
- margin-bottom: 5px;
+ .hebergements__cards {
+ display: grid;
+ grid-template-columns: repeat(3,1fr);
+ gap: 30px;
+ }
+
+ .hebergements__see-more {
+ padding : 35px 0;
+ }
+
+/****** Populaires ***********/
+
+
+.populaires {
+ width: 32%;
}
+.populaires__cards {
+ display: flex;
+ flex-direction: column;
+ gap: 30px;
+}
+ .populaires__title {
+ display: flex;
+ justify-content: space-between;
+ }
+ .fa-star {
+ color: var(--main-color);
+ }
-/* Le code ci-dessous correspond à la version responsive uniquement */
+ .card-rating__icon {
+ color: var(--main-color);
+ }
-/****** Media queries ***********/
+/****** Hébergements et populaires Media queries ***********/
/* Medium devices (tablets, less/equal than 1024px) */
+
@media (max-width: 1024px) {
- .hebergements-and-populaires {
- flex-direction: column;
+ .hebergements-and-populaires {
+ flex-direction: column;
+ }
+
+ .hebergements {
+ width: 100%;
+ }
+
+ .populaires {
+ width: 100%;
+ margin-top: 50px;
+ }
+
+ .populaires__cards {
+ flex-direction: row;
+ gap: 20px;
+ }
+
+ .populaires__cards .card {
+ width: 30%;
+ }
}
- .hebergements {
- width: 100%;
- }
+/* Small devices (phones, less than 768px) */
- .populaires {
- width: 100%;
- margin-top: 50px;
+@media (max-width: 767.98px) {
+ .hebergements-and-populaires {
+ flex-direction: column-reverse;
+ }
+
+ .hebergements {
+ background-color: #fff !important;
+ }
+
+ .hebergements__see-more {
+ padding: 15px;
+ }
+
+ .hebergements-and-populaires section {
+ border-radius: 0;
+ }
+
+ .populaires {
+ margin-top: 0;
+ }
+
+ .populaires__cards .card {
+ width: 100%;
+ }
+
+ .hebergements__cards {
+ grid-template-columns: 1fr;
+ gap: 15px;
+ }
}
- .populaires-cards {
+/****** Activités ***********/
+
+
+.city-activities {
+ padding: 30px;
+ margin-bottom: 35px;
+}
+ .city-activities__cards {
display: flex;
- flex-direction: row;
- justify-content: space-between;
+ gap: 30px;
}
- .populaires-cards .card {
- width: 30%;
+ .city-activities__card {
+ padding: 0;
+ }
+
+/****** Activités Media queries ***********/
+/* Small devices (phones, less than 768px) */
+
+@media (max-width: 767.98px) {
+ .city-activities__cards, .populaires__cards {
+ flex-direction: column;
+ gap: 15px;
+ }
}
- .populaires-cards .card-title {
- font-size: 14px;
+/****** Footer ***********/
+
+.footer {
+ background-color: var(--main-bg-color);
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+ padding: 20px 15px;
+}
+
+ .footer__section {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
}
- .populaires-cards .card-subtitle {
- font-size: 13px;
+ .footer__section ul li {
+ margin-top: 15px;
}
-}
+/****** Footer Media queries ***********/
/* Small devices (phones, less than 768px) */
+
@media (max-width: 767.98px) {
- /* ... */
+ .footer {
+ flex-direction: column;
+ padding: 30px 30px;
+ }
+
+ .footer__section:not(:first-child) {
+ margin-top: 50px
+ }
}
\ No newline at end of file
diff --git a/index.html b/index.html
index 2f90d086..453fe629 100644
--- a/index.html
+++ b/index.html
@@ -15,27 +15,74 @@
-
-
+
+
-
-
+
+
+
+
+ Trouvez votre hébergement pour des vacances de rêve
+ En plein centre-ville ou en pleine nature
-
-
-
Les plus populaires
-
+
+
+
+
+
+ Filtres
+
+
+
+
+
+
-
-
-
-
+
+
+
+
Plus de 500 logements sont disponibles dans cette ville
+
+
+
+
+
+
+
+
+ Hébergements à Marseille
+
+
+
+
-
Hôtel Le soleil du matin
-
Nuit à partir de 128€
+
Hôtel du port
+
Nuit à partir de 52€
-
+
@@ -45,14 +92,14 @@
Hôtel Le soleil du matin
-
-
-
+
+
+
-
Chambres d’hôtes Au cœur de l’eau
-
Nuit à partir de 71€
+
Auberge La Canebière
+
Nuit à partir de 25€
-
+
@@ -62,14 +109,65 @@
Chambres d’hôtes Au cœur de l’eau
-
-
-
+
+
+
-
Hôtel Bleu et Blanc
-
Nuit à partir de 68€
+
Hôtel Les mouettes
+
Nuit à partir de 76€
-
+
+
+
+
+
+
+ Note de 4 sur 5
+
+
+
+
+
+
+
+
Hôtel de la mer
+
Nuit à partir de 46€
+
+
+
+
+
+
+
+ Note de 4 sur 5
+
+
+
+
+
+
+
+
Auberge Le Panier
+
Nuit à partir de 23€
+
+
+
+
+
+
+
+ Note de 4 sur 5
+
+
+
+
+
+
+
+
Hôtel chez Amina
+
Nuit à partir de 96€
+
+
@@ -78,12 +176,140 @@
Hôtel Bleu et Blanc
Note de 4 sur 5
+
+
+
+
+
+
+
Les plus populaires
+
+
+
+
+
+
+
+
Hôtel Le soleil du matin
+
Nuit à partir de 128€
+
+
+
+
+
+
+
+ Note de 4 sur 5
+
+
+
+
+
+
+
+
Chambres d’hôtes Au cœur de l’eau
+
Nuit à partir de 71€
+
+
+
+
+
+
+
+ Note de 4 sur 5
+
+
+
+
+
+
+
+
Hôtel Bleu et Blanc
+
Nuit à partir de 68€
+
+
+
+
+
+
+
+ Note de 4 sur 5
+
+
+
+
+ Activités à Marseille
+
+
+

+
+
+
+
+

+
Fort de Pomègues
+
+
+

+
Parc national des Calanques
+
+
+

+
Notre-Dame-de-la-Garde
+
+
+
-
+