├── .gitattributes
├── README.md
├── design
├── desktop-design.jpg
├── desktop-preview.jpg
└── mobile-design.jpg
├── images
└── favicon-32x32.png
├── index.html
├── style-guide.md
└── style.css
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Frontend Mentor challenge: Single Price Grid Component
2 |
3 | [Single price grid component challenge](https://www.frontendmentor.io/challenges/single-price-grid-component-5ce41129d0ff452fec5abbbc)
4 |
--------------------------------------------------------------------------------
/design/desktop-design.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodercoder/fem-single-price-grid-component/ceeff8946f2e61daf99e5eb72850368fc09a02e3/design/desktop-design.jpg
--------------------------------------------------------------------------------
/design/desktop-preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodercoder/fem-single-price-grid-component/ceeff8946f2e61daf99e5eb72850368fc09a02e3/design/desktop-preview.jpg
--------------------------------------------------------------------------------
/design/mobile-design.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodercoder/fem-single-price-grid-component/ceeff8946f2e61daf99e5eb72850368fc09a02e3/design/mobile-design.jpg
--------------------------------------------------------------------------------
/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodercoder/fem-single-price-grid-component/ceeff8946f2e61daf99e5eb72850368fc09a02e3/images/favicon-32x32.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Frontend Mentor | Single Price Grid Component
12 |
13 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
31 |
32 |
Monthly Subscription
33 |
34 | $29 per month
35 |
36 |
37 | Full access for less than $1 a day
38 |
39 |
Sign Up
40 |
41 |
42 |
Why Us
43 |
44 | Tutorials by industry experts
45 | Peer & expert code review
46 | Coding exercises
47 | Access to our GitHub repos
48 | Community forum
49 | Flashcard decks
50 | New videos every week
51 |
52 |
53 |
54 |
55 |
56 |
62 |
63 |
--------------------------------------------------------------------------------
/style-guide.md:
--------------------------------------------------------------------------------
1 | # Front-end Style Guide
2 |
3 | ## Layout
4 |
5 | The designs were created to the following widths:
6 |
7 | - Mobile: 375px
8 | - Desktop: 1440px
9 |
10 | ## Colors
11 |
12 | ### Primary
13 |
14 | - Cyan: hsl(179, 62%, 43%)
15 | - Bright Yellow: hsl(71, 73%, 54%)
16 |
17 | ### Neutral
18 |
19 | - Light Gray: hsl(204, 43%, 93%)
20 | - Grayish Blue: hsl(218, 22%, 67%)
21 |
22 | ## Typography
23 |
24 | ### Body Copy
25 |
26 | - Font size: 16px
27 |
28 | ### Font
29 |
30 | - Family: [Karla](https://fonts.google.com/specimen/Karla)
31 | - Weights: 400, 700
--------------------------------------------------------------------------------
/style.css:
--------------------------------------------------------------------------------
1 | html {
2 | box-sizing: border-box;
3 | font-size: 100%;
4 | }
5 |
6 | *, *::before, *::after {
7 | box-sizing: inherit;
8 | }
9 |
10 | body {
11 | font-family: 'Karla', sans-serif;
12 | line-height: 1.3;
13 | background-color: var(--ltgray);
14 | color: var(--grayblue);
15 | padding: var(--paddingX);
16 | }
17 |
18 | :root {
19 | --white: hsl(0, 0%, 100%);
20 | --cyan: hsl(179, 62%, 40%);
21 | --ltcyan: hsl(179, 62%, 45%);
22 | --yellow: hsl(71, 73%, 54%);
23 | --dkyellow: hsl(71, 73%, 48%);
24 | --ltgray: hsl(204, 43%, 93%);
25 | --grayblue: hsl(218, 22%, 67%);
26 | --paddingX: 1.8rem;
27 | --paddingY: 1.5rem;
28 | }
29 |
30 | a {
31 | text-decoration: none;
32 | }
33 |
34 | h1, h2, h3 {
35 | font-weight: bold;
36 | margin-top: 0;
37 | line-height: 1.15;
38 | }
39 |
40 | h2 {
41 | font-size: 1.25rem;
42 | margin-bottom: 1.25rem;
43 | }
44 |
45 | h3 {
46 | font-size: 1.1rem;
47 | }
48 |
49 | p {
50 | margin-top: 0;
51 | }
52 |
53 | .price {
54 | border-radius: 0.5rem;
55 | overflow: hidden;
56 | max-width: 40rem;
57 | margin: auto;
58 | }
59 |
60 | @media only screen and (min-width: 62.5em){
61 |
62 | .price {
63 | display: grid;
64 | grid-template-columns: repeat(2, 1fr);
65 | grid-template-rows: repeat(2, auto);
66 | }
67 |
68 | .community {
69 | grid-column: 1 / 3;
70 | }
71 | }
72 |
73 | .price > * {
74 | padding: var(--paddingX) var(--paddingY);
75 | }
76 |
77 | .community {
78 | background-color: var(--white);
79 | }
80 |
81 | .community h2 {
82 | color: var(--cyan);
83 | }
84 |
85 | .community .subtitle {
86 | font-size: 1rem;
87 | color: var(--yellow);
88 | font-weight: bold;
89 | margin-bottom: 1rem;
90 | }
91 |
92 | .community p {
93 | font-size: 0.85rem;
94 | line-height: 1.75;
95 | margin-bottom: 0;
96 | }
97 |
98 | .subscription, .why {
99 | color: var(--ltgray);
100 | }
101 |
102 | .subscription {
103 | background-color: var(--cyan);
104 | }
105 |
106 | .subscription__price {
107 | display: flex;
108 | align-items: center;
109 | font-size: 2rem;
110 | font-weight: bold;
111 | margin-bottom: 0.25rem;
112 | }
113 |
114 | .subscription__price span {
115 | font-size: 1rem;
116 | margin-left: 0.8rem;
117 | font-weight: normal;
118 | opacity: 0.75;
119 | }
120 |
121 | .subscription p {
122 | font-size: 0.9rem;
123 | margin-bottom: 1.75rem;
124 | }
125 |
126 | .subscription a {
127 | display: block;
128 | background-color: var(--yellow);
129 | color: var(--white);
130 | padding: 0.75rem;
131 | text-align: center;
132 | border-radius: 0.25rem;
133 | box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
134 | transition: background-color 200ms ease;
135 | }
136 |
137 | .subscription a:hover {
138 | background-color: var(--dkyellow);
139 | }
140 |
141 | .why {
142 | background-color: var(--ltcyan);
143 | }
144 |
145 | .why ul {
146 | margin-top: 0;
147 | padding: 0;
148 | }
149 |
150 | .why ul li {
151 | list-style-type: none;
152 | font-size: 0.85rem;
153 | margin-bottom: 0.2rem;
154 | }
--------------------------------------------------------------------------------