Merge branch 'main' into devchallenges
|
@ -13,6 +13,12 @@ module.exports = function (eleventyConfig) {
|
|||
eleventyConfig.addPassthroughCopy({
|
||||
"./projects/FrontendMentor": "FrontendMentor",
|
||||
});
|
||||
eleventyConfig.addPassthroughCopy({
|
||||
"./projects/random": "others",
|
||||
});
|
||||
eleventyConfig.addPassthroughCopy({
|
||||
"./projects/devchallenges": "devchallenges",
|
||||
});
|
||||
eleventyConfig.addPassthroughCopy({
|
||||
"./src/assets/faviconstuff": "/",
|
||||
});
|
||||
|
|
|
@ -18,5 +18,11 @@
|
|||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"@11ty/eleventy": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@11ty/eleventy-img": "^2.0.1",
|
||||
"@fontsource/black-ops-one": "^4.5.7",
|
||||
"@fontsource/source-sans-pro": "^4.5.10",
|
||||
"open-props": "^1.3.9"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
# Avoid accidental upload of the Sketch and Figma design files
|
||||
#####################################################
|
||||
## Please do not remove lines 5 and 6 - thanks! 🙂 ##
|
||||
#####################################################
|
||||
*.sketch
|
||||
*.fig
|
||||
|
||||
# Avoid accidental XD upload if you convert the design file
|
||||
###############################################
|
||||
## Please do not remove line 12 - thanks! 🙂 ##
|
||||
###############################################
|
||||
*.xd
|
||||
|
||||
# Avoid your project being littered with annoying .DS_Store files!
|
||||
.DS_Store
|
||||
.prettierignore
|
|
@ -0,0 +1,92 @@
|
|||
# Frontend Mentor - 3-column preview card component
|
||||
|
||||
![Design preview for the 3-column preview card component coding challenge](./design/desktop-preview.jpg)
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
Thanks for checking out this front-end coding challenge.
|
||||
|
||||
[Frontend Mentor](https://www.frontendmentor.io) challenges help you improve your coding skills by building realistic projects.
|
||||
|
||||
**To do this challenge, you need a basic understanding of HTML, CSS and JavaScript.**
|
||||
|
||||
## The challenge
|
||||
|
||||
Your challenge is to build out this 3-column preview card component and get it looking as close to the design as possible.
|
||||
|
||||
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.
|
||||
|
||||
Your users should be able to:
|
||||
|
||||
- View the optimal layout depending on their device's screen size
|
||||
- See hover states for interactive elements
|
||||
|
||||
Want some support on the challenge? [Join our Slack community](https://www.frontendmentor.io/slack) and ask questions in the **#help** channel.
|
||||
|
||||
## Where to find everything
|
||||
|
||||
Your task is to build out the project to the designs inside the `/design` folder. You will find both a mobile and a desktop version of the design.
|
||||
|
||||
The designs are in JPG static format. Using JPGs will mean that you'll need to use your best judgment for styles such as `font-size`, `padding` and `margin`.
|
||||
|
||||
If you would like the design files (we provide Sketch & Figma versions) to inspect the design in more detail, you can [subscribe as a PRO member](https://www.frontendmentor.io/pro).
|
||||
|
||||
You will find all the required assets in the `/images` folder. The assets are already optimized.
|
||||
|
||||
There is also a `style-guide.md` file containing the information you'll need, such as color palette and fonts.
|
||||
|
||||
## Building your project
|
||||
|
||||
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
|
||||
|
||||
1. Initialize your project as a public repository on [GitHub](https://github.com/). Creating a repo will make it easier to share your code with the community if you need help. If you're not sure how to do this, [have a read-through of this Try Git resource](https://try.github.io/).
|
||||
2. Configure your repository to publish your code to a web address. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, and we provide some recommendations below.
|
||||
3. Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes to create reusable styles.
|
||||
4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
|
||||
5. Write out the base styles for your project, including general content styles, such as `font-family` and `font-size`.
|
||||
6. Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
|
||||
|
||||
## Deploying your project
|
||||
|
||||
As mentioned above, there are many ways to host your project for free. Our recommend hosts are:
|
||||
|
||||
- [GitHub Pages](https://pages.github.com/)
|
||||
- [Vercel](https://vercel.com/)
|
||||
- [Netlify](https://www.netlify.com/)
|
||||
|
||||
You can host your site using one of these solutions or any of our other trusted providers. [Read more about our recommended and trusted hosts](https://medium.com/frontend-mentor/frontend-mentor-trusted-hosting-providers-bf000dfebe).
|
||||
|
||||
## Create a custom `README.md`
|
||||
|
||||
We strongly recommend overwriting this `README.md` with a custom one. We've provided a template inside the [`README-template.md`](./README-template.md) file in this starter code.
|
||||
|
||||
The template provides a guide for what to add. A custom `README` will help you explain your project and reflect on your learnings. Please feel free to edit our template as much as you like.
|
||||
|
||||
Once you've added your information to the template, delete this file and rename the `README-template.md` file to `README.md`. That will make it show up as your repository's README file.
|
||||
|
||||
## Submitting your solution
|
||||
|
||||
Submit your solution on the platform for the rest of the community to see. Follow our ["Complete guide to submitting solutions"](https://medium.com/frontend-mentor/a-complete-guide-to-submitting-solutions-on-frontend-mentor-ac6384162248) for tips on how to do this.
|
||||
|
||||
Remember, if you're looking for feedback on your solution, be sure to ask questions when submitting it. The more specific and detailed you are with your questions, the higher the chance you'll get valuable feedback from the community.
|
||||
|
||||
## Sharing your solution
|
||||
|
||||
There are multiple places you can share your solution:
|
||||
|
||||
1. Share your solution page in the **#finished-projects** channel of the [Slack community](https://www.frontendmentor.io/slack).
|
||||
2. Tweet [@frontendmentor](https://twitter.com/frontendmentor) and mention **@frontendmentor**, including the repo and live URLs in the tweet. We'd love to take a look at what you've built and help share it around.
|
||||
3. Share your solution on other social channels like LinkedIn.
|
||||
4. Blog about your experience building your project. Writing about your workflow, technical choices, and talking through your code is a brilliant way to reinforce what you've learned. Great platforms to write on are [dev.to](https://dev.to/), [Hashnode](https://hashnode.com/), and [CodeNewbie](https://community.codenewbie.org/).
|
||||
|
||||
We provide templates to help you share your solution once you've submitted it on the platform. Please do edit them and include specific questions when you're looking for feedback.
|
||||
|
||||
The more specific you are with your questions the more likely it is that another member of the community will give you feedback.
|
||||
|
||||
## Got feedback for us?
|
||||
|
||||
We love receiving feedback! We're always looking to improve our challenges and our platform. So if you have anything you'd like to mention, please email hi[at]frontendmentor[dot]io.
|
||||
|
||||
This challenge is completely free. Please share it with anyone who will find it useful for practice.
|
||||
|
||||
**Have fun building!** 🚀
|
|
@ -0,0 +1,76 @@
|
|||
# Frontend Mentor - 3-column preview card component solution
|
||||
|
||||
This is a solution to the [3-column preview card component challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/3column-preview-card-component-pH92eAR2-). Frontend Mentor challenges help you improve your coding skills by building realistic projects.
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [Frontend Mentor - 3-column preview card component solution](#frontend-mentor---3-column-preview-card-component-solution)
|
||||
- [Table of contents](#table-of-contents)
|
||||
- [Overview](#overview)
|
||||
- [The challenge](#the-challenge)
|
||||
- [Screenshot](#screenshot)
|
||||
- [Links](#links)
|
||||
- [My process](#my-process)
|
||||
- [Built with](#built-with)
|
||||
- [What I learned](#what-i-learned)
|
||||
- [Continued development](#continued-development)
|
||||
- [Author](#author)
|
||||
- [Acknowledgments](#acknowledgments)
|
||||
|
||||
**Note: Delete this note and update the table of contents based on what sections you keep.**
|
||||
|
||||
## Overview
|
||||
|
||||
### The challenge
|
||||
|
||||
Users should be able to:
|
||||
|
||||
- View the optimal layout depending on their device's screen size
|
||||
- See hover states for interactive elements
|
||||
|
||||
### Screenshot
|
||||
|
||||
Here are the final images for the desktop version
|
||||
|
||||
![Desktop](./screenshots/desktop.png)
|
||||
|
||||
and for the mobile version
|
||||
|
||||
![Mobile](./screenshots/mobile.png)
|
||||
|
||||
### Links
|
||||
|
||||
- Solution URL: [Gitea on rmcg.dev](https://git.tarasis.net/tarasis/rmcg.dev/src/branch/main/projects/FrontendMentor/newbie/3-column-preview-card-component)
|
||||
- Live Site URL: [rmcg.dev](https://rmcg.dev/FrontendMentor/newbie/3-column-preview-card-component)
|
||||
|
||||
## My process
|
||||
|
||||
### Built with
|
||||
|
||||
- Semantic HTML5 markup
|
||||
- CSS custom properties
|
||||
- Flexbox
|
||||
- Mobile-first workflow
|
||||
|
||||
### What I learned
|
||||
|
||||
I was rusty as I hadn't touched html/css/javascript in 7 months. Solution came together fairly quickly.
|
||||
|
||||
As usual I focused on mobile first, and then added some minor tweaks for desktop. (Specifically the "Learn More" button is lower on the desktop version)
|
||||
|
||||
I spent a little time chasing box widths, mainly it was paragraph width. Honestly I should have simply stayed with the `25ch` used for the mobile version rather than having `23.15ch` for the desktop.
|
||||
|
||||
### Continued development
|
||||
|
||||
Continue working through the `newbie` projects that I have, with an eye to trying to use `grid` rather than `flexbox`.
|
||||
|
||||
## Author
|
||||
|
||||
- Website - [Blog](https://tarasis.net)
|
||||
- Website - [Portfolio](https://rmcg.dev)
|
||||
- Frontend Mentor - [@tarasis](https://www.frontendmentor.io/profile/tarasis)
|
||||
- Twitter - [@tarasis](https://www.twitter.com/tarasis)
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
Just Matt front [Frontend Mentor](https://www.frontendmentor.io) for creating the site. These challenges have been an effective way of learning.
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
Info:
|
||||
desktop size 1440x800
|
||||
mobile size 375x1502
|
||||
*/
|
||||
|
||||
/* ! Create variables */
|
||||
:root {
|
||||
/* Colors: Primary */
|
||||
--col-pri-bright-orange: hsl(31, 77%, 52%);
|
||||
--col-pri-dark-cyan: hsl(184, 100%, 22%);
|
||||
--col-pri-very-dark-cyan: hsl(179, 100%, 13%);
|
||||
|
||||
/* Colors: Neutral */
|
||||
/* paragraphs */
|
||||
--col-neu-transparent-white: hsla(0, 0%, 100%, 0.75);
|
||||
/* background, headings, buttons */
|
||||
--col-neu-very-light-gray: hsl(0, 0%, 95%);
|
||||
|
||||
/* Fonts */
|
||||
--fs-body-15px: 0.9375rem;
|
||||
--fw-400: 400;
|
||||
--fw-700: 700;
|
||||
|
||||
--ff-lexend: "Lexend Deca", sans-serif;
|
||||
--ff-big-shoulders: "Big Shoulders Display", cursive;
|
||||
}
|
||||
|
||||
*,
|
||||
::before,
|
||||
::after {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Provided attribution styling */
|
||||
|
||||
footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
/* justify-content: space-around; */
|
||||
}
|
||||
|
||||
.attribution {
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.attribution a {
|
||||
color: hsl(228, 45%, 44%);
|
||||
}
|
||||
|
||||
html {
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 100vw;
|
||||
min-height: 100vh;
|
||||
display: grid;
|
||||
/* place-items: center; */
|
||||
justify-content: center;
|
||||
align-content: center;
|
||||
background-color: var(--col-neu-very-light-gray);
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.card {
|
||||
padding: 3rem;
|
||||
|
||||
font-family: var(--ff-lexend);
|
||||
font-size: var(--fs-body-15px);
|
||||
color: var(--col-neu-very-light-gray);
|
||||
}
|
||||
|
||||
.card:first-child {
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
.card:last-child {
|
||||
border-radius: 0 0 8px 8px;
|
||||
}
|
||||
|
||||
.card__image {
|
||||
margin-bottom: 2.1875rem;
|
||||
}
|
||||
.card__title {
|
||||
font-family: var(--ff-big-shoulders);
|
||||
font-size: 2.5rem;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 1.5625rem;
|
||||
}
|
||||
.card__body {
|
||||
margin-bottom: 1.5625rem;
|
||||
width: 25ch;
|
||||
color: var(--col-neu-transparent-white);
|
||||
line-height: 1.5625rem;
|
||||
}
|
||||
|
||||
.card-learn-more__button {
|
||||
background-color: var(--col-neu-very-light-gray);
|
||||
border-radius: 25px;
|
||||
padding: 12px 32px;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
color: var(--col-fg);
|
||||
}
|
||||
|
||||
.card-learn-more__button:focus,
|
||||
.card-learn-more__button:hover {
|
||||
background-color: var(--col-fg);
|
||||
border: 2px solid var(--col-neu-very-light-gray);
|
||||
padding: 10px 30px;
|
||||
color: var(--col-neu-very-light-gray);
|
||||
}
|
||||
|
||||
.sedan-color {
|
||||
background-color: var(--col-pri-bright-orange);
|
||||
--col-fg: var(--col-pri-bright-orange);
|
||||
}
|
||||
|
||||
.suv-color {
|
||||
background-color: var(--col-pri-dark-cyan);
|
||||
--col-fg: var(--col-pri-dark-cyan);
|
||||
}
|
||||
|
||||
.luxury-color {
|
||||
background-color: var(--col-pri-very-dark-cyan);
|
||||
--col-fg: var(--col-pri-very-dark-cyan);
|
||||
}
|
||||
|
||||
@media screen and (min-width: 900px) {
|
||||
.container {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.card:first-child {
|
||||
border-radius: 8px 0 0 8px;
|
||||
}
|
||||
|
||||
.card:last-child {
|
||||
border-radius: 0 8px 8px 0;
|
||||
}
|
||||
|
||||
.card__body {
|
||||
/* just changed to chase design, honestly the 25ch width is fine */
|
||||
width: 23.15ch;
|
||||
margin-bottom: 5.25rem;
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="64" height="40" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle fill="#000" opacity=".201" cx="20" cy="20" r="20"/><path d="M30.98 22.835c1.941 0 3.516 1.604 3.516 3.583 0 1.978-1.575 3.582-3.517 3.582s-3.516-1.604-3.516-3.582c0-1.979 1.574-3.583 3.516-3.583zm21.956 0c1.942 0 3.517 1.604 3.517 3.583 0 1.978-1.575 3.582-3.517 3.582s-3.516-1.604-3.516-3.582c0-1.979 1.574-3.583 3.516-3.583zm-9.143-10.45a1.27 1.27 0 011.819 0l3.715 3.784c4.444-.115 9.7 1.142 13.964 3.753.387.237.624.664.624 1.124 0 3.006-2.126 5.514-4.926 6.05.397-3.698-2.458-6.882-6.053-6.882-3.646 0-6.504 3.264-6.039 6.99h-9.669c.76-1.544.993-2.026 1.337-2.711l.082-.162c.421-.835 1.056-2.07 2.883-5.65 1.68-.023 3.47-.408 5.247-1.403l-2.984-3.04a1.328 1.328 0 010-1.854zm-7.68 1.064c.683-.2 1.395.202 1.592.898l.749 2.652a3.46 3.46 0 01-.247 2.51l-1.733 3.395-.216.424c-1.07-1.89-3.06-3.114-5.279-3.114-3.595 0-6.45 3.184-6.052 6.885-1.832-.347-3.414-1.537-4.278-3.276a1.331 1.331 0 01.117-1.376l.955-1.303-1.325-1.295c-.751-.735-.376-2.024.64-2.231l6.614-1.346.13-.026c.092-.019.145-.03.157-.031.314-.146 1.07-.591 1.07-1.506 0-.734.592-1.327 1.316-1.31.712.016 1.268.662 1.256 1.388a4.11 4.11 0 01-.348 1.611 22.69 22.69 0 014.7 1.146l-.7-2.473a1.314 1.314 0 01.882-1.622z" fill="#19B89D" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="64" height="40" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle fill="#000" opacity=".201" cx="20" cy="20" r="20"/><path d="M52.936 24.11c1.942 0 3.517 1.542 3.517 3.445 0 1.903-1.575 3.445-3.517 3.445s-3.516-1.542-3.516-3.445c0-1.903 1.574-3.445 3.516-3.445zm-21.957 0c1.942 0 3.517 1.542 3.517 3.445 0 1.903-1.575 3.445-3.517 3.445s-3.516-1.542-3.516-3.445c0-1.903 1.574-3.445 3.516-3.445zm6.948-4.848v1.429c0 .716.61 1.293 1.348 1.259a1.295 1.295 0 001.225-1.295v-1.393h8.256l13.483 1.313c.956.093 1.676.881 1.676 1.814 0 2.89-2.126 5.303-4.926 5.819.397-3.557-2.458-6.62-6.053-6.62-3.646 0-6.504 3.14-6.039 6.723h-9.879c.466-3.588-2.397-6.722-6.039-6.722-3.595 0-6.45 3.062-6.052 6.62-2.14-.398-3.916-1.912-4.61-3.931h1.142c.731 0 1.32-.598 1.285-1.322-.033-.678-.629-1.2-1.322-1.2H20v-.251c0-1.274 1.066-2.243 2.306-2.243h15.62zM42.59 11c2.645 0 4.99 1.556 5.972 3.963l.726 1.779H40.17L38.413 11h4.178zm-6.865 0l1.758 5.741H26.505l3.357-3.654A6.502 6.502 0 0134.644 11h1.082z" fill="#FFD473" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="64" height="40" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle fill="#000" opacity=".201" cx="20" cy="20" r="20"/><path d="M31.002 22.358c2.917 0 5.18 2.593 4.762 5.506a4.828 4.828 0 01-2.962 3.778 4.797 4.797 0 01-5.3-1.165c-1.188-1.26-1.235-2.613-1.263-2.613-.42-2.924 1.857-5.506 4.763-5.506zm22 0c3.457 0 5.798 3.567 4.41 6.744A4.816 4.816 0 0152.3 31.94a4.826 4.826 0 01-4.06-4.077c-.42-2.915 1.846-5.506 4.762-5.506zm-15.04-6.083v1.462a1.29 1.29 0 001.352 1.29c.693-.033 1.227-.631 1.227-1.326v-1.426h8.3l13.056.716a1.29 1.29 0 011.164.917c.27.895.446 1.477.563 1.87h-1.047c-.694 0-1.291.534-1.324 1.228a1.29 1.29 0 001.288 1.352h1.445c-.164 2.225-1.57 4.193-3.6 5.05.13-4.212-3.255-7.63-7.384-7.63-4.317 0-7.762 3.718-7.358 8.086h-7.285c.43-4.655-3.503-8.531-8.131-8.046v-3.543h7.734zm-10.312 0v4.308a7.4 7.4 0 00-4.006 7.274 3.874 3.874 0 01-3.642-3.864v-1.635h1.46a1.29 1.29 0 000-2.58h-1.461v-3.213l.003-.29h7.646zm14.986-8.196c2.65 0 5 1.592 5.984 4.055l.63 1.579a5.525 5.525 0 01-.065-.004l-.026-.002-.034-.002-.022-.002a4.178 4.178 0 00-.224-.006l-.098-.001h-.039l-.136-.001h-.052l-.326-.001H40.211L38.528 8.08zm-13.632 0l-1.122 5.616h-7.144l1.47-4.71a1.29 1.29 0 011.231-.906h5.565zm6.832 0l1.683 5.615h-7.007l1.121-5.615h4.203z" fill="#26B5C0" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,60 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- displays site properly based on user's device -->
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="./images/favicon-32x32.png">
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@700&family=Lexend+Deca&display=swap"
|
||||
rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="./css/style.css">
|
||||
<title>Frontend Mentor | 3-column preview card component</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<main class="container">
|
||||
<article class="card sedan-color">
|
||||
<img class="card__image" src="./images/icon-sedans.svg" alt="stylized image of a sedan car">
|
||||
<h2 class="card__title">Sedans</h2>
|
||||
<p class="card__body">
|
||||
Choose a sedan for its affordability and excellent fuel economy. Ideal for cruising in the city
|
||||
or on your next road trip.
|
||||
</p>
|
||||
<a href="#" class="card-learn-more__button">Learn More</a>
|
||||
</article>
|
||||
|
||||
<article class="card suv-color">
|
||||
<img class="card__image" src="./images/icon-suvs.svg" alt="stylized image of an SUV">
|
||||
<h2 class="card__title">SUVs</h2>
|
||||
<p class="card__body">
|
||||
Take an SUV for its spacious interior, power, and versatility. Perfect for your next family vacation
|
||||
and off-road adventures.
|
||||
</p>
|
||||
<a href="#" class="card-learn-more__button">Learn More</a>
|
||||
</article>
|
||||
|
||||
<article class="card luxury-color">
|
||||
<img class="card__image" src="./images/icon-luxury.svg" alt="stylized image of a luxury car">
|
||||
<h2 class="card__title">Luxury</h2>
|
||||
<p class="card__body">
|
||||
Cruise in the best car brands without the bloated prices. Enjoy the enhanced comfort of a luxury
|
||||
rental and arrive in style.
|
||||
</p>
|
||||
<a href="#" class="card-learn-more__button">Learn More</a>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="attribution">
|
||||
Challenge by <a href="https://www.frontendmentor.io?ref=challenge" target="_blank">Frontend Mentor</a>.
|
||||
Coded by <a href="https://tarasis.net">Robert McGovern</a>.
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
After Width: | Height: | Size: 270 KiB |
After Width: | Height: | Size: 206 KiB |
|
@ -0,0 +1,35 @@
|
|||
# Front-end Style Guide
|
||||
|
||||
## Layout
|
||||
|
||||
The designs were created to the following widths:
|
||||
|
||||
- Mobile: 375px
|
||||
- Desktop: 1440px
|
||||
|
||||
## Colors
|
||||
|
||||
### Primary
|
||||
|
||||
Bright orange: hsl(31, 77%, 52%)
|
||||
Dark cyan: hsl(184, 100%, 22%)
|
||||
Very dark cyan: hsl(179, 100%, 13%)
|
||||
|
||||
### Neutral
|
||||
|
||||
Transparent white (paragraphs): hsla(0, 0%, 100%, 0.75)
|
||||
Very light gray (background, headings, buttons): hsl(0, 0%, 95%)
|
||||
|
||||
## Typography
|
||||
|
||||
### Body Copy
|
||||
|
||||
- Font size: 15px
|
||||
|
||||
### Font
|
||||
|
||||
- Family: [Lexend Deca](https://fonts.google.com/specimen/Lexend+Deca)
|
||||
- Weights: 400
|
||||
|
||||
- Family: [Big Shoulders Display](https://fonts.google.com/specimen/Big+Shoulders+Display)
|
||||
- Weights: 700
|
|
@ -0,0 +1 @@
|
|||
.DS_Store
|
|
@ -0,0 +1,83 @@
|
|||
# Frontend Mentor - Base Apparel coming soon page
|
||||
|
||||
![Design preview for the Base Apparel coming soon page coding challenge](./design/desktop-preview.jpg)
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
Thanks for checking out this front-end coding challenge.
|
||||
|
||||
[Frontend Mentor](https://www.frontendmentor.io) challenges allow you to improve your skills in a real-life workflow.
|
||||
|
||||
**To do this challenge, you need a basic understanding of HTML, CSS and JavaScript.**
|
||||
|
||||
## The challenge
|
||||
|
||||
Your challenge is to build out this coming soon page and get it looking as close to the design as possible.
|
||||
|
||||
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.
|
||||
|
||||
Your users should be able to:
|
||||
|
||||
- View the optimal layout for the site depending on their device's screen size
|
||||
- See hover states for all interactive elements on the page
|
||||
- Receive an error message when the `form` is submitted if:
|
||||
- The `input` field is empty
|
||||
- The email address is not formatted correctly
|
||||
|
||||
Want some support on the challenge? [Join our Slack community](https://www.frontendmentor.io/slack) and ask questions in the **#help** channel.
|
||||
|
||||
## Where to find everything
|
||||
|
||||
Your task is to build out the project to the designs inside the `/design` folder. You will find both a mobile and a desktop version of the design to work to.
|
||||
|
||||
The designs are in JPG static format. This will mean that you'll need to use your best judgment for styles such as `font-size`, `padding` and `margin`. This should help train your eye to perceive differences in spacings and sizes.
|
||||
|
||||
If you would like the Sketch file in order to inspect the design in more detail it is available to [purchase here](https://bmc.xyz/l/Pn38ZJp61).
|
||||
|
||||
You will find all the required assets in the `/images` folder. The assets are already optimized.
|
||||
|
||||
There is also a `style-guide.md` file, which contains the information you'll need, such as color palette and fonts.
|
||||
|
||||
## Building your project
|
||||
|
||||
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
|
||||
|
||||
1. Initialize your project as a public repository on [GitHub](https://github.com/). This will make it easier to share your code with the community if you need some help. If you're not sure how to do this, [have a read through of this Try Git resource](https://try.github.io/).
|
||||
2. Configure your repository to publish your code to a URL. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, but we recommend using [Vercel](https://bit.ly/fem-vercel). We've got more information about deploying your project with Vercel below.
|
||||
3. Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes that you could create to make reusable styles.
|
||||
4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
|
||||
5. Write out the base styles for your project, including general content styles, such as `font-family` and `font-size`.
|
||||
6. Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
|
||||
7. If you'd like to try making your project fully responsive, we'd recommend checking out [Sizzy](https://bit.ly/fm-sizzy). It's a great browser that makes it easy to view your site across multiple devices.
|
||||
|
||||
## Deploying your project
|
||||
|
||||
As mentioned above, there are a number of ways to host your project for free. We recommend using [Vercel](https://bit.ly/fem-vercel) as it's an amazing service and extremely simple to get set up with. If you'd like to use Vercel, here are some steps to follow to get started:
|
||||
|
||||
1. [Sign up to Vercel](https://bit.ly/fem-vercel-signup) and go through the onboarding flow, ensuring your GitHub account is connected by using their [Vercel for GitHub](https://vercel.com/docs/v2/git-integrations/vercel-for-github) integration.
|
||||
2. Connect your project to Vercel from the ["Import project" page](https://vercel.com/import), using the "From Git Repository" button and selecting the project you want to deploy.
|
||||
3. Once connected, every time you `git push`, Vercel will create a new [deployment](https://vercel.com/docs/v2/platform/deployments) and the deployment URL will be shown on your [Dashboard](https://vercel.com/dashboard). You will also receive an email for each deployment with the URL.
|
||||
|
||||
## Sharing your solution
|
||||
|
||||
There are multiple places you can share your solution:
|
||||
|
||||
1. Submit it on the platform so that other users will see your solution on the site. Here's our ["Complete guide to submitting solutions"](https://medium.com/frontend-mentor/a-complete-guide-to-submitting-solutions-on-frontend-mentor-ac6384162248) to help you do that.
|
||||
2. Share your solution page in the **#finished-projects** channel of the [Slack community](https://www.frontendmentor.io/slack).
|
||||
3. Tweet [@frontendmentor](https://twitter.com/frontendmentor) and mention **@frontendmentor** including the repo and live URLs in the tweet. We'd love to take a look at what you've built and help share it around.
|
||||
|
||||
## Giving feedback
|
||||
|
||||
Feedback is always welcome, so if you have any to give on this challenge please email hi[at]frontendmentor[dot]io.
|
||||
|
||||
This challenge is completely free. Please share it with anyone who will find it useful for practice.
|
||||
|
||||
**Have fun building!** 🚀
|
||||
|
||||
## Community Sponsors
|
||||
|
||||
A massive thank you to our community sponsors!
|
||||
|
||||
- [Sizzy](https://bit.ly/fm-sizzy) is an extremely useful browser designed specifically to improve a developer's workflow when building websites. You can fire up multiple device emulators and run them all in sync while building out your web pages. Perfect for helping build fully responsive websites!
|
||||
- [Diversify Tech](https://bit.ly/fem-diversify-tech) is an amazing resource for underrepresented people in tech. The site features job listings for anyone seeking new opportunities. The resource section is also full of useful links to dive into!
|
||||
- [Dracula PRO](https://bit.ly/fem-dracula) is a beautiful dark theme to help keep you focused and productive while you code. The theme isn't just for your editor either. You can also apply it to your most-used apps like your terminal and even Slack!
|
After Width: | Height: | Size: 97 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 34 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="830" height="800"><defs><linearGradient id="a" x1="95.861%" x2="10.913%" y1="2.476%" y2="101.718%"><stop offset="0%" stop-color="#FFF1F1"/><stop offset="100%" stop-color="#FFF"/></linearGradient><linearGradient id="b" x1="95.937%" x2="10.848%" y1="2.476%" y2="101.718%"><stop offset="0%" stop-color="#FFF1F1"/><stop offset="100%" stop-color="#FFF"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(#a)" d="M0 800c48.557-184.991 167.048-301.57 355.473-349.737C543.898 402.096 688.074 252.008 788 0v800H0z" transform="rotate(180 394 400)"/><path fill="url(#b)" d="M413 800c25.696-97.814 88.4-159.455 188.112-184.924C700.824 589.608 777.12 510.25 830 377v423H413z"/></g></svg>
|
After Width: | Height: | Size: 746 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="20"><path fill="none" stroke="#FFF" stroke-width="2" d="M1 1l8.836 8.836L1 18.671"/></svg>
|
After Width: | Height: | Size: 149 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><g fill="none" fill-rule="evenodd"><circle cx="12" cy="12" r="12" fill="#F96464"/><path fill="#FFF" fill-rule="nonzero" d="M13.256 6v9.056h-2V6h2zm-.944 12.464c-.384 0-.699-.104-.944-.312a1.027 1.027 0 0 1-.368-.824c0-.33.125-.608.376-.832.25-.224.563-.336.936-.336.373 0 .68.112.92.336.24.224.36.501.36.832 0 .341-.117.616-.352.824-.235.208-.544.312-.928.312z"/></g></svg>
|
After Width: | Height: | Size: 436 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="158" height="33"><defs><linearGradient id="a" x1="0%" y1="0%" y2="100%"><stop offset="0%" stop-color="#F8BFBF"/><stop offset="100%" stop-color="#EE8B8B"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="#423A3A" fill-rule="nonzero" d="M53.699 10.2c0 .571-.11 1.071-.33 1.5-.221.428-.537.786-.947 1.071-.411.286-.905.5-1.483.643a7.997 7.997 0 0 1-1.92.215h-5.947V1.126h5.804c1.286 0 2.295.292 3.028.875.732.584 1.098 1.37 1.098 2.358v.036c0 .357-.045.673-.134.946a2.846 2.846 0 0 1-.875 1.322 3.49 3.49 0 0 1-.634.429c.726.274 1.298.646 1.714 1.116.417.47.626 1.122.626 1.956v.035zm-3.43-5.34v-.037c0-.416-.154-.735-.464-.955-.31-.22-.756-.33-1.34-.33h-2.714V6.18h2.536c.607 0 1.09-.104 1.447-.313.357-.208.535-.544.535-1.009zm.697 5v-.036c0-.416-.16-.747-.482-.99-.322-.245-.84-.367-1.554-.367h-3.18v2.75h3.27c.606 0 1.083-.11 1.428-.33.345-.22.518-.563.518-1.027zm21.945 3.769h-2.876l-1.143-2.804h-5.287l-1.143 2.804h-2.804l5.358-12.592h2.536l5.359 12.592zM67.91 8.396L66.249 4.34l-1.661 4.055h3.322zm20.73 1.536c0 .619-.113 1.17-.34 1.652a3.393 3.393 0 0 1-.946 1.214 4.277 4.277 0 0 1-1.447.75 6.281 6.281 0 0 1-1.858.26 8.28 8.28 0 0 1-2.804-.492 7.422 7.422 0 0 1-2.5-1.51L80.37 9.86a8.16 8.16 0 0 0 1.76 1.107c.6.274 1.259.411 1.973.411.572 0 1.015-.104 1.33-.312a.984.984 0 0 0 .474-.867v-.035c0-.179-.033-.337-.098-.474-.066-.137-.19-.265-.375-.384a3.928 3.928 0 0 0-.768-.357 13.29 13.29 0 0 0-1.277-.375 15.566 15.566 0 0 1-1.715-.518 4.83 4.83 0 0 1-1.304-.705 2.853 2.853 0 0 1-.83-1.045c-.197-.417-.295-.935-.295-1.554v-.036c0-.571.107-1.086.322-1.545.214-.458.514-.854.901-1.187a4.06 4.06 0 0 1 1.385-.768A5.564 5.564 0 0 1 83.62.948c.917 0 1.76.137 2.527.41a7.326 7.326 0 0 1 2.117 1.18l-1.43 2.071a9.057 9.057 0 0 0-1.642-.902 4.2 4.2 0 0 0-1.608-.33c-.536 0-.938.104-1.205.312-.268.209-.402.468-.402.777v.036c0 .202.038.378.116.527.077.149.217.283.42.402.202.119.479.232.83.339.351.107.795.232 1.33.375.632.167 1.194.354 1.688.563.495.208.911.458 1.25.75.34.292.596.634.769 1.027.172.393.259.863.259 1.41v.037zm16.76 3.331h-9.52V.761h9.43v2.447h-6.698v2.536h5.894V8.19h-5.894v2.625h6.787v2.447zm-50.148 19h-2.875l-1.143-2.804h-5.287l-1.143 2.804H42l5.358-12.592h2.536l5.358 12.592zm-5-5.233l-1.661-4.054-1.662 4.054h3.323zm21.587-2.911c0 .726-.131 1.363-.393 1.91a3.9 3.9 0 0 1-1.08 1.376c-.459.37-.995.646-1.608.83a6.816 6.816 0 0 1-1.974.277h-2.09v3.751h-2.75V19.761h5.108c.75 0 1.42.104 2.01.312.589.209 1.09.503 1.5.884.41.381.726.837.946 1.367.22.53.33 1.116.33 1.759v.036zm-2.786.053v-.035c0-.62-.2-1.09-.599-1.411-.399-.322-.943-.483-1.634-.483h-2.125v3.822h2.179c.69 0 1.226-.181 1.607-.544.381-.363.572-.813.572-1.349zm19.48-.053c0 .726-.132 1.363-.393 1.91a3.9 3.9 0 0 1-1.081 1.376c-.458.37-.994.646-1.607.83a6.816 6.816 0 0 1-1.974.277h-2.09v3.751h-2.75V19.761h5.108c.75 0 1.42.104 2.01.312.589.209 1.089.503 1.5.884.41.381.726.837.946 1.367.22.53.33 1.116.33 1.759v.036zm-2.787.053v-.035c0-.62-.2-1.09-.598-1.411-.399-.322-.944-.483-1.634-.483h-2.126v3.822h2.18c.69 0 1.226-.181 1.607-.544.38-.363.571-.813.571-1.349zm21.766 8.091h-2.875l-1.143-2.804h-5.287l-1.143 2.804H94.26l5.358-12.592h2.536l5.358 12.592zm-5-5.233l-1.662-4.054-1.66 4.054h3.321zm22.497 5.233h-3.214l-2.68-4h-2.16v4h-2.751V19.761h5.715c1.489 0 2.647.363 3.474 1.09.828.726 1.241 1.738 1.241 3.036v.035c0 1.012-.247 1.837-.74 2.474a4.295 4.295 0 0 1-1.939 1.402l3.054 4.465zm-3.16-8.198v-.036c0-.595-.191-1.041-.572-1.34-.381-.297-.911-.446-1.59-.446h-2.733v3.59h2.787c.678 0 1.2-.16 1.562-.482.364-.321.545-.75.545-1.286zm19.55 8.198h-9.52V19.761h9.431v2.447h-6.698v2.536h5.894v2.447h-5.894v2.625h6.787v2.447zm16.194 0h-8.984V19.761h2.75v10.002h6.234v2.5z"/><path fill="url(#a)" d="M15.5 32.088c-8.56 0-15.5-6.94-15.5-15.5 0-8.56 6.94-15.5 15.5-15.5 8.56 0 15.5 6.94 15.5 15.5 0 8.56-6.94 15.5-15.5 15.5zm0-3.5c6.904 0 12.5-5.373 12.5-12s-5.596-12-12.5-12S3 9.961 3 16.588s5.596 12 12.5 12z" transform="translate(0 -.088)"/></g></svg>
|
After Width: | Height: | Size: 3.9 KiB |
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- displays site properly based on user's device -->
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="./images/favicon-32x32.png">
|
||||
|
||||
<title>Frontend Mentor | Base Apparel coming soon page</title>
|
||||
|
||||
<!-- Feel free to remove these styles or customise in your own stylesheet 👍 -->
|
||||
<style>
|
||||
.attribution { font-size: 11px; text-align: center; }
|
||||
.attribution a { color: hsl(228, 45%, 44%); }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
We're coming soon
|
||||
|
||||
Hello fellow shoppers! We're currently building our new fashion store.
|
||||
Add your email below to stay up-to-date with announcements and our launch deals.
|
||||
|
||||
Email Address
|
||||
|
||||
<footer>
|
||||
<p class="attribution">
|
||||
Challenge by <a href="https://www.frontendmentor.io?ref=challenge" target="_blank">Frontend Mentor</a>.
|
||||
Coded by <a href="#">Your Name Here</a>.
|
||||
</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,35 @@
|
|||
# Front-end Style Guide
|
||||
|
||||
## Layout
|
||||
|
||||
The designs were created to the following widths:
|
||||
|
||||
- Mobile: 375px
|
||||
- Desktop: 1440px
|
||||
|
||||
## Colors
|
||||
|
||||
### Primary
|
||||
|
||||
- Desaturated Red: hsl(0, 36%, 70%)
|
||||
- Soft Red: hsl(0, 93%, 68%)
|
||||
|
||||
### Neutral
|
||||
|
||||
- Dark Grayish Red: hsl(0, 6%, 24%)
|
||||
|
||||
### Gradients
|
||||
|
||||
- Linear, 135deg, from hsl(0, 0%, 100%), to hsl(0, 100%, 98%)
|
||||
- Linear, 135deg, from hsl(0, 80%, 86%), to hsl(0, 74%, 74%)
|
||||
|
||||
## Typography
|
||||
|
||||
### Body Copy
|
||||
|
||||
- Font size: 16px
|
||||
|
||||
### Font
|
||||
|
||||
- Family: [Josefin Sans](https://fonts.google.com/specimen/Josefin+Sans)
|
||||
- Weights: 300, 400, 600
|
|
@ -0,0 +1,17 @@
|
|||
# Avoid accidental Sketch file upload
|
||||
###############################################
|
||||
## Please do not remove line 5 - thanks! 🙂 ##
|
||||
###############################################
|
||||
*.sketch
|
||||
|
||||
# Avoid accidental XD or Figma upload if you convert the design file
|
||||
#######################################################
|
||||
## Please do not remove lines 11 and 12 - thanks! 🙂 ##
|
||||
#######################################################
|
||||
*.xd
|
||||
*.fig
|
||||
|
||||
# Avoid your project being littered with annoying .DS_Store files!
|
||||
.DS_Store
|
||||
|
||||
.prettierignore
|
|
@ -0,0 +1,125 @@
|
|||
# DUMP of notes
|
||||
|
||||
Was looking at using details/summary for a no javascript option but there is no support for animating the answer revail and there is not changing the position of where the disclosure triangle is https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Frontend Mentor - Sunnyside agency landing page solution
|
||||
|
||||
This is a solution to the [FAQ Accordion Card](https://www.frontendmentor.io/challenges/faq-accordion-card-XlyjD0Oam). Frontend Mentor challenges help you improve your coding skills by building realistic projects.
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [DUMP of notes](#dump-of-notes)
|
||||
- [Frontend Mentor - Sunnyside agency landing page solution](#frontend-mentor---sunnyside-agency-landing-page-solution)
|
||||
- [Table of contents](#table-of-contents)
|
||||
- [Overview](#overview)
|
||||
- [The challenge](#the-challenge)
|
||||
- [Screenshot](#screenshot)
|
||||
- [Links](#links)
|
||||
- [My process](#my-process)
|
||||
- [Built with](#built-with)
|
||||
- [What I learned](#what-i-learned)
|
||||
- [Continued development](#continued-development)
|
||||
- [Useful resources](#useful-resources)
|
||||
- [Author](#author)
|
||||
- [Acknowledgments](#acknowledgments)
|
||||
|
||||
**Note: Delete this note and update the table of contents based on what sections you keep.**
|
||||
|
||||
## Overview
|
||||
|
||||
### The challenge
|
||||
|
||||
Users should be able to:
|
||||
|
||||
- View the optimal layout for the site depending on their device's screen size
|
||||
- See hover states for all interactive elements on the page
|
||||
|
||||
### Screenshot
|
||||
|
||||
![](./screenshot.jpg)
|
||||
|
||||
Add a screenshot of your solution. The easiest way to do this is to use Firefox to view your project, right-click the page and select "Take a Screenshot". You can choose either a full-height screenshot or a cropped one based on how long the page is. If it's very long, it might be best to crop it.
|
||||
|
||||
Alternatively, you can use a tool like [FireShot](https://getfireshot.com/) to take the screenshot. FireShot has a free option, so you don't need to purchase it.
|
||||
|
||||
Then crop/optimize/edit your image however you like, add it to your project, and update the file path in the image above.
|
||||
|
||||
**Note: Delete this note and the paragraphs above when you add your screenshot. If you prefer not to add a screenshot, feel free to remove this entire section.**
|
||||
|
||||
### Links
|
||||
|
||||
- Solution URL: [Add solution URL here](https://your-solution-url.com)
|
||||
- Live Site URL: [Add live site URL here](https://your-live-site-url.com)
|
||||
|
||||
## My process
|
||||
|
||||
### Built with
|
||||
|
||||
- Semantic HTML5 markup
|
||||
- CSS custom properties
|
||||
- Flexbox
|
||||
- CSS Grid
|
||||
- Mobile-first workflow
|
||||
- [React](https://reactjs.org/) - JS library
|
||||
- [Next.js](https://nextjs.org/) - React framework
|
||||
- [Styled Components](https://styled-components.com/) - For styles
|
||||
|
||||
**Note: These are just examples. Delete this note and replace the list above with your own choices**
|
||||
|
||||
### What I learned
|
||||
|
||||
Use this section to recap over some of your major learnings while working through this project. Writing these out and providing code samples of areas you want to highlight is a great way to reinforce your own knowledge.
|
||||
|
||||
To see how you can add code snippets, see below:
|
||||
|
||||
```html
|
||||
<h1>Some HTML code I'm proud of</h1>
|
||||
```
|
||||
|
||||
```css
|
||||
.proud-of-this-css {
|
||||
color: papayawhip;
|
||||
}
|
||||
```
|
||||
|
||||
```js
|
||||
const proudOfThisFunc = () => {
|
||||
console.log("🎉");
|
||||
};
|
||||
```
|
||||
|
||||
If you want more help with writing markdown, we'd recommend checking out [The Markdown Guide](https://www.markdownguide.org/) to learn more.
|
||||
|
||||
**Note: Delete this note and the content within this section and replace with your own learnings.**
|
||||
|
||||
### Continued development
|
||||
|
||||
Use this section to outline areas that you want to continue focusing on in future projects. These could be concepts you're still not completely comfortable with or techniques you found useful that you want to refine and perfect.
|
||||
|
||||
**Note: Delete this note and the content within this section and replace with your own plans for continued development.**
|
||||
|
||||
### Useful resources
|
||||
|
||||
- [Example resource 1](https://www.example.com) - This helped me for XYZ reason. I really liked this pattern and will use it going forward.
|
||||
- [Example resource 2](https://www.example.com) - This is an amazing article which helped me finally understand XYZ. I'd recommend it to anyone still learning this concept.
|
||||
|
||||
**Note: Delete this note and replace the list above with resources that helped you during the challenge. These could come in handy for anyone viewing your solution or for yourself when you look back on this project in the future.**
|
||||
|
||||
## Author
|
||||
|
||||
- Website - [Add your name here](https://www.your-site.com)
|
||||
- Frontend Mentor - [@yourusername](https://www.frontendmentor.io/profile/yourusername)
|
||||
- Twitter - [@yourusername](https://www.twitter.com/yourusername)
|
||||
|
||||
**Note: Delete this note and add/remove/edit lines above based on what links you'd like to share.**
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
This is where you can give a hat tip to anyone who helped you out on this project. Perhaps you worked in a team or got some inspiration from someone else's solution. This is the perfect place to give them some credit.
|
||||
|
||||
**Note: Delete this note and edit this section's content as necessary. If you completed this challenge by yourself, feel free to delete this section entirely.**
|
|
@ -0,0 +1,80 @@
|
|||
# Frontend Mentor - FAQ Accordion Card
|
||||
|
||||
![Design preview for the FAQ Accordion Card coding challenge](./design/desktop-preview.jpg)
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
Thanks for checking out this front-end coding challenge.
|
||||
|
||||
[Frontend Mentor](https://www.frontendmentor.io) challenges allow you to improve your skills in a real-life workflow.
|
||||
|
||||
**To do this challenge, you need a basic understanding of HTML, CSS and JavaScript.**
|
||||
|
||||
## The challenge
|
||||
|
||||
Your challenge is to build out this FAQ accordion card and get it looking as close to the design as possible.
|
||||
|
||||
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.
|
||||
|
||||
Your users should be able to:
|
||||
|
||||
- View the optimal layout for the component depending on their device's screen size
|
||||
- See hover states for all interactive elements on the page
|
||||
- Hide/Show the answer to a question when the question is clicked
|
||||
|
||||
Want some support on the challenge? [Join our Slack community](https://www.frontendmentor.io/slack) and ask questions in the **#help** channel.
|
||||
|
||||
## Where to find everything
|
||||
|
||||
Your task is to build out the project to the designs inside the `/design` folder. You will find both a mobile and a desktop version of the design to work to.
|
||||
|
||||
The designs are in JPG static format. This will mean that you'll need to use your best judgment for styles such as `font-size`, `padding` and `margin`. This should help train your eye to perceive differences in spacings and sizes.
|
||||
|
||||
If you would like the Sketch file in order to inspect the design in more detail you can [subscribe as a PRO member](https://www.frontendmentor.io/pro).
|
||||
|
||||
You will find all the required assets in the `/images` folder. The assets are already optimized.
|
||||
|
||||
There is also a `style-guide.md` file, which contains the information you'll need, such as color palette and fonts.
|
||||
|
||||
## Building your project
|
||||
|
||||
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
|
||||
|
||||
1. Initialize your project as a public repository on [GitHub](https://github.com/). This will make it easier to share your code with the community if you need some help. If you're not sure how to do this, [have a read through of this Try Git resource](https://try.github.io/).
|
||||
2. Configure your repository to publish your code to a URL. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, but we recommend using [Vercel](https://bit.ly/fem-vercel). We've got more information about deploying your project with Vercel below.
|
||||
3. Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes that you could create to make reusable styles.
|
||||
4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
|
||||
5. Write out the base styles for your project, including general content styles, such as `font-family` and `font-size`.
|
||||
6. Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
|
||||
|
||||
## Deploying your project
|
||||
|
||||
As mentioned above, there are a number of ways to host your project for free. We recommend using [Vercel](https://bit.ly/fem-vercel) as it's an amazing service and extremely simple to get set up with. If you'd like to use Vercel, here are some steps to follow to get started:
|
||||
|
||||
1. [Sign up to Vercel](https://bit.ly/fem-vercel-signup) and go through the onboarding flow, ensuring your GitHub account is connected by using their [Vercel for GitHub](https://vercel.com/docs/v2/git-integrations/vercel-for-github) integration.
|
||||
2. Connect your project to Vercel from the ["Import project" page](https://vercel.com/import), using the "From Git Repository" button and selecting the project you want to deploy.
|
||||
3. Once connected, every time you `git push`, Vercel will create a new [deployment](https://vercel.com/docs/v2/platform/deployments) and the deployment URL will be shown on your [Dashboard](https://vercel.com/dashboard). You will also receive an email for each deployment with the URL.
|
||||
|
||||
## Sharing your solution
|
||||
|
||||
There are multiple places you can share your solution:
|
||||
|
||||
1. Submit it on the platform so that other users will see your solution on the site. Here's our ["Complete guide to submitting solutions"](https://medium.com/frontend-mentor/a-complete-guide-to-submitting-solutions-on-frontend-mentor-ac6384162248) to help you do that.
|
||||
2. Share your solution page in the **#finished-projects** channel of the [Slack community](https://www.frontendmentor.io/slack).
|
||||
3. Tweet [@frontendmentor](https://twitter.com/frontendmentor) and mention **@frontendmentor** including the repo and live URLs in the tweet. We'd love to take a look at what you've built and help share it around.
|
||||
|
||||
## Giving feedback
|
||||
|
||||
Feedback is always welcome, so if you have any to give on this challenge please email hi[at]frontendmentor[dot]io.
|
||||
|
||||
This challenge is completely free. Please share it with anyone who will find it useful for practice.
|
||||
|
||||
**Have fun building!** 🚀
|
||||
|
||||
## Community Sponsors
|
||||
|
||||
A massive thank you to our community sponsors!
|
||||
|
||||
- [Hack for NF](https://bit.ly/fem-bemyapp) is a perfect opportunity to write code, contribute to an amazing cause, meet others, and have fun all at the same time! The hackathon starts October 2nd and runs through to November 13th. Datasets, mentor support, and input from patients are all provided. There's also \$40K USD in prizes and grants up for grabs!
|
||||
- [Diversify Tech](https://bit.ly/fem-diversify-tech) is an amazing resource for underrepresented people in tech. The site features job listings for anyone seeking new opportunities. The resource section is also full of useful links to dive into!
|
||||
- [Zero to Mastery](https://bit.ly/fem-ztm) is an incredible learning resource for all things web development. Led by Andrei Neagoie, the courses are really high-quality content and cover a wide range of in-demand skills.
|
|
@ -0,0 +1,48 @@
|
|||
/* http://meyerweb.com/eric/tools/css/reset/
|
||||
v2.0 | 20110126
|
||||
License: none (public domain)
|
||||
*/
|
||||
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
|
@ -0,0 +1,176 @@
|
|||
/*
|
||||
Info:
|
||||
desktop size 1440x768
|
||||
mobile size 375x768
|
||||
|
||||
*/
|
||||
|
||||
@import url("https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@400;700&display=swap");
|
||||
|
||||
:root {
|
||||
/* colors: */
|
||||
/* Text */
|
||||
--col-red-soft: hsl(14, 88%, 65%);
|
||||
--col-blue-very-dark-desaturated: hsl(238, 29%, 16%);
|
||||
--col-blue-very-dark-grayish: hsl(237, 12%, 33%);
|
||||
--col-blue-dark-grayish: hsl(240, 6%, 50%);
|
||||
|
||||
/* divider */
|
||||
--col-blue-light-grayish: hsl(240, 5%, 91%);
|
||||
|
||||
/* background gradient */
|
||||
--col-violet-soft: hsl(273, 75%, 66%);
|
||||
--col-blue-soft: hsl(240, 73%, 65%);
|
||||
|
||||
--clr-test: rgb(255, 111, 000);
|
||||
|
||||
/* Fonts */
|
||||
--fs-12px: 0.75rem;
|
||||
--fw-400: 400;
|
||||
--fw-700: 700;
|
||||
}
|
||||
|
||||
*,
|
||||
::after,
|
||||
::before {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
main {
|
||||
min-height: 100vh;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Base page styling */
|
||||
|
||||
body {
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
var(--col-violet-soft) 0%,
|
||||
var(--col-blue-soft) 100%
|
||||
);
|
||||
}
|
||||
|
||||
main {
|
||||
display: grid;
|
||||
align-content: center;
|
||||
justify-items: center;
|
||||
}
|
||||
|
||||
.card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-family: "Kumbh Sans", sans-serif;
|
||||
|
||||
background-color: white;
|
||||
width: 87%;
|
||||
border-radius: 23px;
|
||||
background-image: var(--card-image);
|
||||
}
|
||||
|
||||
.card__header {
|
||||
text-align: center;
|
||||
font-weight: var(--fw-700);
|
||||
font-size: 2rem;
|
||||
line-height: 2.5rem;
|
||||
}
|
||||
|
||||
.card__header_image {
|
||||
position: absolute;
|
||||
background-size: contain;
|
||||
content: url(../images/illustration-woman-online-mobile.svg);
|
||||
/* margin: 0 auto; */
|
||||
width: 237px;
|
||||
height: 180px;
|
||||
left: calc(50% - calc(237px / 2) - 10px);
|
||||
top: -20px;
|
||||
/* : calc(100% - 237px/2); */
|
||||
/* left: 40px; */
|
||||
}
|
||||
|
||||
.card__header_image_shadow {
|
||||
background-image: url(../images/bg-pattern-mobile.svg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top center;
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 376px) {
|
||||
.card {
|
||||
flex-direction: row;
|
||||
}
|
||||
.card__header {
|
||||
text-align: start;
|
||||
}
|
||||
}
|
||||
|
||||
.faq {
|
||||
margin-top: 6.125rem;
|
||||
/* border: 1px red solid; */
|
||||
color: var(--col-red-soft);
|
||||
}
|
||||
|
||||
/* FAQ Section */
|
||||
|
||||
details {
|
||||
font-size: var(--fs-12px);
|
||||
line-height: 1.125rem;
|
||||
padding: 1rem 0 1rem 1.5rem;
|
||||
color: var(--col-blue-dark-grayish);
|
||||
|
||||
border-bottom: 1px solid var(--col-blue-light-grayish);
|
||||
border-width: 75%;
|
||||
}
|
||||
|
||||
summary {
|
||||
font-size: 0.8125rem;
|
||||
font-weight: var(--fw-400);
|
||||
line-height: 1rem;
|
||||
|
||||
color: var(--col-blue-very-dark-grayish);
|
||||
/* padding: 1rem 1.5rem; */
|
||||
margin-bottom: 1rem;
|
||||
outline: none;
|
||||
/* border-radius: 0.25rem; */
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
summary:hover {
|
||||
color: var(--col-red-soft);
|
||||
}
|
||||
|
||||
details > summary::after {
|
||||
position: absolute;
|
||||
content: url(../images/icon-arrow-down.svg);
|
||||
right: 20px;
|
||||
}
|
||||
details[open] > summary {
|
||||
font-weight: var(--fw-700);
|
||||
color: var(--col-blue-very-dark-desaturated);
|
||||
}
|
||||
details[open] > summary::after {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
details > summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
details[open] summary ~ * {
|
||||
animation: sweep 0.5s ease-in-out;
|
||||
}
|
||||
@keyframes sweep {
|
||||
0% {
|
||||
opacity: 0;
|
||||
margin-top: -10px;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="966" height="945" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none" opacity=".099"><path d="M468.755 937.353L19.744 671.73c-14.295-8.047-26.548-21.23-12.62-29.878L457.734 381.89c6.754-4.194 17.018-6.946 23.903-2.936l471.265 273.827c14.296 8.308 16.861 31.45 2.619 39.837L527.925 936.933a59.64 59.64 0 01-59.17.42z" fill="#6862E6"/><path d="M468.755 561.353L19.744 295.73c-14.295-8.047-26.548-21.23-12.62-29.878L457.734 5.89c6.754-4.194 17.018-6.946 23.903-2.936l471.265 273.827c14.296 8.308 16.861 31.45 2.619 39.837L527.925 560.933a59.64 59.64 0 01-59.17.42z" stroke="#1E1F36"/><path d="M468.755 636.353L19.744 370.73c-14.295-8.047-26.548-21.23-12.62-29.878L457.734 80.89c6.754-4.194 17.018-6.946 23.903-2.936l471.265 273.827c14.296 8.308 16.861 31.45 2.619 39.837L527.925 635.933a59.64 59.64 0 01-59.17.42z" stroke="#1E1F36"/></g></svg>
|
After Width: | Height: | Size: 870 B |
|
@ -0,0 +1 @@
|
|||
<svg width="240" height="104" xmlns="http://www.w3.org/2000/svg"><path d="M116.454 102.048L4.667 34.239c-3.56-2.054-6.61-5.42-3.142-7.627l112.184-66.364c1.682-1.07 4.237-1.773 5.951-.75l117.328 69.904c3.559 2.12 4.198 8.028.652 10.17L131.185 101.94a14.53 14.53 0 01-14.731.107z" fill="#6862E6" fill-rule="nonzero" opacity=".099"/></svg>
|
After Width: | Height: | Size: 336 B |
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="10" height="7" xmlns="http://www.w3.org/2000/svg"><path d="M1 .799l4 4 4-4" stroke="#F47B56" stroke-width="2" fill="none" fill-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 161 B |
|
@ -0,0 +1 @@
|
|||
<svg width="191" height="184" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter x="-97.9%" y="-76.3%" width="295.8%" height="313.7%" filterUnits="objectBoundingBox" id="a"><feOffset dy="25" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="25" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.209139076 0 0 0 0 0.0691446444 0 0 0 0 0.478091033 0 0 0 0.497159091 0" in="shadowBlurOuter1"/></filter><path id="b" d="M0 27.756v53.87l41.968 24.035 47.387-28.025v-53.87"/></defs><g fill="none" fill-rule="evenodd"><g transform="translate(50.93 2.125)"><use fill="#000" filter="url(#a)" xlink:href="#b"/><use fill="#FF9271" xlink:href="#b"/></g><path fill="#DF5C34" fill-rule="nonzero" d="M92.899 53.917v53.87l47.387-28.026v-53.87z"/><path fill="#F47B56" fill-rule="nonzero" d="M50.93 29.88L99.624 2.126l40.662 23.767-47.387 28.025z"/><path d="M94.013 14.49a25.942 25.942 0 0114.207 3.129c2.486 1.462 3.844 2.988 4.036 4.579.192 1.59-.628 2.975-2.562 4.143a9.115 9.115 0 01-2.985 1.18c-.869.205-1.76.295-2.652.269l-.974-.077c.091.217.151.446.18.68a3.132 3.132 0 01-.513 1.552 5.704 5.704 0 01-2.1 2.065 12.633 12.633 0 01-6.7 1.77 13.247 13.247 0 01-6.957-1.757c-1.999-1.18-3.023-2.566-3.1-4.156a4.49 4.49 0 012.562-4.015 8.488 8.488 0 012.357-1.013 9.175 9.175 0 012.037-.346h.705l-1.282-.77 3.6-2.244 8.34 4.912a4.377 4.377 0 004.15 0c1.769-1.103 1.137-2.552-1.895-4.348a19.261 19.261 0 00-10.556-2.347 21.67 21.67 0 00-11.018 3.168c-3.023 1.89-4.522 4.143-4.496 6.76 0 2.564 1.601 4.848 4.714 6.682a21.015 21.015 0 0011.146 2.655 20.926 20.926 0 0011.017-2.925 12.353 12.353 0 003.062-2.565 5.683 5.683 0 001.28-2.18l.18-.808 4.753.269c.008.145.008.29 0 .436a8.216 8.216 0 01-.346 1.154 8.303 8.303 0 01-.82 1.72 11.912 11.912 0 01-1.69 2 15.952 15.952 0 01-2.755 2.13 25.602 25.602 0 01-9.326 3.36 35.176 35.176 0 01-10.877.192 24.896 24.896 0 01-9.339-3.053 12.127 12.127 0 01-5.304-5.566 8.192 8.192 0 010-6.593 12.692 12.692 0 015.266-5.759 28.966 28.966 0 0114.655-4.284zm4.663 13.262c-.17-.891-.77-1.64-1.601-2.001a6.579 6.579 0 00-3.33-.911 5.619 5.619 0 00-3.101.795 2.283 2.283 0 00-1.281 2.001c.117.89.69 1.654 1.512 2.014a6.54 6.54 0 003.394.86 6.092 6.092 0 003.254-.847 2.065 2.065 0 001.205-1.911" fill="#3E2928" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 15 KiB |
|
@ -0,0 +1,81 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- displays site properly based on user's device -->
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="./images/favicon-32x32.png">
|
||||
|
||||
<title>Frontend Mentor | FAQ Accordion Card</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<!-- Feel free to remove these styles or customise in your own stylesheet 👍 -->
|
||||
<!-- <style>
|
||||
.attribution {
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.attribution a {
|
||||
color: hsl(228, 45%, 44%);
|
||||
}
|
||||
</style> -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main>
|
||||
<div class="card">
|
||||
<!-- <header class="card__header"> -->
|
||||
<div class="card__header_thing">
|
||||
<div class="card__header_image"></div>
|
||||
<div class="card__header_image_shadow"></div>
|
||||
</div>
|
||||
<!-- </header> -->
|
||||
<article>
|
||||
<div class="faq">
|
||||
<h2 class="card__header">FAQ</h2>
|
||||
<details>
|
||||
<summary>How many team members can I invite?</summary>
|
||||
<div class="faq__content">
|
||||
You can invite up to 2 additional users on the Free plan. There is no limit on
|
||||
team members for the Premium plan.
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>What is the maximum file upload size?</summary>
|
||||
<div class="faq__content">
|
||||
No more than 2GB. All files in your account must fit your allotted storage space. </div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>How do I reset my password?</summary>
|
||||
<div class="faq__content">
|
||||
Click “Forgot password” from the login page or “Change password” from your profile page.
|
||||
A reset link will be emailed to you.
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Can I cancel my subscription?</summary>
|
||||
<div class="faq__content">
|
||||
Yes! Send us a message and we’ll process your request no questions asked.
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary> Do you provide additional support?</summary>
|
||||
<div class="faq__content">
|
||||
Chat and email support is available 24/7. Phone lines are open during normal business hours.
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- <div class="attribution">
|
||||
Challenge by <a href="https://www.frontendmentor.io?ref=challenge" target="_blank">Frontend Mentor</a>.
|
||||
Coded by <a href="https://tarasis.net">Robert McGovern</a>.
|
||||
</div> -->
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,46 @@
|
|||
# Front-end Style Guide
|
||||
|
||||
## Layout
|
||||
|
||||
The designs were created to the following widths:
|
||||
|
||||
- Mobile: 375px
|
||||
- Desktop: 1440px
|
||||
|
||||
## Colors
|
||||
|
||||
### Primary
|
||||
|
||||
#### Text
|
||||
|
||||
- Very dark desaturated blue: hsl(238, 29%, 16%)
|
||||
- Soft red: hsl(14, 88%, 65%)
|
||||
|
||||
#### Gradient
|
||||
|
||||
Background gradient:
|
||||
|
||||
- Soft violet: hsl(273, 75%, 66%)
|
||||
- Soft blue: hsl(240, 73%, 65%)
|
||||
|
||||
### Neutral
|
||||
|
||||
#### Text
|
||||
|
||||
- Very dark grayish blue: hsl(237, 12%, 33%)
|
||||
- Dark grayish blue: hsl(240, 6%, 50%)
|
||||
|
||||
#### Dividers
|
||||
|
||||
- Light grayish blue: hsl(240, 5%, 91%)
|
||||
|
||||
## Typography
|
||||
|
||||
### Body Copy
|
||||
|
||||
- Font size: 12px
|
||||
|
||||
### Font
|
||||
|
||||
- Family: [Kumbh Sans](https://fonts.google.com/specimen/Kumbh+Sans)
|
||||
- Weights: 400, 700
|
|
@ -1,8 +1,8 @@
|
|||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;600&display=swap');
|
||||
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;600&display=swap");
|
||||
|
||||
/*
|
||||
/*
|
||||
* Challenge colors, font
|
||||
*
|
||||
*
|
||||
* The font-size for 20px is to make rem clearer for increments
|
||||
*
|
||||
* Mobile: 375px (375x1360)
|
||||
|
@ -10,7 +10,7 @@
|
|||
*/
|
||||
|
||||
:root {
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
font-size: 20px;
|
||||
|
||||
/* Primary Colors */
|
||||
|
@ -77,7 +77,6 @@ body {
|
|||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
||||
.middleSection {
|
||||
margin-top: 2.5rem;
|
||||
}
|
||||
|
@ -105,7 +104,6 @@ body {
|
|||
margin-top: 1.8rem;
|
||||
margin-left: auto;
|
||||
width: 22%;
|
||||
|
||||
}
|
||||
|
||||
.column1 {
|
||||
|
@ -137,7 +135,6 @@ body {
|
|||
} */
|
||||
|
||||
@media screen and (min-width: 1000px) {
|
||||
|
||||
.flexContainer {
|
||||
max-width: 1440px;
|
||||
}
|
||||
|
@ -152,7 +149,7 @@ body {
|
|||
margin-right: auto;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
|
||||
.flexContainer {
|
||||
width: 78%;
|
||||
}
|
||||
|
@ -172,12 +169,12 @@ body {
|
|||
.card-image {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
|
||||
.column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: auto;
|
||||
max-width: calc((100% /3) - 1.5rem);
|
||||
max-width: calc((100% / 3) - 1.5rem);
|
||||
}
|
||||
|
||||
.karma {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
.DS_Store
|
|
@ -0,0 +1,83 @@
|
|||
# Frontend Mentor - Intro component with sign up form
|
||||
|
||||
![Design preview for the Intro component with sign up form coding challenge](./design/desktop-preview.jpg)
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
Thanks for checking out this front-end coding challenge.
|
||||
|
||||
[Frontend Mentor](https://www.frontendmentor.io) challenges allow you to improve your skills in a real-life workflow.
|
||||
|
||||
**To do this challenge, you need a basic understanding of HTML, CSS and JavaScript.**
|
||||
|
||||
## The challenge
|
||||
|
||||
Your challenge is to build out this introductory component and get it looking as close to the design as possible.
|
||||
|
||||
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.
|
||||
|
||||
Your users should be able to:
|
||||
|
||||
- View the optimal layout for the site depending on their device's screen size
|
||||
- See hover states for all interactive elements on the page
|
||||
- Receive an error message when the `form` is submitted if:
|
||||
- Any `input` field is empty. The message for this error should say *"[Field Name] cannot be empty"*
|
||||
- The email address is not formatted correctly (i.e. a correct email address should have this structure: `name@host.tld`). The message for this error should say *"Looks like this is not an email"*
|
||||
|
||||
Want some support on the challenge? [Join our Slack community](https://www.frontendmentor.io/slack) and ask questions in the **#help** channel.
|
||||
|
||||
## Where to find everything
|
||||
|
||||
Your task is to build out the project to the designs inside the `/design` folder. You will find both a mobile and a desktop version of the design to work to.
|
||||
|
||||
The designs are in JPG static format. This will mean that you'll need to use your best judgment for styles such as `font-size`, `padding` and `margin`. This should help train your eye to perceive differences in spacings and sizes.
|
||||
|
||||
If you would like the Sketch file in order to inspect the design in more detail it is available to [purchase here]().
|
||||
|
||||
You will find all the required assets in the `/images` folder. The assets are already optimized.
|
||||
|
||||
There is also a `style-guide.md` file, which contains the information you'll need, such as color palette and fonts.
|
||||
|
||||
## Building your project
|
||||
|
||||
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
|
||||
|
||||
1. Initialize your project as a public repository on [GitHub](https://github.com/). This will make it easier to share your code with the community if you need some help. If you're not sure how to do this, [have a read through of this Try Git resource](https://try.github.io/).
|
||||
2. Configure your repository to publish your code to a URL. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, but we recommend using [Vercel](https://bit.ly/fem-vercel). We've got more information about deploying your project with Vercel below.
|
||||
3. Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes that you could create to make reusable styles.
|
||||
4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
|
||||
5. Write out the base styles for your project, including general content styles, such as `font-family` and `font-size`.
|
||||
6. Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
|
||||
7. If you'd like to try making your project fully responsive, we'd recommend checking out [Sizzy](https://bit.ly/fm-sizzy). It's a great browser that makes it easy to view your site across multiple devices.
|
||||
|
||||
## Deploying your project
|
||||
|
||||
As mentioned above, there are a number of ways to host your project for free. We recommend using [Vercel](https://bit.ly/fem-vercel) as it's an amazing service and extremely simple to get set up with. If you'd like to use Vercel, here are some steps to follow to get started:
|
||||
|
||||
1. [Sign up to Vercel](https://bit.ly/fem-vercel-signup) and go through the onboarding flow, ensuring your GitHub account is connected by using their [Vercel for GitHub](https://vercel.com/docs/v2/git-integrations/vercel-for-github) integration.
|
||||
2. Connect your project to Vercel from the ["Import project" page](https://vercel.com/import), using the "From Git Repository" button and selecting the project you want to deploy.
|
||||
3. Once connected, every time you `git push`, Vercel will create a new [deployment](https://vercel.com/docs/v2/platform/deployments) and the deployment URL will be shown on your [Dashboard](https://vercel.com/dashboard). You will also receive an email for each deployment with the URL.
|
||||
|
||||
## Sharing your solution
|
||||
|
||||
There are multiple places you can share your solution:
|
||||
|
||||
1. Submit it on the platform so that other users will see your solution on the site. Here's our ["Complete guide to submitting solutions"](https://medium.com/frontend-mentor/a-complete-guide-to-submitting-solutions-on-frontend-mentor-ac6384162248) to help you do that.
|
||||
2. Share your solution page in the **#finished-projects** channel of the [Slack community](https://www.frontendmentor.io/slack).
|
||||
3. Tweet [@frontendmentor](https://twitter.com/frontendmentor) and mention **@frontendmentor** including the repo and live URLs in the tweet. We'd love to take a look at what you've built and help share it around.
|
||||
|
||||
## Giving feedback
|
||||
|
||||
Feedback is always welcome, so if you have any to give on this challenge please email hi[at]frontendmentor[dot]io.
|
||||
|
||||
This challenge is completely free. Please share it with anyone who will find it useful for practice.
|
||||
|
||||
**Have fun building!** 🚀
|
||||
|
||||
## Community Sponsors
|
||||
|
||||
A massive thank you to our community sponsors!
|
||||
|
||||
- [Sizzy](https://bit.ly/fm-sizzy) is an extremely useful browser designed specifically to improve a developer's workflow when building websites. You can fire up multiple device emulators and run them all in sync while building out your web pages. Perfect for helping build fully responsive websites!
|
||||
- [Diversify Tech](https://bit.ly/fem-diversify-tech) is an amazing resource for underrepresented people in tech. The site features job listings for anyone seeking new opportunities. The resource section is also full of useful links to dive into!
|
||||
- [Dracula PRO](https://bit.ly/fem-dracula) is a beautiful dark theme to help keep you focused and productive while you code. The theme isn't just for your editor either. You can also apply it to your most-used apps like your terminal and even Slack!
|
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle fill="#FF7979" cx="12" cy="12" r="12"/><rect fill="#FFF" x="11" y="6" width="2" height="9" rx="1"/><rect fill="#FFF" x="11" y="17" width="2" height="2" rx="1"/></g></svg>
|
After Width: | Height: | Size: 276 B |
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- displays site properly based on user's device -->
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="./images/favicon-32x32.png">
|
||||
|
||||
<title>Frontend Mentor | Intro component with sign up form</title>
|
||||
|
||||
<!-- Feel free to remove these styles or customise in your own stylesheet 👍 -->
|
||||
<style>
|
||||
.attribution { font-size: 11px; text-align: center; }
|
||||
.attribution a { color: hsl(228, 45%, 44%); }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Learn to code by watching others
|
||||
|
||||
See how experienced developers solve problems in real-time. Watching scripted tutorials is great,
|
||||
but understanding how developers think is invaluable.
|
||||
|
||||
Try it free 7 days then $20/mo. thereafter
|
||||
|
||||
First Name
|
||||
Last Name
|
||||
Email Address
|
||||
Password
|
||||
|
||||
Claim your free trial
|
||||
|
||||
By clicking the button, you are agreeing to our Terms and Services
|
||||
|
||||
<footer>
|
||||
<p class="attribution">
|
||||
Challenge by <a href="https://www.frontendmentor.io?ref=challenge" target="_blank">Frontend Mentor</a>.
|
||||
Coded by <a href="#">Your Name Here</a>.
|
||||
</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,35 @@
|
|||
# Front-end Style Guide
|
||||
|
||||
## Layout
|
||||
|
||||
The designs were created to the following widths:
|
||||
|
||||
- Mobile: 375px
|
||||
- Desktop: 1440px
|
||||
|
||||
## Colors
|
||||
|
||||
### Primary
|
||||
|
||||
- Red: hsl(0, 100%, 74%)
|
||||
- Green: hsl(154, 59%, 51%)
|
||||
|
||||
### Accent
|
||||
|
||||
- Blue: hsl(248, 32%, 49%)
|
||||
|
||||
### Neutral
|
||||
|
||||
- Dark Blue: hsl(249, 10%, 26%)
|
||||
- Grayish Blue: hsl(246, 25%, 77%)
|
||||
|
||||
## Typography
|
||||
|
||||
### Body Copy
|
||||
|
||||
- Font size: 16px
|
||||
|
||||
### Font
|
||||
|
||||
- Family: [Poppins](https://fonts.google.com/specimen/Poppins)
|
||||
- Weights: 400, 500, 600, 700
|
|
@ -0,0 +1,16 @@
|
|||
# Avoid accidental upload of the Sketch and Figma design files
|
||||
#####################################################
|
||||
## Please do not remove lines 5 and 6 - thanks! 🙂 ##
|
||||
#####################################################
|
||||
*.sketch
|
||||
*.fig
|
||||
|
||||
# Avoid accidental XD upload if you convert the design file
|
||||
###############################################
|
||||
## Please do not remove line 12 - thanks! 🙂 ##
|
||||
###############################################
|
||||
*.xd
|
||||
|
||||
# Avoid your project being littered with annoying .DS_Store files!
|
||||
.DS_Store
|
||||
.prettierignore
|
|
@ -0,0 +1,111 @@
|
|||
# Frontend Mentor - Meet landing page solution
|
||||
|
||||
This is a solution to the [Meet landing page challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/meet-landing-page-rbTDS6OUR). Frontend Mentor challenges help you improve your coding skills by building realistic projects.
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [Overview](#overview)
|
||||
- [The challenge](#the-challenge)
|
||||
- [Screenshot](#screenshot)
|
||||
- [Links](#links)
|
||||
- [My process](#my-process)
|
||||
- [Built with](#built-with)
|
||||
- [What I learned](#what-i-learned)
|
||||
- [Continued development](#continued-development)
|
||||
- [Useful resources](#useful-resources)
|
||||
- [Author](#author)
|
||||
- [Acknowledgments](#acknowledgments)
|
||||
|
||||
**Note: Delete this note and update the table of contents based on what sections you keep.**
|
||||
|
||||
## Overview
|
||||
|
||||
### The challenge
|
||||
|
||||
Users should be able to:
|
||||
|
||||
- View the optimal layout depending on their device's screen size
|
||||
- See hover states for interactive elements
|
||||
|
||||
### Screenshot
|
||||
|
||||
![](./screenshot.jpg)
|
||||
|
||||
Add a screenshot of your solution. The easiest way to do this is to use Firefox to view your project, right-click the page and select "Take a Screenshot". You can choose either a full-height screenshot or a cropped one based on how long the page is. If it's very long, it might be best to crop it.
|
||||
|
||||
Alternatively, you can use a tool like [FireShot](https://getfireshot.com/) to take the screenshot. FireShot has a free option, so you don't need to purchase it.
|
||||
|
||||
Then crop/optimize/edit your image however you like, add it to your project, and update the file path in the image above.
|
||||
|
||||
**Note: Delete this note and the paragraphs above when you add your screenshot. If you prefer not to add a screenshot, feel free to remove this entire section.**
|
||||
|
||||
### Links
|
||||
|
||||
- Solution URL: [Add solution URL here](https://your-solution-url.com)
|
||||
- Live Site URL: [Add live site URL here](https://your-live-site-url.com)
|
||||
|
||||
## My process
|
||||
|
||||
### Built with
|
||||
|
||||
- Semantic HTML5 markup
|
||||
- CSS custom properties
|
||||
- Flexbox
|
||||
- CSS Grid
|
||||
- Mobile-first workflow
|
||||
- [React](https://reactjs.org/) - JS library
|
||||
- [Next.js](https://nextjs.org/) - React framework
|
||||
- [Styled Components](https://styled-components.com/) - For styles
|
||||
|
||||
**Note: These are just examples. Delete this note and replace the list above with your own choices**
|
||||
|
||||
### What I learned
|
||||
|
||||
Use this section to recap over some of your major learnings while working through this project. Writing these out and providing code samples of areas you want to highlight is a great way to reinforce your own knowledge.
|
||||
|
||||
To see how you can add code snippets, see below:
|
||||
|
||||
```html
|
||||
<h1>Some HTML code I'm proud of</h1>
|
||||
```
|
||||
```css
|
||||
.proud-of-this-css {
|
||||
color: papayawhip;
|
||||
}
|
||||
```
|
||||
```js
|
||||
const proudOfThisFunc = () => {
|
||||
console.log('🎉')
|
||||
}
|
||||
```
|
||||
|
||||
If you want more help with writing markdown, we'd recommend checking out [The Markdown Guide](https://www.markdownguide.org/) to learn more.
|
||||
|
||||
**Note: Delete this note and the content within this section and replace with your own learnings.**
|
||||
|
||||
### Continued development
|
||||
|
||||
Use this section to outline areas that you want to continue focusing on in future projects. These could be concepts you're still not completely comfortable with or techniques you found useful that you want to refine and perfect.
|
||||
|
||||
**Note: Delete this note and the content within this section and replace with your own plans for continued development.**
|
||||
|
||||
### Useful resources
|
||||
|
||||
- [Example resource 1](https://www.example.com) - This helped me for XYZ reason. I really liked this pattern and will use it going forward.
|
||||
- [Example resource 2](https://www.example.com) - This is an amazing article which helped me finally understand XYZ. I'd recommend it to anyone still learning this concept.
|
||||
|
||||
**Note: Delete this note and replace the list above with resources that helped you during the challenge. These could come in handy for anyone viewing your solution or for yourself when you look back on this project in the future.**
|
||||
|
||||
## Author
|
||||
|
||||
- Website - [Add your name here](https://www.your-site.com)
|
||||
- Frontend Mentor - [@yourusername](https://www.frontendmentor.io/profile/yourusername)
|
||||
- Twitter - [@yourusername](https://www.twitter.com/yourusername)
|
||||
|
||||
**Note: Delete this note and add/remove/edit lines above based on what links you'd like to share.**
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
This is where you can give a hat tip to anyone who helped you out on this project. Perhaps you worked in a team or got some inspiration from someone else's solution. This is the perfect place to give them some credit.
|
||||
|
||||
**Note: Delete this note and edit this section's content as necessary. If you completed this challenge by yourself, feel free to delete this section entirely.**
|
|
@ -0,0 +1,88 @@
|
|||
# Frontend Mentor - Meet landing page
|
||||
|
||||
![Design preview for the Meet landing page coding challenge](./preview.jpg)
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
Thanks for purchasing this premium Frontend Mentor coding challenge.
|
||||
|
||||
[Frontend Mentor](https://www.frontendmentor.io) challenges help you improve your coding skills by building realistic projects. These premium challenges are perfect portfolio pieces, so please feel free to use what you create in your portfolio to show others.
|
||||
|
||||
**To do this challenge, you need a decent understanding of HTML & CSS.**
|
||||
|
||||
## The challenge
|
||||
|
||||
Your challenge is to build out this landing page and get it looking as close to the design as possible.
|
||||
|
||||
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.
|
||||
|
||||
Your users should be able to:
|
||||
|
||||
- View the optimal layout depending on their device's screen size
|
||||
- See hover states for interactive elements
|
||||
|
||||
Want some support on the challenge? [Join our Slack community](https://www.frontendmentor.io/slack) and ask questions in the **#help** channel.
|
||||
|
||||
## Where to find everything
|
||||
|
||||
Your task is to build out the project to the design file provided. We provide both Sketch and Figma versions of the design, so you can choose which tool you prefer to use. You can download the design file on the platform. **Please be sure not to share them with anyone else.** The design download comes with a `README.md` file as well to help you get set up.
|
||||
|
||||
All the required assets for this project are in the `/assets` folder. The assets are already exported for the correct screen size and optimized. Some images are reusable at multiple screen sizes. So if you don't see an image in a specific folder, it will typically be in another folder for that page.
|
||||
|
||||
The design system in the design file will give you more information about the various colors, fonts, and styles used in this project.
|
||||
|
||||
## Building your project
|
||||
|
||||
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
|
||||
|
||||
1. Separate the `starter-code` from the rest of this project and rename it to something meaningful for you. Initialize the codebase as a public repository on [GitHub](https://github.com/). Creating a repo will make it easier to share your code with the community if you need help. If you're not sure how to do this, [have a read-through of this Try Git resource](https://try.github.io/). **⚠️ IMPORTANT ⚠️: There are already a couple of `.gitignore` files in this project. Please do not remove them or change the content of the files. If you create a brand new project, please use the `.gitignore` files provided in your new codebase. This is to avoid the accidental upload of the design files to GitHub. With these premium challenges, please be sure not to share the design files in your GitHub repo. Thanks!**
|
||||
2. Configure your repository to publish your code to a web address. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, and we provide some recommendations below.
|
||||
3. Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes to create reusable styles.
|
||||
4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
|
||||
5. Write out the base styles for your project, including general content styles, such as `font-family` and `font-size`.
|
||||
6. Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
|
||||
|
||||
## Deploying your project
|
||||
|
||||
As mentioned above, there are many ways to host your project for free. Our recommend hosts are:
|
||||
|
||||
- [GitHub Pages](https://pages.github.com/)
|
||||
- [Vercel](https://vercel.com/)
|
||||
- [Netlify](https://www.netlify.com/)
|
||||
|
||||
You can host your site using one of these solutions or any of our other trusted providers. [Read more about our recommended and trusted hosts](https://medium.com/frontend-mentor/frontend-mentor-trusted-hosting-providers-bf000dfebe).
|
||||
|
||||
## Create a custom `README.md`
|
||||
|
||||
We strongly recommend overwriting this `README.md` with a custom one. We've provided a template inside the [`README-template.md`](./README-template.md) file in this starter code.
|
||||
|
||||
The template provides a guide for what to add. A custom `README` will help you explain your project and reflect on your learnings. Please feel free to edit our template as much as you like.
|
||||
|
||||
Once you've added your information to the template, delete this file and rename the `README-template.md` file to `README.md`. That will make it show up as your repository's README file.
|
||||
|
||||
## Submitting your solution
|
||||
|
||||
Submit your solution on the platform for the rest of the community to see. Follow our ["Complete guide to submitting solutions"](https://medium.com/frontend-mentor/a-complete-guide-to-submitting-solutions-on-frontend-mentor-ac6384162248) for tips on how to do this.
|
||||
|
||||
Remember, if you're looking for feedback on your solution, be sure to ask questions when submitting it. The more specific and detailed you are with your questions, the higher the chance you'll get valuable feedback from the community.
|
||||
|
||||
**⚠️ IMPORTANT ⚠️: With these premium challenges, please be sure not to upload the design files to GitHub when you're submitting to the platform and sharing it around. If you've created a brand new project, the easiest way to do that is to copy across the `.gitignore` provided in this starter project.**
|
||||
|
||||
## Sharing your solution
|
||||
|
||||
There are multiple places you can share your solution:
|
||||
|
||||
1. Share your solution page in the **#finished-projects** channel of the [Slack community](https://www.frontendmentor.io/slack).
|
||||
2. Tweet [@frontendmentor](https://twitter.com/frontendmentor) and mention **@frontendmentor**, including the repo and live URLs in the tweet. We'd love to take a look at what you've built and help share it around.
|
||||
3. Share your solution on other social channels like LinkedIn.
|
||||
4. Blog about your experience building your project. Writing about your workflow, technical choices, and talking through your code is a brilliant way to reinforce what you've learned. Great platforms to write on are [dev.to](https://dev.to/), [Hashnode](https://hashnode.com/), and [CodeNewbie](https://community.codenewbie.org/).
|
||||
|
||||
We provide templates to help you share your solution once you've submitted it on the platform. Please do edit them and include specific questions when you're looking for feedback.
|
||||
|
||||
The more specific you are with your questions the more likely it is that another member of the community will give you feedback.
|
||||
|
||||
## Got feedback for us?
|
||||
|
||||
We love receiving feedback! We're always looking to improve our challenges and our platform. So if you have anything you'd like to mention, please email hi[at]frontendmentor[dot]io.
|
||||
|
||||
**Have fun building!** 🚀
|
After Width: | Height: | Size: 88 KiB |
16
projects/FrontendMentor/newbie/meet-landing-page/starter-code/.gitignore
vendored
Executable file
|
@ -0,0 +1,16 @@
|
|||
# Avoid accidental upload of the Sketch and Figma design files
|
||||
#####################################################
|
||||
## Please do not remove lines 5 and 6 - thanks! 🙂 ##
|
||||
#####################################################
|
||||
*.sketch
|
||||
*.fig
|
||||
|
||||
# Avoid accidental XD upload if you convert the design file
|
||||
###############################################
|
||||
## Please do not remove line 12 - thanks! 🙂 ##
|
||||
###############################################
|
||||
*.xd
|
||||
|
||||
# Avoid your project being littered with annoying .DS_Store files!
|
||||
.DS_Store
|
||||
.prettierignore
|
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="119" height="28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g><circle fill="#4D96A9" cx="7" cy="21" r="7"/><circle fill="#855FB1" cx="21" cy="7" r="7"/></g><path d="M44.121 25.676V13.95c.316-.41.701-.718 1.154-.923a3.677 3.677 0 011.533-.308c.822 0 1.48.286 1.976.859.495.572.743 1.323.743 2.251v9.848h5.121v-10.56c0-.195-.005-.384-.016-.567a8.383 8.383 0 00-.047-.535c.337-.41.738-.729 1.201-.956.464-.226.98-.34 1.55-.34.821 0 1.48.286 1.975.859.495.572.743 1.323.743 2.251v9.848h5.121v-10.56c0-2.009-.606-3.661-1.817-4.957-1.212-1.296-2.767-1.944-4.663-1.944-1.096 0-2.108.206-3.035.616a6.956 6.956 0 00-2.403 1.75 6.042 6.042 0 00-2.134-1.734c-.853-.42-1.796-.632-2.829-.632-.78 0-1.523.12-2.229.357a6.264 6.264 0 00-1.944 1.069V8.539H39v17.137h5.121zM76.556 26c1.39 0 2.64-.205 3.746-.615 1.106-.41 2.186-1.07 3.24-1.977l-3.382-3.077c-.4.41-.885.729-1.455.956a5.082 5.082 0 01-1.896.34c-.97 0-1.813-.254-2.53-.762a4.508 4.508 0 01-1.58-1.96h11.918V17.61c0-1.34-.21-2.586-.632-3.742-.422-1.155-1.007-2.143-1.755-2.964a8.225 8.225 0 00-2.671-1.943c-1.033-.476-2.16-.713-3.383-.713a8.657 8.657 0 00-3.43.68 8.445 8.445 0 00-2.766 1.879 8.9 8.9 0 00-1.849 2.835 8.985 8.985 0 00-.68 3.482c0 1.23.237 2.392.712 3.482a8.93 8.93 0 001.928 2.835 8.776 8.776 0 002.893 1.879 9.404 9.404 0 003.572.68zm3.035-10.755h-6.987c.253-.864.685-1.533 1.296-2.008.612-.475 1.339-.713 2.182-.713.822 0 1.543.248 2.165.745.622.497 1.07 1.155 1.344 1.976zM95.365 26c1.391 0 2.64-.205 3.746-.615 1.107-.41 2.187-1.07 3.24-1.977l-3.382-3.077c-.4.41-.885.729-1.454.956a5.082 5.082 0 01-1.897.34c-.97 0-1.812-.254-2.529-.762a4.508 4.508 0 01-1.58-1.96h11.918V17.61c0-1.34-.211-2.586-.633-3.742-.421-1.155-1.006-2.143-1.754-2.964a8.225 8.225 0 00-2.671-1.943c-1.033-.476-2.16-.713-3.383-.713a8.657 8.657 0 00-3.43.68 8.445 8.445 0 00-2.766 1.879 8.9 8.9 0 00-1.85 2.835 8.985 8.985 0 00-.68 3.482c0 1.23.238 2.392.712 3.482a8.93 8.93 0 001.929 2.835 8.776 8.776 0 002.892 1.879 9.404 9.404 0 003.572.68zM98.4 15.245h-6.986c.253-.864.685-1.533 1.296-2.008.611-.475 1.338-.713 2.181-.713.822 0 1.544.248 2.166.745.621.497 1.07 1.155 1.343 1.976zm15.87 10.658c.484 0 1.085-.049 1.802-.146.716-.097 1.306-.221 1.77-.372V21.14c-.422.13-.811.221-1.17.275a7.639 7.639 0 01-1.138.081c-.822 0-1.396-.156-1.723-.47-.326-.313-.49-.847-.49-1.603v-6.511H118V8.539h-4.679V3l-5.12 1.134v4.405h-3.383v4.374h3.382v7.548c0 1.792.511 3.147 1.533 4.065 1.022.918 2.535 1.377 4.537 1.377z" fill="#28283D" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 266 KiB |
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="./assets/favicon-32x32.png">
|
||||
|
||||
<title>Frontend Mentor | Meet landing page</title>
|
||||
</head>
|
||||
<body>
|
||||
Meet makes it easy to connect with others face-to-face virtually and collaborate across any device.
|
||||
|
||||
Download v1.3
|
||||
What is it?
|
||||
|
||||
01
|
||||
Built for modern use
|
||||
|
||||
Smarter meetings, all in one place
|
||||
|
||||
Send messages, share files, show your screen, and record your meetings — all in one
|
||||
workspace. Control who can join with invite-only team access, data encryption, and data export.
|
||||
|
||||
02
|
||||
Experience more together
|
||||
Stay connected with reliable HD meetings and unlimited one-on-one and group video sessions.
|
||||
|
||||
Download v1.3
|
||||
</body>
|
||||
</html>
|
16
projects/FrontendMentor/newbie/pod-request-access-landing-page/.gitignore
vendored
Executable file
|
@ -0,0 +1,16 @@
|
|||
# Avoid accidental upload of the Sketch and Figma design files
|
||||
#####################################################
|
||||
## Please do not remove lines 5 and 6 - thanks! 🙂 ##
|
||||
#####################################################
|
||||
*.sketch
|
||||
*.fig
|
||||
|
||||
# Avoid accidental XD upload if you convert the design file
|
||||
###############################################
|
||||
## Please do not remove line 12 - thanks! 🙂 ##
|
||||
###############################################
|
||||
*.xd
|
||||
|
||||
# Avoid your project being littered with annoying .DS_Store files!
|
||||
.DS_Store
|
||||
.prettierignore
|
|
@ -0,0 +1,91 @@
|
|||
# Frontend Mentor - Pod request access landing page
|
||||
|
||||
![Design preview for the Pod request access landing page coding challenge](./preview.jpg)
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
Thanks for purchasing this premium Frontend Mentor coding challenge.
|
||||
|
||||
[Frontend Mentor](https://www.frontendmentor.io) challenges help you improve your coding skills by building realistic projects. These premium challenges are perfect portfolio pieces, so please feel free to use what you create in your portfolio to show others.
|
||||
|
||||
**To do this challenge, you need a basic understanding of HTML, CSS, and JavaScript.**
|
||||
|
||||
## The challenge
|
||||
|
||||
Your challenge is to build out this early access landing page and get it looking as close to the design as possible.
|
||||
|
||||
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.
|
||||
|
||||
Your users should be able to:
|
||||
|
||||
- View the optimal layout depending on their device's screen size
|
||||
- See hover states for interactive elements
|
||||
- Receive an error message when the form is submitted if:
|
||||
- The `Email address` field is empty should show "Oops! Please add your email"
|
||||
- The email is not formatted correctly should show "Oops! Please check your email"
|
||||
|
||||
Want some support on the challenge? [Join our Slack community](https://www.frontendmentor.io/slack) and ask questions in the **#help** channel.
|
||||
|
||||
## Where to find everything
|
||||
|
||||
Your task is to build out the project to the design file provided. We provide both Sketch and Figma versions of the design, so you can choose which tool you prefer to use. You can download the design file on the platform. **Please be sure not to share them with anyone else.** The design download comes with a `README.md` file as well to help you get set up.
|
||||
|
||||
All the required assets for this project are in the `/assets` folder. The assets are already exported for the correct screen size and optimized. Some images are reusable at multiple screen sizes. So if you don't see an image in a specific folder, it will typically be in another folder for that page.
|
||||
|
||||
The design system in the design file will give you more information about the various colors, fonts, and styles used in this project.
|
||||
|
||||
## Building your project
|
||||
|
||||
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
|
||||
|
||||
1. Separate the `starter-code` from the rest of this project and rename it to something meaningful for you. Initialize the codebase as a public repository on [GitHub](https://github.com/). Creating a repo will make it easier to share your code with the community if you need help. If you're not sure how to do this, [have a read-through of this Try Git resource](https://try.github.io/). **⚠️ IMPORTANT ⚠️: There are already a couple of `.gitignore` files in this project. Please do not remove them or change the content of the files. If you create a brand new project, please use the `.gitignore` files provided in your new codebase. This is to avoid the accidental upload of the design files to GitHub. With these premium challenges, please be sure not to share the design files in your GitHub repo. Thanks!**
|
||||
2. Configure your repository to publish your code to a web address. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, and we provide some recommendations below.
|
||||
3. Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes to create reusable styles.
|
||||
4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
|
||||
5. Write out the base styles for your project, including general content styles, such as `font-family` and `font-size`.
|
||||
6. Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
|
||||
|
||||
## Deploying your project
|
||||
|
||||
As mentioned above, there are many ways to host your project for free. Our recommend hosts are:
|
||||
|
||||
- [GitHub Pages](https://pages.github.com/)
|
||||
- [Vercel](https://vercel.com/)
|
||||
- [Netlify](https://www.netlify.com/)
|
||||
|
||||
You can host your site using one of these solutions or any of our other trusted providers. [Read more about our recommended and trusted hosts](https://medium.com/frontend-mentor/frontend-mentor-trusted-hosting-providers-bf000dfebe).
|
||||
|
||||
## Create a custom `README.md`
|
||||
|
||||
We strongly recommend overwriting this `README.md` with a custom one. We've provided a template inside the [`README-template.md`](./README-template.md) file in this starter code.
|
||||
|
||||
The template provides a guide for what to add. A custom `README` will help you explain your project and reflect on your learnings. Please feel free to edit our template as much as you like.
|
||||
|
||||
Once you've added your information to the template, delete this file and rename the `README-template.md` file to `README.md`. That will make it show up as your repository's README file.
|
||||
|
||||
## Submitting your solution
|
||||
|
||||
Submit your solution on the platform for the rest of the community to see. Follow our ["Complete guide to submitting solutions"](https://medium.com/frontend-mentor/a-complete-guide-to-submitting-solutions-on-frontend-mentor-ac6384162248) for tips on how to do this.
|
||||
|
||||
Remember, if you're looking for feedback on your solution, be sure to ask questions when submitting it. The more specific and detailed you are with your questions, the higher the chance you'll get valuable feedback from the community.
|
||||
|
||||
**⚠️ IMPORTANT ⚠️: With these premium challenges, please be sure not to upload the design files to GitHub when you're submitting to the platform and sharing it around. If you've created a brand new project, the easiest way to do that is to copy across the `.gitignore` provided in this starter project.**
|
||||
|
||||
## Sharing your solution
|
||||
|
||||
There are multiple places you can share your solution:
|
||||
|
||||
1. Share your solution page in the **#finished-projects** channel of the [Slack community](https://www.frontendmentor.io/slack).
|
||||
2. Tweet [@frontendmentor](https://twitter.com/frontendmentor) and mention **@frontendmentor**, including the repo and live URLs in the tweet. We'd love to take a look at what you've built and help share it around.
|
||||
3. Share your solution on other social channels like LinkedIn.
|
||||
4. Blog about your experience building your project. Writing about your workflow, technical choices, and talking through your code is a brilliant way to reinforce what you've learned. Great platforms to write on are [dev.to](https://dev.to/), [Hashnode](https://hashnode.com/), and [CodeNewbie](https://community.codenewbie.org/).
|
||||
|
||||
We provide templates to help you share your solution once you've submitted it on the platform. Please do edit them and include specific questions when you're looking for feedback.
|
||||
|
||||
The more specific you are with your questions the more likely it is that another member of the community will give you feedback.
|
||||
|
||||
## Got feedback for us?
|
||||
|
||||
We love receiving feedback! We're always looking to improve our challenges and our platform. So if you have anything you'd like to mention, please email hi[at]frontendmentor[dot]io.
|
||||
|
||||
**Have fun building!** 🚀
|
|
@ -0,0 +1,87 @@
|
|||
# Frontend Mentor - Pod request access landing page solution
|
||||
|
||||
This is a solution to the [Pod request access landing page challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/pod-request-access-landing-page-eyTmdkLSG). Frontend Mentor challenges help you improve your coding skills by building realistic projects.
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [Frontend Mentor - Pod request access landing page solution](#frontend-mentor---pod-request-access-landing-page-solution)
|
||||
- [Table of contents](#table-of-contents)
|
||||
- [Overview](#overview)
|
||||
- [The challenge](#the-challenge)
|
||||
- [Screenshot](#screenshot)
|
||||
- [Links](#links)
|
||||
- [My process](#my-process)
|
||||
- [Built with](#built-with)
|
||||
- [What I learned](#what-i-learned)
|
||||
- [Continued development](#continued-development)
|
||||
- [Useful resources](#useful-resources)
|
||||
- [Author](#author)
|
||||
|
||||
## Overview
|
||||
|
||||
### The challenge
|
||||
|
||||
Users should be able to:
|
||||
|
||||
- View the optimal layout depending on their device's screen size
|
||||
- See hover states for interactive elements
|
||||
- Receive an error message when the form is submitted if:
|
||||
- The `Email address` field is empty should show "Oops! Please add your email"
|
||||
- The email is not formatted correctly should show "Oops! Please check your email"
|
||||
|
||||
### Screenshot
|
||||
|
||||
Here are the screenshots for the complete project. First is the mobile version running at 375x667
|
||||
![mobile](./screenshots/mobile.png)
|
||||
|
||||
Then the tablet version 768x1024
|
||||
|
||||
![tablet](./screenshots/tablet.png)
|
||||
|
||||
Then the desktop version, first without the error state and then with the error state
|
||||
|
||||
![tablet](./screenshots/desktop.png)
|
||||
![tablet](./screenshots/desktop_with_error.png)
|
||||
|
||||
### Links
|
||||
|
||||
- Solution URL: [Github](https://github.com/tarasis/tarasis.github.io/tree/main/projects/FrontendMentor/newbie/pod-request-access-landing-page)
|
||||
- Live Site URL: [Github.io](https://tarasis.github.io/FrontendMentor/newbie/pod-request-access-landing-page)
|
||||
|
||||
## My process
|
||||
|
||||
### Built with
|
||||
|
||||
- Semantic HTML5 markup
|
||||
- CSS custom properties
|
||||
- Flexbox
|
||||
- Mobile-first workflow
|
||||
|
||||
### What I learned
|
||||
|
||||
The approach to this was more difficult than any of the Frontend Mentor challenges that I had approached so far. Basically till now I've only approached the newbie free projects (sometimes working with the figma design file and sometimes not).
|
||||
|
||||
Now I have to think about Mobile, Tablet, and Desktop; rather than just Mobile and Desktop.
|
||||
|
||||
Also interesting was working without a style guide document + figma doc. This time I just had the figma document, so I had to make more notes for myself. Interesting particularly because it wasn't clear from the design section what weights of Chivo I needed.
|
||||
|
||||
I ended up using fixed values for position between the three version with I concede is problematic.
|
||||
|
||||
I tried to use properties a lot so that I can just change the values in the `:root` for each media section. I got a little sloppy towards the end and haven't moved all the values I can into properties. I find that using properties leads to a cleaner CSS file and easier cognitive load.
|
||||
|
||||
For email validation I simply used a pattern set on the input field, and then a combination of `:invalid`, `:valid` and `:placeholder-shown` to affect whether the formatting error is show; rather than taking a JavaScript approach. This does mean I have only implemented one of the two error states. (Honestly I had missed there was a second till I was working on this readme)
|
||||
|
||||
### Continued development
|
||||
|
||||
Focus on improving positioning when dealing with three different formats.
|
||||
|
||||
### Useful resources
|
||||
|
||||
- [Codepen showing CSS pattern matching & errors](https://codepen.io/jh3y/pen/yLKMOBm) - Found this method of handling error handling for input fields.
|
||||
|
||||
## Author
|
||||
|
||||
- Blog - [Robert McGovern Blog](https://tarasis.net)
|
||||
- Portfolio - [Robert McGovern Portfolio](https://rmcg.dev)
|
||||
- Frontend Mentor - [@tarasis](https://www.frontendmentor.io/profile/tarasis)
|
||||
- Twitter - [@tarasis](https://www.twitter.com/tarasis)
|
After Width: | Height: | Size: 5.2 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="232" height="104" xmlns="http://www.w3.org/2000/svg"><path d="M4 96a4 4 0 110 8 4 4 0 010-8zm224 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm192-32a4 4 0 110 8 4 4 0 010-8zM4 64a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32-32a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zm-32 0a4 4 0 110 8 4 4 0 010-8zM4 32a4 4 0 110 8 4 4 0 010-8zM36 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zm32 0a4 4 0 110 8 4 4 0 010-8zM4 0a4 4 0 110 8 4 4 0 010-8z" fill="#54E6AF" fill-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 7.5 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="135" height="56" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M28 0c15.464 0 28 12.536 28 28S43.464 56 28 56 0 43.464 0 28 12.536 0 28 0zm-4.8 13.827c-1.535 0-2.758 1.048-2.979 2.553l-2.345 16.28c-.011.076-.04.274-.32.287-.269.011-.322-.172-.34-.25l-.758-3.34a.631.631 0 00-.004-.015c-.492-2.056-2.337-3.548-4.388-3.548-.745 0-1.35.598-1.35 1.337 0 .738.605 1.337 1.35 1.337.798 0 1.553.637 1.759 1.484l.757 3.339.004.015c.34 1.426 1.612 2.377 3.09 2.312 1.479-.065 2.66-1.123 2.873-2.576l2.345-16.281c.013-.084.038-.26.303-.26l.09.008c.182.035.203.178.213.251l3.293 22.812c.223 1.538 1.464 2.6 3.025 2.6h.052c1.585-.023 2.817-1.13 2.996-2.69l.46-4.046a1.34 1.34 0 00-1.192-1.478 1.347 1.347 0 00-1.492 1.18l-.46 4.044c-.01.085-.035.312-.353.317-.315.006-.35-.222-.362-.306l-3.293-22.812c-.218-1.502-1.441-2.553-2.974-2.554zm11.202 9.159c-1.4.036-2.486 1.023-2.643 2.4l-.572 5.004a1.34 1.34 0 001.19 1.479 1.347 1.347 0 001.493-1.178l.572-5.005a.281.281 0 01.004-.024.152.152 0 01.053-.002.228.228 0 01.005.021l1.06 6.401c.228 1.36 1.36 2.346 2.75 2.4l.119.003c1.34 0 2.486-.883 2.812-2.182l.004-.016.477-2.003c.264-1.036 1.211-1.816 2.208-1.816.745 0 1.35-.599 1.35-1.337 0-.739-.605-1.337-1.35-1.337-2.239 0-4.27 1.62-4.83 3.852l-.004.016-.477 2.003c-.016.063-.045.151-.203.145-.165-.006-.182-.103-.192-.164l-1.06-6.4c-.23-1.368-1.367-2.298-2.766-2.26z" fill="#54E6AF"/><path d="M74.97 45.806V36.31c.58.765 1.352 1.411 2.314 1.939.963.528 2.077.791 3.342.791 1.477 0 2.802-.382 3.975-1.147 1.174-.765 2.103-1.913 2.789-3.443.685-1.53 1.028-3.39 1.028-5.58v-.435c0-2.295-.37-4.22-1.107-5.777-.739-1.557-1.74-2.717-3.006-3.482-1.266-.765-2.69-1.148-4.272-1.148-2.32 0-4.219.976-5.695 2.928l-.593-2.532h-4.549v27.383h5.775zm3.798-10.961c-1.108 0-2.018-.416-2.73-1.247-.711-.83-1.067-2.011-1.067-3.541v-3.285c0-1.556.356-2.743 1.068-3.561.711-.818 1.621-1.227 2.729-1.227 1.107 0 2.017.41 2.729 1.227.712.818 1.067 2.005 1.067 3.561v3.285c0 1.53-.355 2.71-1.067 3.541s-1.622 1.247-2.73 1.247zm23.572 4.194c1.872 0 3.56-.395 5.062-1.187 1.503-.791 2.683-1.939 3.54-3.442.857-1.504 1.286-3.272 1.286-5.303v-1.148c0-2.03-.429-3.798-1.286-5.302-.857-1.504-2.037-2.651-3.54-3.443-1.503-.791-3.19-1.187-5.062-1.187h-.633c-1.872 0-3.56.396-5.062 1.187-1.503.792-2.683 1.94-3.54 3.443-.857 1.504-1.286 3.271-1.286 5.302v1.148c0 2.031.429 3.799 1.286 5.303.857 1.503 2.037 2.65 3.54 3.442 1.503.792 3.19 1.187 5.062 1.187h.633zm-.317-3.957c-1.291 0-2.34-.422-3.144-1.266-.804-.844-1.206-2.07-1.206-3.68V26.93c0-1.61.402-2.836 1.206-3.68.804-.845 1.853-1.267 3.144-1.267 1.292 0 2.34.422 3.145 1.266.804.845 1.206 2.071 1.206 3.68v3.206c0 1.61-.402 2.836-1.206 3.68-.804.844-1.853 1.266-3.145 1.266zm21.99 3.957c2.321 0 4.22-.976 5.696-2.928l.593 2.533h4.549V10.152h-5.775v10.605c-.58-.765-1.351-1.41-2.313-1.939-.963-.527-2.077-.791-3.342-.791-1.477 0-2.802.383-3.975 1.148-1.174.765-2.103 1.912-2.789 3.442-.685 1.53-1.028 3.39-1.028 5.58v.435c0 2.295.37 4.221 1.107 5.778.739 1.556 1.74 2.717 3.006 3.482 1.266.765 2.69 1.147 4.272 1.147zm1.266-3.957c-1.107 0-2.017-.415-2.729-1.246-.712-.831-1.067-2.012-1.067-3.542V27.01c0-1.557.355-2.744 1.067-3.562.712-.818 1.622-1.226 2.73-1.226 1.107 0 2.017.408 2.728 1.226.712.818 1.068 2.005 1.068 3.562v3.284c0 1.53-.356 2.71-1.068 3.542-.711.83-1.621 1.246-2.729 1.246z" fill="#FFF" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 36 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="129" height="26" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter id="a"><feColorMatrix in="SourceGraphic" values="0 0 0 0 0.352941 0 0 0 0 0.400000 0 0 0 0 0.541176 0 0 0 1.000000 0"/></filter><path id="b" d="M0 0h7.858v11.143H0z"/></defs><g transform="translate(-407 -2)" filter="url(#a)" fill="none" fill-rule="evenodd"><path d="M419.873 1.996c7.11 0 12.874 5.783 12.874 12.915 0 7.134-5.763 12.917-12.874 12.917-7.11 0-12.873-5.783-12.873-12.917 0-7.132 5.763-12.915 12.873-12.915zm.12 2.87c-5.596 0-10.132 4.551-10.132 10.165 0 5.614 4.536 10.166 10.132 10.166v-2.541c-4.197 0-7.599-3.414-7.599-7.625 0-4.21 3.402-7.623 7.599-7.623s7.598 3.413 7.598 7.623h2.533c0-5.614-4.536-10.165-10.131-10.165zm0 4.067c-3.358 0-6.08 2.73-6.08 6.098 0 3.369 2.722 6.1 6.08 6.1v-2.219a3.875 3.875 0 01-3.869-3.88 3.875 3.875 0 013.869-3.882 3.875 3.875 0 013.868 3.881h2.21c0-3.368-2.72-6.098-6.078-6.098z" fill="#E86357" fill-rule="nonzero"/><path d="M441.016 22.105V8.04h3.806c3.424 0 5.267 1.628 5.267 4.884 0 3.637-2.183 5.143-5.187 5.143h-.782v4.038h-3.104zm3.765-6.57c1.483 0 2.224-.804 2.224-2.512 0-1.748-.741-2.411-2.183-2.411h-.722v4.923h.681M454.635 22.307c-2.365 0-4.247-1.829-4.247-5.385 0-3.597 1.902-5.446 4.266-5.446 2.344 0 4.247 1.85 4.247 5.405 0 3.578-1.903 5.426-4.266 5.426m-.021-8.36c-.901 0-1.462.966-1.462 2.934 0 1.99.581 2.974 1.502 2.974.901 0 1.482-.984 1.482-2.953 0-1.99-.601-2.954-1.522-2.954M464.006 22.267c-2.784 0-4.427-1.95-4.427-5.345 0-3.316 1.683-5.406 4.587-5.406.922 0 1.622.18 2.303.443l-.441 2.532c-.48-.222-1.04-.403-1.622-.403-1.342 0-2.043 1.166-2.043 2.793 0 1.769.701 2.814 2.084 2.814.52 0 1.06-.161 1.641-.382l.441 2.432a6.654 6.654 0 01-2.523.522M470.474 17.123v4.984h-2.905V7.618h2.905v8.58l2.363-4.5h3.184l-2.824 4.982 2.905 5.427h-3.225l-2.403-4.984" fill="#231F20" fill-rule="nonzero"/><path d="M475.718 16.941c0-3.576 1.824-5.465 4.128-5.465 2.443 0 4.086 1.868 4.086 5.526v.944h-5.51c.102 1.427.883 2.13 2.164 2.13.762 0 1.663-.241 2.484-.622l.52 2.05a7.528 7.528 0 01-3.304.763c-2.544 0-4.568-1.346-4.568-5.326zm5.53-.743c-.06-1.567-.522-2.49-1.402-2.49-.903 0-1.363.963-1.423 2.49h2.825M485.491 18.99v-4.902h-1.12v-2.391h1.12V8.965h2.885v2.732h2.203v2.391h-2.203v4.482c0 .863.46 1.225 1.241 1.225.341 0 .642-.06.962-.14v2.37c-.441.14-1.062.222-1.782.222-2.203 0-3.306-.904-3.306-3.256M500.331 22.267c-3.645 0-5.93-2.33-5.93-7.174 0-4.661 2.345-7.214 5.95-7.214 1.202 0 2.204.241 2.985.543l-.481 2.854c-.62-.261-1.342-.503-2.203-.503-1.922 0-3.065 1.527-3.065 4.28 0 2.833 1.082 4.32 3.125 4.32.78 0 1.522-.2 2.163-.482l.5 2.773a7.978 7.978 0 01-3.044.603M506.698 22.247c-1.622 0-2.763-1.045-2.763-3.296 0-1.005.28-1.847.821-2.371.58-.603 1.442-.904 2.743-.904.562 0 1.122.08 1.603.181v-.583c0-.884-.401-1.366-1.482-1.366-.841 0-1.743.24-2.544.583l-.54-2.21c1.041-.422 2.263-.744 3.604-.744 2.624 0 3.806 1.124 3.806 3.516v5.205l.22 1.849h-2.523l-.36-.905c-.762.663-1.503 1.045-2.585 1.045m2.404-2.35v-2.473c-.28-.06-.601-.08-.941-.08-.601 0-.941.12-1.182.341-.22.242-.34.603-.34 1.126 0 1.044.46 1.466 1.26 1.466.402 0 .822-.16 1.203-.38M516.772 22.287a8.059 8.059 0 01-3.827-.965l.581-2.35c1.103.602 2.203.964 3.205.964.742 0 1.142-.321 1.142-.764 0-.441-.24-.643-1.642-1.205-1.943-.784-2.905-1.527-2.905-3.276 0-1.93 1.322-3.175 3.646-3.175 1.18 0 2.263.282 3.244.765l-.58 2.35c-.902-.462-1.823-.764-2.664-.764-.62 0-.962.262-.962.684 0 .402.22.602 1.603 1.166 2.184.863 2.944 1.667 2.944 3.315 0 2.17-1.522 3.255-3.785 3.255M522.218 18.99v-4.902h-1.122v-2.391h1.122V8.965h2.884v2.732h2.203v2.391h-2.203v4.482c0 .863.461 1.225 1.241 1.225.341 0 .641-.06.962-.14v2.37c-.44.14-1.062.222-1.783.222-2.203 0-3.304-.904-3.304-3.256" fill="#231F20" fill-rule="nonzero"/><g transform="translate(527.939 11.28)"><mask id="c" fill="#fff"><use xlink:href="#b"/></mask><path d="M4.072 11.006a8.059 8.059 0 01-3.826-.965l.58-2.35c1.103.602 2.204.965 3.205.965.741 0 1.143-.322 1.143-.764s-.241-.644-1.643-1.206C1.588 5.903.627 5.16.627 3.411.627 1.48 1.949.236 4.272.236c1.181 0 2.263.281 3.244.764l-.58 2.35c-.902-.462-1.823-.764-2.664-.764-.62 0-.961.263-.961.685 0 .401.22.602 1.602 1.165 2.183.863 2.943 1.667 2.943 3.315 0 2.17-1.52 3.255-3.784 3.255" fill="#231F20" fill-rule="nonzero" mask="url(#c)"/></g></g></svg>
|
After Width: | Height: | Size: 4.2 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="96" height="29" xmlns="http://www.w3.org/2000/svg"><defs><filter id="a"><feColorMatrix in="SourceGraphic" values="0 0 0 0 0.353480 0 0 0 0 0.401652 0 0 0 0 0.540147 0 0 0 1.000000 0"/></filter></defs><g filter="url(#a)" fill="none" fill-rule="evenodd"><path d="M14.425.048C6.482.048.043 6.52.043 14.503c0 7.984 6.44 14.456 14.382 14.456 7.944 0 14.382-6.472 14.382-14.456C28.807 6.52 22.369.05 14.425.05V.048zm6.595 20.849a.893.893 0 01-1.233.298c-3.376-2.073-7.627-2.542-12.633-1.393a.897.897 0 01-1.073-.678.9.9 0 01.674-1.079c5.478-1.258 10.177-.716 13.968 1.612.423.261.557.815.297 1.24zm1.76-3.936a1.118 1.118 0 01-1.542.371c-3.865-2.388-9.758-3.08-14.33-1.685a1.122 1.122 0 01-1.4-.75 1.13 1.13 0 01.748-1.406c5.223-1.593 11.716-.822 16.155 1.92a1.13 1.13 0 01.37 1.55zm.152-4.099C18.297 10.095 10.649 9.84 6.224 11.19a1.344 1.344 0 01-1.678-.9 1.354 1.354 0 01.897-1.687c5.08-1.55 13.525-1.25 18.862 1.933.64.382.85 1.212.47 1.853a1.34 1.34 0 01-1.843.473zm16.24.53c-2.484-.595-2.926-1.013-2.926-1.89 0-.83.777-1.388 1.932-1.388 1.12 0 2.23.424 3.394 1.296a.16.16 0 00.122.03.16.16 0 00.108-.066l1.213-1.718a.164.164 0 00-.031-.222c-1.386-1.118-2.946-1.661-4.77-1.661-2.68 0-4.554 1.617-4.554 3.931 0 2.482 1.616 3.36 4.409 4.039 2.375.55 2.777 1.01 2.777 1.834 0 .913-.811 1.481-2.116 1.481-1.45 0-2.633-.492-3.955-1.641a.16.16 0 00-.23.017l-1.36 1.626a.165.165 0 00.015.228c1.539 1.38 3.431 2.11 5.475 2.11 2.888 0 4.755-1.587 4.755-4.043.005-2.073-1.23-3.221-4.254-3.96l-.005-.003zm10.794-2.461c-1.252 0-2.279.496-3.127 1.511V11.3a.163.163 0 00-.161-.164h-2.224a.163.163 0 00-.162.164v12.705c0 .09.072.164.162.164h2.224c.089 0 .161-.074.161-.164v-4.01c.848.955 1.875 1.422 3.127 1.422 2.327 0 4.684-1.8 4.684-5.242.003-3.442-2.353-5.243-4.682-5.243h-.002zm2.097 5.243c0 1.752-1.073 2.976-2.612 2.976-1.52 0-2.667-1.28-2.667-2.976 0-1.697 1.147-2.976 2.667-2.976 1.513 0 2.612 1.251 2.612 2.976zm8.623-5.243c-2.997 0-5.344 2.32-5.344 5.28 0 2.93 2.332 5.224 5.308 5.224 3.007 0 5.362-2.311 5.362-5.26 0-2.94-2.34-5.244-5.326-5.244zm0 8.236c-1.594 0-2.796-1.288-2.796-2.994 0-1.714 1.161-2.957 2.76-2.957 1.604 0 2.813 1.287 2.813 2.995 0 1.713-1.168 2.956-2.777 2.956zm11.724-8.032h-2.447V8.621a.163.163 0 00-.161-.164h-2.224a.164.164 0 00-.163.164v2.514h-1.069a.163.163 0 00-.161.164v1.92c0 .09.072.165.161.165h1.069v4.97c0 2.008.994 3.026 2.957 3.026.797 0 1.458-.166 2.081-.521a.16.16 0 00.083-.142v-1.83a.163.163 0 00-.235-.145 2.795 2.795 0 01-1.306.316c-.712 0-1.032-.326-1.032-1.054v-4.62h2.447c.09 0 .162-.073.162-.163V11.3a.158.158 0 00-.16-.164h-.002zm8.525.01v-.309c0-.908.347-1.313 1.124-1.313.463 0 .836.092 1.253.232a.163.163 0 00.213-.156V7.716a.162.162 0 00-.115-.157 6.063 6.063 0 00-1.848-.267c-2.052 0-3.14 1.163-3.14 3.36v.473h-1.067a.164.164 0 00-.163.164v1.93c0 .09.073.165.163.165h1.068v7.665c0 .091.074.164.163.164h2.222a.162.162 0 00.163-.164v-7.665h2.077l3.18 7.665c-.36.804-.716.965-1.2.965-.392 0-.806-.118-1.226-.35a.176.176 0 00-.13-.013.162.162 0 00-.095.088l-.754 1.662a.164.164 0 00.07.213c.787.428 1.496.61 2.374.61 1.641 0 2.55-.769 3.348-2.837l3.858-10.018a.16.16 0 00-.018-.152.158.158 0 00-.132-.072h-2.315a.163.163 0 00-.154.11l-2.372 6.807-2.597-6.811a.162.162 0 00-.15-.106h-3.8zm-4.942-.01h-2.224a.164.164 0 00-.163.164v9.75c0 .091.074.164.163.164h2.224c.09 0 .163-.073.163-.164v-9.75a.163.163 0 00-.163-.163zm-1.1-4.44c-.88 0-1.595.717-1.595 1.603A1.6 1.6 0 0074.894 9.9c.88 0 1.593-.717 1.593-1.603s-.714-1.602-1.593-1.602zm19.479 7.575c-.88 0-1.565-.71-1.565-1.573 0-.862.694-1.58 1.574-1.58.879 0 1.564.71 1.564 1.571 0 .863-.694 1.582-1.573 1.582zm.009-2.997c-.802 0-1.409.64-1.409 1.424 0 .784.603 1.416 1.4 1.416.802 0 1.408-.64 1.408-1.425 0-.784-.603-1.415-1.4-1.415zm.346 1.577l.444.623h-.375l-.398-.572h-.342v.572h-.313v-1.651h.732c.383 0 .634.196.634.526.001.271-.155.437-.38.502h-.002zm-.264-.745h-.407v.522h.407c.203 0 .325-.1.325-.261 0-.17-.122-.26-.325-.26z" fill="#1ED760" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 45 KiB |
|
@ -0,0 +1,353 @@
|
|||
/* Sizes
|
||||
Mobile: 375x667
|
||||
Tablet: 768x1024
|
||||
Desktop: 1440x900
|
||||
*/
|
||||
|
||||
*,
|
||||
::after,
|
||||
::before {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
input {
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
:root {
|
||||
/* Line Height */
|
||||
--lh-28px: 1.75rem;
|
||||
--lh-25px: 1.5625rem;
|
||||
--lh-38px: 2.375rem;
|
||||
--lh-56px: 3.5rem;
|
||||
--lh-62px: 3.875rem;
|
||||
|
||||
/* Colors */
|
||||
--col-lime-green: hsla(157, 74%, 62%, 1);
|
||||
--col-lime-green-hover: hsla(157, 100%, 85%, 1);
|
||||
|
||||
--col-dark-blue: hsla(225, 26%, 23%, 1);
|
||||
--col-darker-blue: hsl(225, 36%, 11%);
|
||||
|
||||
--col-light-blue: hsla(225, 21%, 45%, 1);
|
||||
--col-lighter-blue: hsla(225, 40%, 83%, 1);
|
||||
|
||||
--col-white: hsla(0, 0%, 100%, 1);
|
||||
|
||||
/* Fonts */
|
||||
|
||||
--ff-chivo: "Chivo", sans-serif;
|
||||
--fs-14px: 0.875rem;
|
||||
--fs-15px: 0.9375rem;
|
||||
--fs-18px: 1.125rem;
|
||||
--fs-48px: 3rem;
|
||||
--fs-52px: 3.25rem;
|
||||
--fs-26px: 1.625rem;
|
||||
|
||||
--background-image: url(../assets/mobile/image-host.jpg);
|
||||
--background-image-opacity: 0.9;
|
||||
|
||||
--text-alignment: center;
|
||||
|
||||
--logos-height-17px: 1.0625rem;
|
||||
--logos-height-29px: 1.8125rem;
|
||||
|
||||
--border-radius: 28px;
|
||||
|
||||
--title-margin-bottom: 1rem;
|
||||
|
||||
/* Variables for Elements */
|
||||
--fs-title: var(--fs-26px);
|
||||
--lh-title: var(--lh-38px);
|
||||
--fs-blurb: var(--fs-15px);
|
||||
--lh-blurb: var(--lh-25px);
|
||||
|
||||
--logos-height: var(--logos-height-17px);
|
||||
|
||||
/* Email Waring */
|
||||
--warning-visible: visible;
|
||||
--fs-warning: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
|
||||
font-family: "Chivo", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
/* Turned off for mobile so I can get exact match */
|
||||
/* align-items: center;
|
||||
justify-content: center; */
|
||||
|
||||
background-color: var(--col-darker-blue);
|
||||
color: var(--col-lighter-blue);
|
||||
|
||||
text-align: var(--text-alignment);
|
||||
|
||||
background-image: var(--background-image);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
header {
|
||||
/* Added to get exact mobile match */
|
||||
margin-top: 3.875rem;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
main::before {
|
||||
content: " ";
|
||||
background-color: var(--col-darker-blue);
|
||||
|
||||
mix-blend-mode: normal;
|
||||
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
/* opacity: var(--background-image-opacity); */
|
||||
opacity: var(--background-image-opacity);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
padding: 0 1.5rem;
|
||||
}
|
||||
|
||||
.logo {
|
||||
order: 1;
|
||||
/* margin-bottom: 3.5625rem; */
|
||||
height: 3.5rem;
|
||||
}
|
||||
|
||||
.title {
|
||||
order: 2;
|
||||
color: var(--col-lime-green);
|
||||
|
||||
font-size: var(--fs-title);
|
||||
line-height: var(--lh-title);
|
||||
|
||||
text-transform: uppercase;
|
||||
|
||||
margin-bottom: var(--title-margin-bottom);
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.title span {
|
||||
color: var(--col-white);
|
||||
}
|
||||
.blurb {
|
||||
order: 3;
|
||||
font-size: var(--fs-blurb);
|
||||
line-height: var(--lh-blurb);
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.logos-section {
|
||||
order: 4;
|
||||
margin-bottom: 3rem;
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
height: var(--logos-height);
|
||||
}
|
||||
|
||||
.logos-section img {
|
||||
height: var(--logos-height);
|
||||
}
|
||||
|
||||
.email-form {
|
||||
order: 5;
|
||||
font-size: var(--fs-14px);
|
||||
line-height: var(--lh-28px);
|
||||
}
|
||||
|
||||
.email-form:is(:invalid):has(.email-form__field:is(:placeholder-shown)) {
|
||||
--fs-warning: 0;
|
||||
}
|
||||
.email-form:where(:invalid) {
|
||||
--fs-warning: 14;
|
||||
}
|
||||
|
||||
.email-form:is(:valid) {
|
||||
--fs-warning: 0;
|
||||
}
|
||||
|
||||
.email-form__field {
|
||||
width: 100%;
|
||||
border-radius: var(--border-radius);
|
||||
background-color: var(--col-dark-blue);
|
||||
padding: 0.5625rem 0;
|
||||
color: var(--col-lighter-blue);
|
||||
margin-bottom: 1rem;
|
||||
padding-left: 2rem;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
.email-form__field:is(:active, :focus, :not(:placeholder-shown)) {
|
||||
color: var(--col-white);
|
||||
}
|
||||
|
||||
.email-form__button-submit {
|
||||
width: 100%;
|
||||
border-radius: var(--border-radius);
|
||||
background-color: var(--col-lime-green);
|
||||
padding: 0.5625rem 0;
|
||||
color: var(--col-darker-blue);
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
.email-form__button-submit:hover,
|
||||
.email-form__button-submit:focus {
|
||||
background-color: var(--col-lime-green-hover);
|
||||
}
|
||||
|
||||
.email-warning {
|
||||
font-size: var(--fs-warning);
|
||||
color: red;
|
||||
position: relative;
|
||||
bottom: -5px;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.dots-image {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* Tablet */
|
||||
@media screen and (min-width: 760px) {
|
||||
:root {
|
||||
--background-image: url(../assets/tablet/image-host.jpg);
|
||||
--text-alignment: unset;
|
||||
--background-image-opacity: 1;
|
||||
--fs-title: var(--fs-48px);
|
||||
--lh-title: var(--lh-56px);
|
||||
--fs-blurb: var(--fs-18px);
|
||||
--lh-blurb: var(--lh-28px);
|
||||
|
||||
--logos-height: var(--logos-height-29px);
|
||||
|
||||
--title-margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
body {
|
||||
/* align-items: center; */
|
||||
justify-content: center;
|
||||
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
header {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
margin-top: 3.125rem;
|
||||
margin-left: 2.4375rem;
|
||||
}
|
||||
|
||||
main {
|
||||
padding: unset;
|
||||
width: 39.6875rem;
|
||||
height: 31.875rem;
|
||||
padding-top: 5.75rem;
|
||||
margin-left: 2.4375rem;
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 25ch;
|
||||
}
|
||||
|
||||
.blurb {
|
||||
width: 40ch;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
.logos-section {
|
||||
order: 5;
|
||||
margin-bottom: unset;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.email-form {
|
||||
order: 4;
|
||||
margin-bottom: 4rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.email-form__field {
|
||||
width: 48ch;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.email-form__button-submit {
|
||||
width: unset;
|
||||
padding: 0.5625rem 1.6875rem;
|
||||
position: relative;
|
||||
right: 10rem;
|
||||
}
|
||||
|
||||
.email-warning {
|
||||
bottom: 1.25rem;
|
||||
padding-left: 2rem;
|
||||
}
|
||||
|
||||
.dots-image {
|
||||
visibility: visible;
|
||||
position: absolute;
|
||||
|
||||
bottom: 0px;
|
||||
left: 1.875rem;
|
||||
}
|
||||
|
||||
main::before {
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
main {
|
||||
background-color: var(--col-darker-blue);
|
||||
}
|
||||
}
|
||||
|
||||
/* Desktop */
|
||||
@media screen and (min-width: 1430px) {
|
||||
:root {
|
||||
--background-image: url(../assets/desktop/image-host.jpg);
|
||||
|
||||
--fs-title: var(--fs-52px);
|
||||
--lh-title: var(--lh-62px);
|
||||
|
||||
--title-margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
body {
|
||||
background-position: center right;
|
||||
}
|
||||
|
||||
header {
|
||||
margin-top: 6.375rem;
|
||||
margin-left: 10.3125rem;
|
||||
}
|
||||
|
||||
main {
|
||||
padding-top: 5.5rem;
|
||||
margin-left: 10.3125rem;
|
||||
width: 45.25rem;
|
||||
}
|
||||
|
||||
.dots-image {
|
||||
bottom: 4.875rem;
|
||||
right: 0px;
|
||||
left: unset;
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 113 KiB |
|
@ -0,0 +1,50 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="./assets/favicon-32x32.png">
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Chivo&display=swap" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
|
||||
<title>Frontend Mentor | Pod request access landing page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header>
|
||||
<div class="logo">
|
||||
<img src="./assets/logo.svg" alt="POD Logo image" aria-hidden="true">
|
||||
</div>
|
||||
</header>
|
||||
<main>
|
||||
<h1 class="title">Publish your podcasts <span>everywhere.</span></h1>
|
||||
<p class="blurb">
|
||||
Upload your audio to Pod with a single click. We’ll then distribute your podcast to Spotify,
|
||||
Apple Podcasts, Google Podcasts, Pocket Casts and more!
|
||||
</p>
|
||||
<div class="logos-section">
|
||||
<img src="./assets/spotify.svg" alt="Spotify Logo" aria-hidden="true">
|
||||
<img src="./assets/apple-podcast.svg" alt="Apple Podcasts Logo" aria-hidden="true">
|
||||
<img src="./assets/google-podcasts.svg" alt="Google Podcasts Logo" aria-hidden="true">
|
||||
<img src="./assets/pocket-casts.svg" alt="Pocket Casts Logo" aria-hidden="true">
|
||||
</div>
|
||||
<form action="#" class="email-form">
|
||||
<label hidden aria-hidden="false" for="email">Enter your email: </label>
|
||||
<input class="email-form__field" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" placeholder="Email Address"
|
||||
type="email" name="email" id="email" required>
|
||||
<input class="email-form__button-submit" type="submit" value="Request Access">
|
||||
<p class="email-warning">Oops! Please check your email</p>
|
||||
</form>
|
||||
</main>
|
||||
<footer>
|
||||
<img class="dots-image" src="./assets/bg-pattern-dots.svg" alt="image of dots" aria-hidden="true">
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|