├── README.md ├── personal-portfolio ├── README.md ├── images │ ├── code-1.svg │ ├── code-2.svg │ ├── codepen.svg │ ├── freecodecamp.svg │ ├── github.svg │ ├── linkedin.svg │ ├── personalPortfolio.jpg │ └── twitter.svg ├── index.html └── style.css ├── product-landing-page ├── README.md ├── images │ ├── RemediApp.png │ ├── contact.svg │ ├── dataPrivacy.svg │ ├── easyToUse.svg │ ├── landingPage.jpg │ ├── logo_doctors.svg │ ├── logo_horizontal.svg │ ├── logo_white.svg │ └── research.svg ├── index.html └── style.css ├── survey-form ├── README.md ├── images │ ├── survey_icon.svg │ └── survey_preview.jpg ├── index.html └── style.css ├── technical-documentation-page ├── README.md ├── images │ └── TechnicalDocumentation.jpg ├── index.html └── style.css └── tribute-page ├── README.md ├── images ├── Almond_Blossom.jpg ├── TributePage_preview.jpg ├── Wheatfield_with_a_Reaper.jpg ├── irises.jpg ├── starry-night-over-the-Rhone.jpg ├── starry-night.jpg ├── the_bedroom.jpg └── vangogh.jpg ├── index.html └── style.css /README.md: -------------------------------------------------------------------------------- 1 | # Responsive Web Design Projects 2 | [freeCodeCamp.org](https://www.freecodecamp.org/) is a nonprofit organization helping thousands of people learn to code for free. This respository captures my personal solutions to the responsive web design projects.

3 | 4 | ## Projects 5 | These projects are made for the freeCodeCamp Responsive Web Design Certification. The objective was to use HTML and plain CSS in order to build five responsive webpages that fulfill freeCodeCamp's user stories. You can find further information on the projects in the links below. 6 | * Tribute Page: [Page](https://codepen.io/sfoteini/full/VweGZOK) | [Requirements](https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-tribute-page) 7 | * Survey Form: [Page](https://codepen.io/sfoteini/full/GRomQpN) | [Requirements](https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-survey-form) 8 | * Product Landing Page: [Page](https://codepen.io/sfoteini/full/bGEPbNr) | [Requirements](https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-product-landing-page) 9 | * Technical Documentation Page: [Page](https://codepen.io/sfoteini/full/OJMOQvV) | [Requirements](https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-technical-documentation-page) 10 | * Personal Portfolio: [Page](https://codepen.io/sfoteini/full/rNexONj) | [Requirements](https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage) 11 |
12 | Made with :heartpulse: 13 | -------------------------------------------------------------------------------- /personal-portfolio/README.md: -------------------------------------------------------------------------------- 1 | ![Personal Portfolio Webpage](images/personalPortfolio.jpg) 2 | 3 | # Personal Portfolio 4 | A personal portfolio webpage created for the freeCodeCamp challenge "Build a Personal Portfolio Webpage".
5 | You can see the page at [CodePen](https://codepen.io/sfoteini/full/rNexONj)

6 | Made with :heartpulse: 7 | -------------------------------------------------------------------------------- /personal-portfolio/images/code-2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /personal-portfolio/images/codepen.svg: -------------------------------------------------------------------------------- 1 | CodePen icon 2 | -------------------------------------------------------------------------------- /personal-portfolio/images/freecodecamp.svg: -------------------------------------------------------------------------------- 1 | freeCodeCamp icon -------------------------------------------------------------------------------- /personal-portfolio/images/github.svg: -------------------------------------------------------------------------------- 1 | GitHub icon -------------------------------------------------------------------------------- /personal-portfolio/images/linkedin.svg: -------------------------------------------------------------------------------- 1 | LinkedIn icon -------------------------------------------------------------------------------- /personal-portfolio/images/personalPortfolio.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/personal-portfolio/images/personalPortfolio.jpg -------------------------------------------------------------------------------- /personal-portfolio/images/twitter.svg: -------------------------------------------------------------------------------- 1 | Twitter icon -------------------------------------------------------------------------------- /personal-portfolio/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Personal Portfolio 10 | 11 | 12 | 13 | 14 | 41 | 42 |
43 |
44 |

Hello,

45 |

I'm Foteini

46 |
47 |
48 | A code snippet in C language 49 | A code snippet in C language 50 |
51 |
52 | 53 |
54 |

My Story:

55 |
56 |
57 |

I'm an Electrical and Computer Engineering student with notable experience in computer science and programming. I am also Microsoft Learn Student Amabasador interested in all aspects of technology and especially in Biomedical Engineering, Artificial Intelligence and Internet of Things. I'm passionate about Arts & Design and I love creating beautiful things. I really enjoy learning new things and I'm always open to new ideas and projects.

58 |
59 |
60 |

Interests

61 |
    62 |
  • Programming
  • 63 |
  • Biomedical Engineering
  • 64 |
  • App & Web Development
  • 65 |
  • Machine Learning
  • 66 |
67 |
68 |
69 |
70 | 71 |
72 |

My Work:

73 |

Here's a list of projects I built for the Responsive Web Design Certification on freeCodeCamp.

74 | 75 |
76 |
77 |
78 | tribute page 79 |
80 |
81 |

82 | Tribute Page 83 |

84 |

A tribute page dedicated to Vincent Van Gogh, built with HTML and CSS

85 |
86 |
87 | 88 |
89 |
90 | survey form 91 |
92 |
93 |

94 | Survey Form 95 |

96 |

A survey form UI for an online course, built with HTML and CSS

97 |
98 |
99 | 100 |
101 |
102 | product landing page 103 |
104 |
105 |

106 | Product Landing Page 107 |

108 |

A product landing page for a medication reminder app, built with HTML and CSS

109 |
110 |
111 | 112 |
113 |
114 | technical documentation page 115 |
116 |
117 |

118 | Technical Documentation Page 119 |

120 |

A technical documentation page made for HTML

121 |
122 |
123 | 124 |
125 |
126 | personal portfolio 127 |
128 |
129 |

130 | Personal Portfolio Webpage 131 |

132 |

A static personal portfolio, built with HTML and CSS

133 |
134 |
135 | 136 |
137 | 138 |
139 | 140 |
141 |

Let's work together

142 |

Find me on

143 | 160 |
161 | 162 | 171 | 172 | 173 | 174 | 175 | -------------------------------------------------------------------------------- /personal-portfolio/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | html { 7 | box-sizing: border-box; 8 | font-size: 10px; 9 | } 10 | 11 | body { 12 | font-size: 1.6rem; 13 | line-height: 1.5; 14 | font-family: Poppins; 15 | color: #011640; 16 | overflow-x: hidden; 17 | } 18 | 19 | h1 { 20 | font-size: 7rem; 21 | font-weight: 600; 22 | margin: 8rem 0 2rem 0; 23 | } 24 | 25 | @media (max-width: 650px){ 26 | h1 { 27 | font-size: 5rem; 28 | } 29 | } 30 | 31 | h2 { 32 | margin-bottom: 5rem; 33 | } 34 | 35 | li { 36 | list-style: none; 37 | } 38 | 39 | a { 40 | color: #011640; 41 | text-decoration: none; 42 | } 43 | 44 | img { 45 | max-width: 100%; 46 | height: auto; 47 | display: block; 48 | } 49 | 50 | /* Navigation */ 51 | 52 | .nav { 53 | display: flex; 54 | justify-content: center; 55 | align-items: center; 56 | position: fixed; 57 | top: 0; 58 | width: 100%; 59 | min-height: 75px; 60 | background-color: #fff; 61 | box-shadow: 0 1rem 1rem -1rem rgba(55, 56, 58, 0.2); 62 | z-index: 10; 63 | } 64 | 65 | nav > ul { 66 | display: flex; 67 | flex-direction: row; 68 | justify-content: space-around; 69 | } 70 | 71 | nav li { 72 | padding: 0px 0.8rem; 73 | } 74 | 75 | nav .code { 76 | color: white; 77 | transition: color 0.3s ease-out; 78 | } 79 | 80 | nav a:hover .code { 81 | color: #F2797B; 82 | } 83 | 84 | /* Welcome section */ 85 | 86 | #welcome-section { 87 | margin: 5rem; 88 | display: flex; 89 | flex-direction: row; 90 | justify-content: space-around; 91 | align-items: center; 92 | height: 100vh; 93 | } 94 | 95 | @media (max-width: 1000px) { 96 | #welcome-section { 97 | text-align: center; 98 | margin-top: 10rem; 99 | display: flex; 100 | flex-direction: column; 101 | justify-content: center; 102 | align-items: center; 103 | } 104 | } 105 | 106 | .welcome-img { 107 | margin-top: 8rem; 108 | width: 580px; 109 | height: auto; 110 | } 111 | 112 | #mobile-only { 113 | display: none; 114 | } 115 | 116 | @media (max-width: 850px){ 117 | #desktop-only { 118 | display: none; 119 | } 120 | 121 | #mobile-only { 122 | display: initial; 123 | width: 450px; 124 | height: auto; 125 | } 126 | } 127 | 128 | #subheading { 129 | font-size: 5rem; 130 | font-weight: 600; 131 | margin: 2rem 0; 132 | } 133 | 134 | #subheading span { 135 | color: #F2797B; 136 | } 137 | 138 | @media (max-width: 650px){ 139 | #subheading { 140 | font-size: 4rem; 141 | } 142 | } 143 | 144 | /* About section */ 145 | 146 | #about { 147 | padding: 10rem 5rem 5rem 5rem; 148 | } 149 | 150 | #about h2 { 151 | text-align: center; 152 | } 153 | 154 | #about-container { 155 | display: flex; 156 | flex-direction: row; 157 | justify-content: space-around; 158 | align-items: center; 159 | } 160 | 161 | @media (max-width: 850px) { 162 | #about-container { 163 | width: 100%; 164 | display: flex; 165 | flex-direction: column; 166 | align-items: center; 167 | text-align: center; 168 | } 169 | } 170 | 171 | #my-story { 172 | width: 60%; 173 | padding: 0 2rem; 174 | } 175 | 176 | #interests-list { 177 | background-color: #011640; 178 | color: #fff; 179 | padding: 3rem; 180 | border-radius: 5px; 181 | } 182 | 183 | @media (max-width: 850px) { 184 | #my-story { 185 | width: 100%; 186 | margin-bottom: 5rem; 187 | } 188 | 189 | #interests-list { 190 | margin: auto; 191 | } 192 | } 193 | 194 | #interests-list > h3 { 195 | text-align: center; 196 | padding-bottom: 2rem; 197 | } 198 | 199 | /* Projects section */ 200 | 201 | #projects { 202 | padding: 10rem 5rem; 203 | text-align: center; 204 | } 205 | 206 | #projects > p { 207 | margin-bottom: 5rem; 208 | } 209 | 210 | .projects-grid { 211 | display: grid; 212 | grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 213 | grid-gap: 5rem; 214 | margin: 1.5rem auto; 215 | } 216 | 217 | @media (max-width: 400px) { 218 | .projects-grid { 219 | grid-template-columns: 1fr; 220 | margin: 0 auto; 221 | } 222 | } 223 | 224 | .card { 225 | position: relative; 226 | padding-bottom: 2rem; 227 | border: 1px solid rgba(217, 217, 217, 0.5); 228 | border-radius: 5px; 229 | } 230 | 231 | .card:hover { 232 | box-shadow: 0 0 2rem -0.7rem #D9D9D9; 233 | border: 1px solid #D9D9D9; 234 | } 235 | 236 | .desc { 237 | padding: 2rem; 238 | text-align: left; 239 | } 240 | 241 | .project-tile { 242 | margin: 2rem 0 2rem 0; 243 | } 244 | 245 | .project-tile > a { 246 | color: #F2797B; 247 | font-weight: 200; 248 | } 249 | 250 | /* Contact section */ 251 | 252 | #contact { 253 | margin-top: 3rem; 254 | padding: 10rem 5rem; 255 | text-align: center; 256 | background-color: #011640; 257 | color: #fff; 258 | } 259 | 260 | .contact-icon { 261 | width: 2rem; 262 | padding: 1rem; 263 | filter: invert(100%); 264 | } 265 | 266 | .contact-links { 267 | display: flex; 268 | justify-content: center; 269 | width: 100%; 270 | margin-top: 4rem; 271 | flex-wrap: wrap; 272 | } 273 | 274 | .contact-details { 275 | display: flex; 276 | flex-direction: row; 277 | align-items: center; 278 | justify-content: center; 279 | color: #fff; 280 | padding: 1rem; 281 | } 282 | 283 | 284 | .contact-details:hover .contact-icon { 285 | filter: invert(83%) sepia(39%) saturate(6798%) hue-rotate(308deg) brightness(92%) contrast(107%); 286 | } 287 | 288 | .contact-details:hover { 289 | color: #F2797B; 290 | } 291 | 292 | /* Footer */ 293 | 294 | footer { 295 | text-align: center; 296 | padding: 2rem 0; 297 | background-color: #011640; 298 | color: #fff; 299 | } 300 | 301 | .heart::before { 302 | content: '\2665'; 303 | color: #F2797B; 304 | font-size: 1.6rem; 305 | } 306 | 307 | footer .code { 308 | color: #F2797B; 309 | } 310 | 311 | /* Text Selection Color */ 312 | 313 | 314 | ::-moz-selection { /* Code for Firefox */ 315 | color: #fff; 316 | background: #02A1A3; 317 | } 318 | 319 | ::selection { 320 | color: #fff; 321 | background: #02A1A3; 322 | } 323 | -------------------------------------------------------------------------------- /product-landing-page/README.md: -------------------------------------------------------------------------------- 1 | ![Product Landing Page](images/landingPage.jpg) 2 | 3 | # Product Landing Page 4 | A product landing page for a medication reminder app. Created for the freeCodeCamp challenge "Build a Product Landing Page".
5 | You can see the page at [CodePen](https://codepen.io/sfoteini/full/bGEPbNr)
6 | ** The information provided on the page are not real.

7 | Made with :heartpulse: 8 | -------------------------------------------------------------------------------- /product-landing-page/images/RemediApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/product-landing-page/images/RemediApp.png -------------------------------------------------------------------------------- /product-landing-page/images/contact.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | -------------------------------------------------------------------------------- /product-landing-page/images/dataPrivacy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /product-landing-page/images/easyToUse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /product-landing-page/images/landingPage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/product-landing-page/images/landingPage.jpg -------------------------------------------------------------------------------- /product-landing-page/images/logo_doctors.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /product-landing-page/images/logo_horizontal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /product-landing-page/images/logo_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /product-landing-page/images/research.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /product-landing-page/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Remedi Mobile App 10 | 11 | 12 | 13 | 14 | 27 | 28 |
29 |
30 |
31 |
32 |

Your personal medication reminder app

33 |

Spend less time thinking about medications and focus on other important things in life.

34 | 35 |
36 |
37 |
38 | Remedi mobile app 39 |
40 |
41 |
42 | 43 |
44 | 45 |
46 |

Why you should choose Remedi App

47 |
48 |
49 |
50 | easy to use icon 51 |
52 |
53 |

Easy to Use

54 |

Manage your medications with our user-friendly app. Get personalized reminders on time and stay connected to your caregivers. 55 |

56 |
57 |
58 | 59 |
60 |
61 | data privacy icon 62 |
63 |
64 |

Data Privacy

65 |

Your health is a private matter. We will never hand over your personal data to third parties. 66 |

67 |
68 |
69 | 70 |
71 |
72 | data privacy icon 73 |
74 |
75 |

Research

76 |

We use data gathered through our app to improve the healthcare system. We work together with healthcare companies who support us with scientific analyses of aggregated data. 77 |

78 |
79 |
80 | 81 |
82 |
83 | 84 |
85 |

Awesome Key Features

86 |
87 |
88 |
89 | Remedi mobile app 90 |
91 |
92 | 93 |
94 |
    95 |
  1. 96 |

    Med and refill reminders

    97 |

    Schedule your med reminders, track taken and missed doses and set refill reminders.

    98 |
  2. 99 |
  3. 100 |

    Medication adherence reports

    101 |

    Check your weekly and monthly adherence rates based on the number of taken and missed doses.

    102 |
  4. 103 |
  5. 104 |

    Teamwork

    105 |

    Add your most trusted family members and friends to send them a notification if you accidentally miss a medication.

    106 |
  6. 107 |
  7. 108 |

    Communicate with Your Doctor

    109 |

    Show your doctor how your health has progressed since the last appointment.

    110 |
  8. 111 |
112 |
113 | 114 |
115 |
116 | 117 |
118 |
119 |

Medication Adherence

120 |

Medication adherence is the extent to which a person’s behaviour (taking medication, following a diet, and/or executing lifestyle changes) corresponds with agreed recommendations from a health care provider

121 |

A World Health Organization report on adherence to long-term therapies suggests that patients adhere to only 50% of drugs prescribed for chronic diseases in developed nations, a figure that is even lower in developing countries.

122 |
123 | 124 |
125 | 126 |
127 |

Download Remedi App

128 |
129 |
130 | 133 |
134 |

Features

135 |
    136 |
  1. Easily customizable pill reminders
  2. 137 |
  3. Family and caregiver support
  4. 138 |
  5. Doctor appointment manager
  6. 139 |
  7. Track health measurements for various medical conditions
  8. 140 |
  9. Weekly & monthly med reports to share with your doctor
  10. 141 |
142 |
143 | 144 |
145 | 146 |
147 | 150 |
151 |

Features

152 |
    153 |
  1. Unlimited patient list
  2. 154 |
  3. Patient Medical Records
  4. 155 |
  5. Create and keep track of patient's appointments
  6. 156 |
  7. Cross-user and cross-device syncing
  8. 157 |
  9. Secure encrypted cloud for saving clinical data
  10. 158 |
159 |
160 | 161 |
162 |
163 |
164 | 165 |
166 |

Contact

167 |
168 |
169 |
170 |
171 | 172 | 173 |
174 |
175 | 176 | 177 |
178 |
179 |

Message

180 | 181 |
182 |
183 | 184 | 185 |
186 |
187 |
188 | 189 |
190 |
191 | Contact icon 192 |
193 |
194 |
195 |
196 | 197 | 210 | 211 |
212 | 213 | 214 | 215 | 216 | -------------------------------------------------------------------------------- /product-landing-page/style.css: -------------------------------------------------------------------------------- 1 | @import "https://fonts.googleapis.com/css?family=Lato:400,700"; 2 | 3 | * { 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: border-box; 7 | } 8 | 9 | html { 10 | font-size: 10px; 11 | } 12 | 13 | body { 14 | font-size: 1.6rem; 15 | line-height: 1.5; 16 | font-family: 'Lato', sans-serif; 17 | color: #37383a; 18 | } 19 | 20 | h1 { 21 | font-size: 3rem; 22 | font-weight: 900; 23 | margin: 8rem 0 2rem 0; 24 | } 25 | 26 | @media (max-width: 650px){ 27 | h1 { 28 | font-size: 2.4rem; 29 | } 30 | } 31 | 32 | h2 { 33 | margin-bottom: 5rem; 34 | } 35 | 36 | li { 37 | list-style: none; 38 | } 39 | 40 | a { 41 | color: #2f1e84; 42 | text-decoration: none; 43 | } 44 | 45 | img { 46 | max-width: 100%; 47 | height: auto; 48 | display: block; 49 | } 50 | 51 | iframe { 52 | border: 0; 53 | } 54 | 55 | /* Global Classes */ 56 | 57 | .column-60 { 58 | float: left; 59 | width: 60%; 60 | padding: 0 4%; 61 | } 62 | 63 | .column-40 { 64 | float: left; 65 | padding: 0 4%; 66 | width: 40%; 67 | } 68 | 69 | .grid::after { 70 | content: ""; 71 | display: table; 72 | clear: both; 73 | } 74 | 75 | @media screen and (max-width: 1000px) { 76 | .column-60, 77 | .column-40 { 78 | width: 100%; 79 | float: none; 80 | padding: 0; 81 | } 82 | #image-div img { 83 | margin: auto; 84 | } 85 | } 86 | 87 | .btn { 88 | text-transform: uppercase; 89 | font-weight: 600; 90 | color: #fff; 91 | background-color: #5d63ed; 92 | padding: 1.7rem 2.5rem; 93 | margin: 1.5rem 0; 94 | height: 5rem; 95 | border: 0; 96 | border-radius: 5px; 97 | cursor: pointer; 98 | outline:none; 99 | } 100 | 101 | .btn:hover { 102 | background-color: #2f1e84; 103 | transition: background-color 1s; 104 | } 105 | 106 | .logo-img { 107 | width: 100%; 108 | max-width: 200px; 109 | } 110 | 111 | @media (max-width: 650px) { 112 | .logo-img { 113 | margin: 0 auto; 114 | } 115 | } 116 | 117 | .container { 118 | display: flex; 119 | flex-direction: row; 120 | justify-content: center; 121 | } 122 | 123 | .card { 124 | display: flex; 125 | flex-direction: column; 126 | align-items: center; 127 | text-align: center; 128 | width: calc(100% / 3); 129 | margin: 1.5rem; 130 | padding: 3rem 2rem 3rem 2rem; 131 | border: 1px solid rgba(55, 56, 58, 0.1); 132 | border-radius: 5px; 133 | } 134 | 135 | @media (max-width: 800px) { 136 | .container { 137 | flex-direction: column; 138 | } 139 | 140 | .card { 141 | width: 100%; 142 | margin: 1.5rem auto; 143 | } 144 | } 145 | 146 | .card:hover { 147 | box-shadow: 0 0 2rem -0.7rem rgba(55, 56, 58, 0.2); 148 | border: 1px solid #ced4ee; 149 | } 150 | 151 | .icon { 152 | width: 50px; 153 | } 154 | 155 | .desc > h3 { 156 | margin: 2rem 0 2rem 0; 157 | } 158 | 159 | /* Header */ 160 | 161 | header { 162 | padding: 0 5rem; 163 | width: 100%; 164 | position: fixed; 165 | top: 0; 166 | min-height: 75px; 167 | display: flex; 168 | justify-content: space-between; 169 | align-items: center; 170 | background-color: #fff; 171 | box-shadow: 0 1rem 1rem -1rem rgba(55, 56, 58, 0.2); 172 | } 173 | 174 | @media (max-width: 650px) { 175 | header { 176 | flex-wrap: wrap; 177 | } 178 | } 179 | 180 | @media (max-width: 650px) { 181 | .logo { 182 | margin: 15px auto; 183 | } 184 | } 185 | 186 | nav { 187 | font-weight: 400; 188 | } 189 | 190 | @media (max-width: 650px) { 191 | nav { 192 | margin: 15px auto; 193 | width: 100%; 194 | display: flex; 195 | flex-direction: column; 196 | align-items: center; 197 | text-align: center; 198 | } 199 | nav li { 200 | padding-bottom: 8px; 201 | } 202 | } 203 | 204 | nav > ul { 205 | display: flex; 206 | flex-direction: row; 207 | justify-content: space-around; 208 | } 209 | 210 | nav li { 211 | padding: 0px 10px 0px 10px; 212 | } 213 | 214 | /* Hero */ 215 | 216 | #hero { 217 | /*background-color: #4a4fbd;*/ 218 | background:linear-gradient(135deg, #2f1e84 0%,#5d63ed 100% ); 219 | color: #fff; 220 | height: 450px; 221 | margin: 5rem 0; 222 | padding: 5rem; 223 | } 224 | 225 | @media (max-width: 1000px) { 226 | #hero { 227 | height: 750px; 228 | margin-bottom: 2rem; 229 | } 230 | } 231 | 232 | @media (max-width: 650px) { 233 | #hero { 234 | margin-top: 120px; 235 | height: 900px; 236 | } 237 | } 238 | 239 | #description { 240 | font-size: 2rem; 241 | margin-bottom: 5rem; 242 | } 243 | 244 | #hero .btn { 245 | background-color: Transparent; 246 | border: 2px solid #fff; 247 | } 248 | 249 | #hero .btn:hover { 250 | background-color: #fff; 251 | transition: background-color 1s; 252 | color: #2f1e84; 253 | transition: color 1s; 254 | } 255 | 256 | @media (max-width: 650px) { 257 | #hero-img { 258 | margin: 2rem auto !important; 259 | } 260 | } 261 | 262 | /* Why section */ 263 | 264 | #why { 265 | padding: 15rem 5rem 5rem 5rem; 266 | text-align: center; 267 | } 268 | 269 | /* Features section */ 270 | 271 | #features { 272 | padding: 15rem 5rem 5rem 5rem; 273 | text-align: center; 274 | } 275 | 276 | #features ol { 277 | margin: 1.5rem 3.5rem; 278 | } 279 | 280 | #features ol > li { 281 | margin-bottom: 1.5rem; 282 | text-align: left; 283 | display: flex; 284 | flex-direction: column; 285 | } 286 | 287 | #features h3::before { 288 | content: ""; 289 | font-family: FontAwesome; 290 | color: #5d63ed; 291 | display: inline-block; 292 | margin-left: -2em; 293 | width: 2em; 294 | } 295 | 296 | #pills::before { 297 | content: "\f0f3" !important; 298 | } 299 | 300 | #med-report::before { 301 | content: "\f15b" !important; 302 | } 303 | 304 | #family::before { 305 | content: "\f0c0" !important; 306 | } 307 | 308 | #doctor-icon::before { 309 | content: "\f0f0" !important; 310 | } 311 | 312 | /* Info section */ 313 | #info { 314 | margin: 5rem 0; 315 | padding: 8rem 6.5rem; 316 | background-color: #f8f8f8; 317 | display: flex; 318 | justify-content: space-between; 319 | align-items: center; 320 | } 321 | 322 | #info > div { 323 | width: 80%; 324 | padding-right: 5rem; 325 | align-self: flex-start; 326 | } 327 | 328 | @media (max-width: 1000px) { 329 | #info { 330 | flex-direction: column; 331 | align-items: center; 332 | } 333 | 334 | #info > div { 335 | width: 100%; 336 | padding: 0; 337 | margin-bottom: 3rem; 338 | } 339 | 340 | #info h2 { 341 | text-align: center; 342 | } 343 | } 344 | 345 | #info > iframe { 346 | max-width: 560px; 347 | width: 100%; 348 | border-radius: 5px; 349 | box-shadow: 0 1rem 1rem -1rem rgba(55, 56, 58, 0.4); 350 | } 351 | 352 | /* Download section */ 353 | 354 | #download { 355 | padding: 15rem 5rem 5rem 5rem; 356 | text-align: center; 357 | } 358 | 359 | #download .card { 360 | width: 35%; 361 | cursor: pointer; 362 | } 363 | 364 | @media (max-width: 800px) { 365 | #download .card { 366 | width: 100%; 367 | margin: 1.5rem auto; 368 | } 369 | } 370 | 371 | #download .desc { 372 | width: 100%; 373 | height: 100%; 374 | padding: 3.5rem; 375 | display: flex; 376 | flex-direction: column; 377 | align-items: center; 378 | } 379 | 380 | #download .btn { 381 | justify-self: flex-end; 382 | } 383 | 384 | .desc > ol { 385 | margin: 15px 0; 386 | } 387 | 388 | .desc > ol > li { 389 | padding-left: 8px; 390 | text-align: left; 391 | } 392 | 393 | .desc > ol > li::before { 394 | content: "\f00c"; 395 | font-family: FontAwesome; 396 | color: #5d63ed; 397 | display: inline-block; 398 | margin-left: -1.5em; 399 | width: 1.5em; 400 | } 401 | 402 | /* Contact section */ 403 | 404 | #contact { 405 | padding: 5rem 5rem 4rem 5rem; 406 | text-align: center; 407 | } 408 | 409 | form { 410 | margin: 1.5rem; 411 | text-align: left; 412 | } 413 | 414 | label { 415 | display: flex; 416 | align-items: center; 417 | margin-bottom: 0.5rem; 418 | } 419 | 420 | .form-group { 421 | margin-bottom: 2rem; 422 | } 423 | 424 | .form-group > p { 425 | margin-bottom: 0.5rem; 426 | } 427 | 428 | .form-control { 429 | display: block; 430 | width: 100%; 431 | height: 4.5rem; 432 | padding: 1rem; 433 | color: #495057; 434 | background-color: #fff; 435 | border: 1px solid rgba(55, 56, 58, 0.1); 436 | border-radius: 5px; 437 | transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 438 | } 439 | 440 | .form-control:focus { 441 | border-color: #ced4ee; 442 | outline: 0; 443 | box-shadow: 0 0 1rem 0.2rem rgba(206, 212, 238, 0.25); 444 | } 445 | 446 | .input-textarea { 447 | min-height: 120px; 448 | width: 100%; 449 | padding: 1rem; 450 | resize: vertical; 451 | border: 1px solid rgba(55, 56, 58, 0.1); 452 | border-radius: 5px; 453 | transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 454 | } 455 | 456 | .input-textarea:focus { 457 | border-color: #ced4ee; 458 | outline: 0; 459 | box-shadow: 0 0 1rem 0.2rem rgba(206, 212, 238, 0.25); 460 | } 461 | 462 | .form-control, .input-textarea { 463 | margin: 0; 464 | font-family: inherit; 465 | font-size: inherit; 466 | line-height: inherit; 467 | } 468 | 469 | /* Footer */ 470 | 471 | footer { 472 | padding: 2.5rem 5rem; 473 | background-color: #2f1e84; 474 | color: #fff; 475 | display: flex; 476 | justify-content: space-between; 477 | align-items: center; 478 | } 479 | 480 | @media (max-width: 660px) { 481 | footer { 482 | flex-direction: column; 483 | align-items: center; 484 | } 485 | } 486 | 487 | #footer-logo { 488 | margin-top: 0.8rem; 489 | display: flex; 490 | justify-content: flex-start; 491 | } 492 | 493 | #footer-info > ul { 494 | display: flex; 495 | justify-content: flex-end; 496 | } 497 | 498 | @media (max-width: 660px) { 499 | #footer-info > ul { 500 | margin: 15px auto; 501 | } 502 | } 503 | 504 | @media (max-width: 460px) { 505 | #footer-info > ul { 506 | width: 100%; 507 | display: flex; 508 | flex-direction: column; 509 | align-items: center; 510 | text-align: center; 511 | } 512 | #footer-info > ul > li { 513 | padding-bottom: 10px; 514 | } 515 | } 516 | 517 | #footer-info > ul > li { 518 | padding: 0 10px; 519 | } 520 | 521 | #footer-info > ul > li > a { 522 | color: #fff; 523 | } 524 | 525 | #copyright { 526 | margin-top: 1.5rem; 527 | padding-right: 10px; 528 | display: flex; 529 | justify-content: flex-end; 530 | font-size: 1.2rem; 531 | } 532 | -------------------------------------------------------------------------------- /survey-form/README.md: -------------------------------------------------------------------------------- 1 | ![Survey Form](images/survey_preview.jpg) 2 | 3 | # Learner Experience Survey Form 4 | A survey form UI created for the FreeCodeCamp Responsive Web Design Project: Build a survey form.
5 | You can see the survey form at [CodePen](https://codepen.io/sfoteini/full/GRomQpN)

6 | 7 | Made with :heartpulse: 8 | -------------------------------------------------------------------------------- /survey-form/images/survey_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /survey-form/images/survey_preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/survey-form/images/survey_preview.jpg -------------------------------------------------------------------------------- /survey-form/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Survey Form 9 | 10 | 11 | 12 |
13 |
14 |
15 |

Learner Experience Survey

16 |

We would like to know a little more about your experience with the course. Thank you for taking the time to help us improve the platform.

17 |
18 | 19 |
20 |
21 | Survey form icon 22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 | 37 |
38 | 39 |
40 | 41 | 49 |
50 | 51 |
52 | 53 | 62 |
63 | 64 |
65 |

Employment Status

66 | 77 |
78 | 79 |
80 |

Experience Level

81 | 89 |
90 | 91 |
92 |

Overall, how would you rate the course?

93 | 101 | 108 | 109 | 116 | 117 | 124 | 125 | 132 |
133 | 134 |
135 |

How useful were the course materials (readings, videos, assignments, etc)?

136 | 144 | 151 | 152 | 159 | 160 | 167 | 168 | 175 |
176 | 177 |
178 |

Would you recommend the course to a friend?

179 | 187 | 194 | 195 | 202 |
203 | 204 |
205 |

206 | What would you like to see improved? (Check all that apply) 207 |

208 | 209 | 216 | 217 | 224 | 225 | 232 | 233 | 240 | 241 | 248 | 249 | 256 |
257 | 258 |
259 |

Any comments or suggestions?

260 | 265 |
266 | 267 |
268 | 271 |
272 |
273 |
274 | 275 | 278 | 279 | 280 | 281 | 282 | -------------------------------------------------------------------------------- /survey-form/style.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-size: 10px; 3 | } 4 | 5 | *, 6 | *::before, 7 | *::after { 8 | box-sizing: border-box; 9 | } 10 | 11 | body { 12 | font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; 13 | font-size: 1.6rem; 14 | line-height: 1.4; 15 | color: black; 16 | margin: 0; 17 | background: linear-gradient(0deg, rgba(251,251,251,1) 0%, rgba(246,247,252,1) 100%); 18 | } 19 | 20 | h1 { 21 | font-size: 3rem; 22 | line-height: 2; 23 | margin-bottom: 4rem; 24 | } 25 | 26 | img { 27 | max-width: 100%; 28 | height: auto; 29 | display: block; 30 | } 31 | 32 | label { 33 | display: flex; 34 | align-items: center; 35 | margin-bottom: 0.5rem; 36 | } 37 | 38 | input, 39 | button, 40 | select, 41 | textarea { 42 | margin: 0; 43 | font-family: inherit; 44 | font-size: inherit; 45 | line-height: inherit; 46 | } 47 | 48 | button { 49 | border: none; 50 | } 51 | 52 | .container { 53 | width: 100%; 54 | margin: 6rem auto 6rem auto; 55 | box-shadow: 0 0.2rem 1.3rem 0.2rem rgba(0, 0, 0, 0.1); 56 | border-radius: 0.5rem; 57 | background-color: #fff; 58 | } 59 | 60 | @media (min-width: 576px) { 61 | .container { 62 | max-width: 540px; 63 | } 64 | } 65 | 66 | @media (min-width: 976px) { 67 | .container { 68 | max-width: 920px; 69 | } 70 | } 71 | 72 | .header { 73 | padding: 4.5rem; 74 | margin-bottom: 2rem; 75 | } 76 | 77 | /*Header*/ 78 | .column-header { 79 | float: left; 80 | width: 54%; 81 | padding-top: 5rem; 82 | margin-right: 6%; 83 | } 84 | 85 | .column-image { 86 | float: left; 87 | width: 40%; 88 | } 89 | 90 | .header:after { 91 | content: ""; 92 | display: table; 93 | clear: both; 94 | } 95 | 96 | @media screen and (max-width: 1000px) { 97 | .column-header, 98 | .column-image { 99 | width: 100%; 100 | margin: 0; 101 | } 102 | #image-div img { 103 | margin: auto; 104 | } 105 | } 106 | 107 | /*Form*/ 108 | 109 | form { 110 | padding: 2.5rem; 111 | border-radius: 0.5rem; 112 | } 113 | 114 | .form-group { 115 | margin: 0 auto 2rem auto; 116 | padding: 0.5rem; 117 | } 118 | 119 | .form-control { 120 | display: block; 121 | width: 100%; 122 | height: 4.5rem; 123 | padding: 1rem; 124 | color: #495057; 125 | background-color: #fff; 126 | border: 1px solid #ced4da; 127 | border-radius: 0.25rem; 128 | transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 129 | } 130 | 131 | .form-control:focus { 132 | border-color: #a6d8e2; 133 | outline: 0; 134 | box-shadow: 0 0 1rem 0.2rem rgba(205, 240, 247, 0.25); 135 | } 136 | 137 | .input-radio, 138 | .input-checkbox { 139 | display: inline-block; 140 | margin-right: 1rem; 141 | min-height: 1.5rem; 142 | min-width: 1.5rem; 143 | } 144 | 145 | .input-textarea { 146 | min-height: 120px; 147 | width: 100%; 148 | padding: 1rem; 149 | resize: vertical; 150 | } 151 | 152 | .submit-button { 153 | display: inline-block; 154 | width: 10rem; 155 | padding: 1rem; 156 | background: #32004a; 157 | color: #fff; 158 | border-radius: 0.5rem; 159 | cursor: pointer; 160 | } 161 | 162 | .submit-button:hover { 163 | animation-name: background-color; 164 | animation-duration: 500ms; 165 | animation-fill-mode: forwards; 166 | animation-timing-function: ease-out; 167 | } 168 | 169 | @keyframes background-color { 170 | 100% { 171 | background-color: #6f4c81; 172 | } 173 | } 174 | 175 | .footer { 176 | color: #28003b; 177 | padding: 0.1rem; 178 | text-align: center; 179 | } -------------------------------------------------------------------------------- /technical-documentation-page/README.md: -------------------------------------------------------------------------------- 1 | ![Technical Documentation Page](images/TechnicalDocumentation.jpg) 2 | 3 | # Technical Documentation Page 4 | An HTML Documentation page developed for the freeCodecamp's Responsive Web Design Project "Build a Technical Documentation Page".
5 | You can see the documentation page at [Codepen](https://codepen.io/sfoteini/full/OJMOQvV) 6 | -------------------------------------------------------------------------------- /technical-documentation-page/images/TechnicalDocumentation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/technical-documentation-page/images/TechnicalDocumentation.jpg -------------------------------------------------------------------------------- /technical-documentation-page/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | HTML Documentation Page 9 | 10 | 11 | 12 | 13 | 14 | 15 | 40 |
41 | 42 |
43 |
Introduction
44 |
45 |

HTML (Hypertext Markup Language) is not a programming language. It is a markup language that tells web browsers how to structure the web pages you visit. It can be as complicated or as simple as the web developer wants it to be. HTML consists of a series of elements, which you use to enclose, wrap, or mark up different parts of content to make it appear or act in a certain way. The enclosing tags can make content into a hyperlink to connect to another page, italicize words, and so on.

46 |
47 |
48 | 49 |
50 |
What you should already know
51 |
52 |

This guide assumes you have the following basic background:

53 |
    54 |
  • Basic familiarity with using computers.
  • 55 |
  • A general understanding of the Internet and the World Wide Web (WWW).
  • 56 |
  • A basic understanding of creating and managing files.
  • 57 |
58 |
59 |
60 | 61 |
62 |
Hello world
63 |
64 |

65 | To get started with writing HTML, open the Notepad and write the following HTML code: 66 |

67 | <!DOCTYPE html> 68 | <html> 69 |   <body> 70 |     <h1>Hello World!</h1> 71 |   </body> 72 | </html> 73 |

Save the file on your computer. Name the file "index.html" and open the saved HTML file in your browser. 74 |

75 |
76 |
77 | 78 |
79 |
Anatomy of an HTML element
80 |
81 |

Let's further explore our heading element from the previous example. The anatomy of our element is: 82 |

83 |
    84 |
  • 85 | The opening tag: This consists of the name of the element (in this example, p for paragraph), wrapped in opening and closing angle brackets. This opening tag marks where the element begins or starts to take effect. In this example, it precedes the start of the paragraph text. 86 |
  • 87 |
  • 88 | The content: This is the content of the element. In this example, it is the paragraph text. 89 |
  • 90 |
  • 91 | The closing tag: This is the same as the opening tag, except that it includes a forward slash before the element name. This marks where the element ends. 92 |
  • 93 |
94 |
95 |
96 | 97 |
98 |
Nesting elements
99 |
100 |

Elements can be placed within other elements. This is called nesting. If we wanted to state that this is my first HTML lesson, we could wrap the word first in a <strong> element, which means that the word is to have strong(er) text formatting: 101 |

102 | <p>This is my <strong>first</strong> HTML lesson.</p> 103 |

There is a right and wrong way to do nesting. In the example above, we opened the p element first, then opened the strong element. For proper nesting, we should close the strong element first, before closing the p. 104 |

105 |

The following is an example of the wrong way to do nesting: 106 |

107 | <p>This is my <strong>first HTML lesson.</p></strong> 108 |
109 |
110 | 111 |
112 |
Block versus inline elements
113 |
114 |

There are two important categories of elements to know in HTML: block-level elements and inline elements. 115 |

116 |
    117 |
  • 118 | Block-level elements form a visible block on a page. A block-level element appears on a new line following the content that precedes it. Any content that follows a block-level element also appears on a new line. Block-level elements are usually structural elements on the page. For example, a block-level element might represent paragraphs, lists, navigation menus, or footers. 119 |
  • 120 |
  • 121 | Inline elements are contained within block-level elements, and surround only small parts of the document’s content. An inline element will not cause a new line to appear in the document. It is typically used with text. 122 |
  • 123 |
124 |

Consider the following example: 125 |

126 | <em>first</em><em>second</em></em>third</em> 127 | <p>fourth</p><p>fifth</p><p>sixth</p> 128 |

em is an inline element. As you see below, the first three elements sit on the same line, with no space in between. On the other hand, p is a block-level element. Each p element appears on a new line, with space above and below.

129 | firstsecondthird 130 | fourth 131 | fifth 132 | sixth 133 |
134 |
135 | 136 |
137 |
Empty elements
138 |
139 |

Not all elements follow the pattern of an opening tag, content, and a closing tag. Some elements consist of a single tag, which is typically used to insert/embed something in the document. 140 |

141 | <img src="https://raw.githubusercontent.com/mdn/beginner-html-site/gh-pages/images/firefox-icon.png"> 142 |
143 |
144 | 145 |
146 |
Attributes
147 |
148 |

Elements can also have attributes. Attributes look like this: 149 |

150 | <p class="note">This is my first HTML lesson.</p> 151 |

Attributes contain extra information about the element that won't appear in the content. In this example, the class attribute is an identifying name used to target the element with style information. 152 |

153 |

An attribute should have:

154 |
    155 |
  • A space between it and the element name.
  • 156 |
  • The attribute name, followed by an equal sign.
  • 157 |
  • An attribute value, wrapped with opening and closing quote marks.
  • 158 |
159 |
160 |
161 | 162 |
163 |
Anatomy of an HTML document
164 |
165 |

166 | Individual HTML elements aren't very useful on their own. Next, let's examine how individual elements combine to form an entire HTML page: 167 |

168 | <!DOCTYPE html> 169 | <html> 170 |   <head> 171 |     <title>My test page</title> 172 |   </head> 173 |   <body> 174 |     <p>This is my page</p> 175 |   </body> 176 | </html> 177 |
    178 |
  • The doctype: When HTML was young (1991-1992), doctypes were meant to act as links to a set of rules that the HTML page had to follow to be considered good HTML. 179 |
  • 180 |
  • 181 | The html element wraps all the content on the page. It is sometimes known as the root element. 182 |
  • 183 |
  • 184 | The head element acts as a container for eveything you want to include on the HTML page, that isn't the content the page will show to viewers. This includes keywords and a page description that would appear in search results, CSS to style content, character set declarations, and more. 185 |
  • 186 |
  • 187 | The title element. This sets the title of the page, which is the title that appears in the browser tab the page is loaded in. The page title is also used to describe the page when it is bookmarked. 188 |
  • 189 |
  • 190 | The body element. This contains all the content that displays on the page, including text, images, videos, games, playable audio tracks, or whatever else. 191 |
  • 192 |
193 |
194 |
195 | 196 |
197 |
Whitespace in HTML
198 |
199 |

200 | No matter how much whitespace you use inside HTML element content (which can include one or more space character, but also line breaks), the HTML parser reduces each sequence of whitespace to a single space when rendering the code. 201 |

202 |

203 | These two code snippets are equivalent: 204 |

205 | <p>This is a paragraph.</p> 206 | <p>This    is a 207 |   paragraph.</p> 208 |
209 |
210 | 211 |
212 |
Comments
213 |
214 |

215 | HTML has a mechanism to write comments in the code. Browsers ignore comments, effectively making comments invisible to the user. The purpose of comments is to allow you to include notes in the code to explain your logic or coding. This is very useful if you return to a code base after being away for long enough that you don't completely remember it. Likewise, comments are invaluable as different people are making changes and updates. 216 |

217 | <!-- This is a comment --> 218 | <p> This is a paragraph </p> 219 |
220 |
221 | 222 |
223 |
Summary
224 |
225 |

226 | You made it to the end of the article! We hope you enjoyed your tour of the basics of HTML. At this point, you should understand what HTML looks like, and how it works at a basic level. You should also be able to write a few elements and attributes. 227 |

228 |

All the documentation in this page is taken from 229 | MDN 230 |

231 |
232 |
233 |
234 | 235 | 236 | 237 | -------------------------------------------------------------------------------- /technical-documentation-page/style.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | min-width: 290px; 4 | color: #182d2e; 5 | background-color: #fff; 6 | font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif; 7 | line-height: 1.5; 8 | } 9 | 10 | #navbar { 11 | position: fixed; 12 | min-width: 290px; 13 | top: 0px; 14 | left: 0px; 15 | width: 300px; 16 | height: 100%; 17 | background-color: #182d2e; 18 | } 19 | 20 | header { 21 | color: #f8f8f8; 22 | margin: 10px; 23 | text-align: center; 24 | font-size: 1.6em; 25 | } 26 | 27 | #main-doc header { 28 | color: #182d2e; 29 | text-align: left; 30 | margin: 0 0 20px 0; 31 | } 32 | 33 | #navbar ul { 34 | height: 90%; 35 | padding: 0; 36 | overflow-y: auto; 37 | overflow-x: hidden; 38 | } 39 | 40 | #navbar li { 41 | list-style: none; 42 | position: relative; 43 | width: 100%; 44 | } 45 | 46 | a { 47 | text-decoration: none; 48 | } 49 | 50 | #navbar a { 51 | display: block; 52 | padding: 10px 30px; 53 | color: #dfdfdf; 54 | cursor: pointer; 55 | } 56 | 57 | #navbar a:hover { 58 | display: block; 59 | padding: 10px 30px; 60 | color: #f8f8f8; 61 | text-decoration: none; 62 | cursor: pointer; 63 | } 64 | 65 | #main-doc { 66 | margin-left: 310px; 67 | padding: 40px; 68 | margin-bottom: 50px; 69 | } 70 | 71 | section article { 72 | font-size: 0.96em; 73 | margin-bottom: 40px; 74 | } 75 | 76 | section li { 77 | margin: 15px 0px 0px 20px; 78 | } 79 | 80 | code { 81 | display: block; 82 | text-align: left; 83 | white-space: pre; 84 | position: relative; 85 | word-break: normal; 86 | word-wrap: normal; 87 | line-height: 2; 88 | background-color: #f7f7f7; 89 | padding: 15px; 90 | margin: 15px; 91 | border-radius: 5px; 92 | overflow-y: auto; 93 | overflow-x: auto; 94 | } 95 | 96 | .wrong-code { 97 | background-color: #fcf3f3; 98 | } 99 | 100 | .preview { 101 | background-color: #fefefe; 102 | border: 1px solid #4f7989; 103 | border-left: 5px solid #4f7989; 104 | border-radius: 0; 105 | } 106 | 107 | @media only screen and (max-width: 815px) { 108 | /* For mobile phones: */ 109 | #navbar ul { 110 | height: 205px; 111 | } 112 | 113 | #navbar { 114 | position: absolute; 115 | top: 0; 116 | padding: 0; 117 | margin: 0; 118 | width: 100%; 119 | max-height: 275px; 120 | z-index: 1; 121 | } 122 | 123 | #main-doc { 124 | position: relative; 125 | margin-left: 0px; 126 | margin-top: 270px; 127 | } 128 | } 129 | 130 | @media only screen and (max-width: 400px) { 131 | #main-doc { 132 | margin-left: -10px; 133 | } 134 | 135 | code { 136 | margin-left: -20px; 137 | width: 100%; 138 | padding: 15px; 139 | padding-left: 10px; 140 | padding-right: 45px; 141 | min-width: 233px; 142 | } 143 | } 144 | 145 | /***** Main Scrollbar *******/ 146 | /* width */ 147 | ::-webkit-scrollbar { 148 | width: 10px; 149 | height: 10px; 150 | } 151 | 152 | /* Track */ 153 | ::-webkit-scrollbar-track { 154 | background: #fff; 155 | } 156 | 157 | /* Handle */ 158 | ::-webkit-scrollbar-thumb { 159 | background: #465757; 160 | border-radius: 10px; 161 | } 162 | 163 | /* Handle on hover */ 164 | ::-webkit-scrollbar-thumb:hover { 165 | background: #091212; 166 | } 167 | 168 | /***** NavBar Scrollbar *******/ 169 | /* Track */ 170 | #navbar ul::-webkit-scrollbar-track { 171 | background: #182d2e; 172 | } 173 | 174 | /* Handle */ 175 | #navbar ul::-webkit-scrollbar-thumb { 176 | background: #dfdfdf; 177 | border: 1px solid #182d2e; 178 | } 179 | 180 | /* Handle on hover */ 181 | #navbar ul::-webkit-scrollbar-thumb:hover { 182 | background: #f8f8f8; 183 | } 184 | 185 | /****Code Snippets Scrollbar****/ 186 | code::-webkit-scrollbar { 187 | height: 3px; 188 | } 189 | 190 | code::-webkit-scrollbar-track { 191 | background: #f7f7f7; 192 | } 193 | 194 | .wrong-code::-webkit-scrollbar-track { 195 | background: #fcf3f3; 196 | } 197 | 198 | .preview::-webkit-scrollbar-track { 199 | background: #fefefe; 200 | } 201 | -------------------------------------------------------------------------------- /tribute-page/README.md: -------------------------------------------------------------------------------- 1 | ![Tribute Page Preview](images/TributePage_preview.jpg) 2 | 3 | # Tribute Page 4 | A tribute page dedicated to Vincent Van Gogh for my first challenge in FreeCodeCamp!
5 | Responsive Web Design Certification - Project: Build a tribute page.
6 | You can see the webpage at [CodePen](https://codepen.io/sfoteini/full/VweGZOK)

7 | 8 | Made with :heartpulse: 9 | -------------------------------------------------------------------------------- /tribute-page/images/Almond_Blossom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/Almond_Blossom.jpg -------------------------------------------------------------------------------- /tribute-page/images/TributePage_preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/TributePage_preview.jpg -------------------------------------------------------------------------------- /tribute-page/images/Wheatfield_with_a_Reaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/Wheatfield_with_a_Reaper.jpg -------------------------------------------------------------------------------- /tribute-page/images/irises.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/irises.jpg -------------------------------------------------------------------------------- /tribute-page/images/starry-night-over-the-Rhone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/starry-night-over-the-Rhone.jpg -------------------------------------------------------------------------------- /tribute-page/images/starry-night.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/starry-night.jpg -------------------------------------------------------------------------------- /tribute-page/images/the_bedroom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/the_bedroom.jpg -------------------------------------------------------------------------------- /tribute-page/images/vangogh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sfoteini/responsive-web-design-freeCodeCamp/fa56b6ef1ca73e59e52153b0aae657717627adcf/tribute-page/images/vangogh.jpg -------------------------------------------------------------------------------- /tribute-page/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Vincent Van Gogh 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 |

Vincent Van Gogh

18 |

Post-Impressionist Artist

19 |
20 |

Between November of 1881 and July of 1890, Vincent van Gogh painted almost 900 paintings. Since his death, he has become one of the most famous painters in the world. Van Gogh’s paintings have captured the minds and hearts of millions of art lovers.

21 |
22 |
23 |
24 |
25 | Portrait of Van Gogh with Grey Felt Hat, Oil painting, Winter 1887/88 26 |
27 |
28 |
29 |
30 |
31 |
32 |

Biography

33 |

Vincent Van Gogh was born on 30 March 1853 in Zundert in the southern Netherlands, the son of a pastor. In 1869, he took his first job, working in the Hague branch of an international art dealing firm. He began to write to his younger brother Theo, a correspondence which continued for the rest of Van Gogh's life.

34 |

Van Gogh's job took him to London and Paris, but he was not interested in the work and was dismissed in 1876. He briefly became a teacher in England, and then, deeply interested in Christianity, a preacher in a mining community in southern Belgium.

35 |

In 1880, at the age of 27, he decided to become an artist. He moved around, teaching himself to draw and paint and receiving financial support from Theo. In 1886, Van Gogh joined Theo in Paris, and met many artists including Degas, Toulouse-Lautrec, Pissarro and Gauguin, with whom he became friends. His style changed significantly under the influence of Impressionism, becoming lighter and brighter. He painted a large number of self-portraits in this period.

36 |

In 1888, Van Gogh moved to Provence in southern France, where he painted his famous series 'Sunflowers'. He invited Gauguin to join him but they soon began to quarrel and one night, Van Gogh threatened Gauguin with a razor. Deeply remorseful he then cut off part of his own ear.

37 |

This was the first serious sign of the mental health problems that were to afflict Van Gogh for the rest of his life. He spent time in psychiatric hospitals and swung between periods of inertia, depression and incredibly concentrated artistic activity, his work reflecting the intense colours and strong light of the countryside around him.

38 |

On 27 July 1890, again suffering from depression, Van Gogh shot himself. He died two days later.

39 |
40 |
41 |
42 |
43 |

“I don't know anything with certainty, but seeing the stars makes me dream.”

44 |
45 | Learn more about Vincent Van Gogh 46 |
47 | 48 |
49 |

Gallery

50 | 94 |
95 |
96 | 97 |

Sources

98 | 109 |
110 | 113 |
114 | 115 | 116 | -------------------------------------------------------------------------------- /tribute-page/style.css: -------------------------------------------------------------------------------- 1 | html { 2 | font-size: 10px; 3 | } 4 | 5 | body { 6 | font-family: 'Lato', "Segoe UI", "Helvetica Neue", Arial, sans-serif; 7 | font-size: 1.6rem; 8 | line-height: 1.5; 9 | margin: 0; 10 | background-color: #fbfaf8; 11 | color: #37383a; 12 | } 13 | 14 | @media (min-width: 1400px) { 15 | body { 16 | font-size: 2.5rem; 17 | line-height: 1.8; 18 | } 19 | } 20 | 21 | h1 { 22 | font-size: 6rem; 23 | font-family: "Libre Baskerville", serif; 24 | font-weight: bold; 25 | } 26 | 27 | #subheader { 28 | font-weight: 300; 29 | color: #948C57; 30 | text-transform: uppercase; 31 | } 32 | 33 | @media (max-width: 400px) { 34 | h1 { 35 | font-size: 4rem; 36 | } 37 | } 38 | 39 | @media (min-width: 1400px) { 40 | h1 { 41 | font-size: 7rem; 42 | } 43 | } 44 | 45 | h2 { 46 | font-size: 3rem; 47 | font-family: "Libre Baskerville", serif; 48 | text-align: center; 49 | padding-bottom: 5rem; 50 | } 51 | 52 | @media (min-width: 1400px) { 53 | h2 { 54 | font-size: 4rem; 55 | } 56 | } 57 | 58 | blockquote { 59 | font-size: 2rem; 60 | font-style: italic; 61 | font-family: "Libre Baskerville", serif; 62 | text-align: center; 63 | margin-bottom: 5rem; 64 | } 65 | 66 | @media (min-width: 1400px) { 67 | blockquote { 68 | font-size: 3rem; 69 | } 70 | } 71 | 72 | ul { 73 | list-style: none; 74 | padding-left: 0; 75 | line-height: 2; 76 | } 77 | 78 | a { 79 | text-decoration: none; 80 | color: #37383a 81 | } 82 | 83 | a:hover { 84 | text-decoration: underline; 85 | color: #37383a 86 | } 87 | 88 | a:visited { 89 | color: #948C57; 90 | } 91 | 92 | #tribute-link { 93 | font-weight: 500; 94 | color: #fefefe; 95 | text-transform: uppercase; 96 | line-height: 2; 97 | } 98 | 99 | #tribute-link:visited { 100 | color: #fefefe; 101 | } 102 | 103 | #tribute-link:hover { 104 | text-decoration: none; 105 | } 106 | 107 | #tribute-link-dash { 108 | text-decoration: none; 109 | } 110 | 111 | #tribute-link:hover #tribute-link-dash { 112 | animation-name: tribute-link-dash-move; 113 | animation-duration: 0.5s; 114 | animation-timing-function: ease-out; 115 | animation-fill-mode: forwards; 116 | } 117 | 118 | @keyframes tribute-link-dash-move { 119 | 0% { 120 | border-bottom: 0.4rem solid rgba(254, 254, 254, 0); 121 | padding-bottom: 0.6rem; 122 | } 123 | 100% { 124 | border-bottom: 0.4rem solid rgba(254, 254, 254, 1); 125 | padding-bottom: 0.6rem; 126 | } 127 | } 128 | 129 | /* Images */ 130 | 131 | img { 132 | max-width: 100%; 133 | height: auto; 134 | display: block; 135 | box-shadow: 0 1rem 1rem -0.7rem rgba(55, 56, 58, 0.3); 136 | } 137 | 138 | /* Gallery */ 139 | 140 | .gallery-grid { 141 | display: grid; 142 | grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 143 | grid-gap: 3rem; 144 | margin: 0 auto; 145 | } 146 | 147 | @media (max-width: 400px) { 148 | .gallery-grid { 149 | grid-template-columns: 1fr; 150 | } 151 | } 152 | 153 | .img-container { 154 | position: relative; 155 | } 156 | 157 | .caption{ 158 | padding-top: 1.2rem; 159 | font-family: "Libre Baskerville", serif; 160 | } 161 | 162 | .date-caption { 163 | font-size: 1rem; 164 | font-style: italic; 165 | position: relative; 166 | top: -1rem; 167 | } 168 | 169 | .name-caption { 170 | font-size: 1.5rem; 171 | font-weight: bold; 172 | } 173 | 174 | @media (min-width: 1400px) { 175 | .date-caption { 176 | font-size: 1.5rem; 177 | } 178 | 179 | .name-caption { 180 | font-size: 2rem; 181 | } 182 | } 183 | 184 | /* First row columns */ 185 | 186 | .column-header { 187 | float: left; 188 | width: 65%; 189 | padding: 2.5%; 190 | box-sizing: border-box; 191 | } 192 | 193 | .column-image { 194 | float: left; 195 | padding: 2.5%; 196 | width: 35%; 197 | box-sizing: border-box; 198 | } 199 | 200 | .container::after { 201 | content: ""; 202 | display: table; 203 | clear: both; 204 | } 205 | 206 | @media screen and (max-width: 1000px) { 207 | .column-header, 208 | .column-image { 209 | width: 100%; 210 | float: none; 211 | } 212 | #image-div img { 213 | margin: auto; 214 | } 215 | } 216 | 217 | /* Sections */ 218 | 219 | .first-row { 220 | padding: 5rem 5rem 10rem 5rem; 221 | top: 0; 222 | } 223 | 224 | .second-row { 225 | color: #37383a; 226 | padding: 0 5rem 4rem 5rem; 227 | margin-bottom: 5rem; 228 | } 229 | 230 | .third-row { 231 | background-color: #37383a; 232 | color: #fefefe; 233 | padding: 5rem; 234 | text-align: center; 235 | } 236 | 237 | .fourth-row { 238 | padding: 4rem 5rem 2rem 5rem; 239 | margin-top: 4rem; 240 | } 241 | 242 | .fifth-row { 243 | padding: 4rem; 244 | text-align: center; 245 | margin-bottom: 6rem; 246 | } 247 | 248 | .footer { 249 | background-color: #37383a; 250 | color: #fefefe; 251 | padding: 0.2rem; 252 | text-align: center; 253 | } 254 | 255 | #second-row-container { 256 | margin: auto; 257 | padding: 2.5%; 258 | } 259 | --------------------------------------------------------------------------------