├── .gitignore
├── .DS_Store
├── .gitattributes
├── images
├── ios.png
├── logo.png
├── android.png
├── avatar.jpg
├── feedPhoto.jpg
├── loginLogo.png
└── phoneImage.png
├── README.md
├── css
├── variables.css
├── styles.css
├── globals.css
├── footer.css
├── explore.css
├── navigation.css
├── reset.css
├── feed.css
├── edit-profile.css
├── login.css
├── mobile.css
└── profile.css
├── links.html
├── box-model.html
├── index.html
├── explore.html
├── edit-profile.html
├── profile.html
└── feed.html
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/.DS_Store
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
--------------------------------------------------------------------------------
/images/ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/ios.png
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/logo.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vietgram
2 |
3 | On this repository I'll clone Instagram front end and back end
--------------------------------------------------------------------------------
/images/android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/android.png
--------------------------------------------------------------------------------
/images/avatar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/avatar.jpg
--------------------------------------------------------------------------------
/images/feedPhoto.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/feedPhoto.jpg
--------------------------------------------------------------------------------
/images/loginLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/loginLogo.png
--------------------------------------------------------------------------------
/images/phoneImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nomadcoders/vietgram/HEAD/images/phoneImage.png
--------------------------------------------------------------------------------
/css/variables.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --background-color: #fafafa;
3 | --fd-blue: #3897f0;
4 | --link-color: #003569;
5 | }
6 |
--------------------------------------------------------------------------------
/css/styles.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600");
2 | @import "reset.css";
3 | @import "variables.css";
4 | @import "globals.css";
5 | @import "login.css";
6 | @import "footer.css";
7 | @import "navigation.css";
8 | @import "explore.css";
9 | @import "feed.css";
10 | @import "profile.css";
11 | @import "edit-profile.css";
12 | @import "mobile.css";
13 |
--------------------------------------------------------------------------------
/css/globals.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: white;
3 | background-color: var(--background-color);
4 | font-size: 14px;
5 | font-family: "Open Sans", sans-serif;
6 | }
7 |
8 | main {
9 | animation: fadeInMain 0.5s linear;
10 | }
11 |
12 | @keyframes fadeInMain {
13 | from {
14 | opacity: 0;
15 | transform: translateY(10px);
16 | }
17 | to {
18 | opacity: 1;
19 | transform: translateY(0px);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/css/footer.css:
--------------------------------------------------------------------------------
1 | .footer {
2 | display: flex;
3 | align-items: center;
4 | justify-content: space-between;
5 | width: 100%;
6 | max-width: 900px;
7 | margin: 30px auto;
8 | text-transform: uppercase;
9 | font-size: 12px;
10 | font-weight: 600;
11 | }
12 |
13 | .footer .footer__list {
14 | padding: 0;
15 | list-style-type: none;
16 | display: flex;
17 | }
18 |
19 | .footer .footer__copyright {
20 | color: hsl(0, 0%, 60%);
21 | }
22 |
23 | .footer__list .footer__list-item {
24 | margin-right: 10px;
25 | }
26 |
27 | .footer .footer__link {
28 | text-decoration: none;
29 | color: var(--link-color);
30 | }
31 |
--------------------------------------------------------------------------------
/links.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Links 4 u
8 |
9 |
10 |
21 |
22 |
--------------------------------------------------------------------------------
/box-model.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Box Model
8 |
30 |
31 |
32 |
41 |
42 |
--------------------------------------------------------------------------------
/css/explore.css:
--------------------------------------------------------------------------------
1 | #explore {
2 | display: flex;
3 | justify-content: center;
4 | align-items: flex-start;
5 | min-height: 500px;
6 | }
7 |
8 | #explore .explore__users {
9 | background-color: white;
10 | border: 1px solid #e6e6e6;
11 | border-radius: 3px;
12 | width: 100%;
13 | max-width: 600px;
14 | }
15 |
16 | .explore__users .explore__user {
17 | padding: 10px 15px;
18 | display: flex;
19 | align-items: center;
20 | justify-content: space-between;
21 | border-bottom: 1px solid #e6e6e6;
22 | }
23 |
24 | .explore__users .explore__user:last-child {
25 | border: 0;
26 | }
27 |
28 | .explore__user .explore__avatar {
29 | width: 55px;
30 | border-radius: 50%;
31 | }
32 |
33 | .explore__user .explore__user-column {
34 | display: flex;
35 | align-items: center;
36 | }
37 |
38 | .explore__user .explore__info {
39 | margin-left: 15px;
40 | }
41 |
42 | .explore__info .explore__username {
43 | display: block;
44 | font-weight: 600;
45 | margin-bottom: 5px;
46 | }
47 |
48 | .explore__info .explore__full-name {
49 | color: #999;
50 | }
51 |
52 | .explore__user-column button {
53 | background-color: var(--fd-blue);
54 | color: white;
55 | border: 0;
56 | font-weight: 600;
57 | padding: 5px 10px;
58 | font-size: 14px;
59 | border-radius: 3px;
60 | cursor: pointer;
61 | }
62 |
63 | .explore__user-column button:active,
64 | .explore__user-column button:focus {
65 | outline: none;
66 | }
67 |
68 | .explore__user-column:active {
69 | opacity: 0.9;
70 | }
71 |
--------------------------------------------------------------------------------
/css/navigation.css:
--------------------------------------------------------------------------------
1 | .navigation {
2 | height: 75px;
3 | background-color: white;
4 | border-bottom: 1px solid #e6e6e6;
5 | display: flex;
6 | align-items: center;
7 | justify-content: space-between;
8 | padding: 0 100px;
9 | margin-bottom: 60px;
10 | }
11 |
12 | .navigation .navigation__column:first-child img {
13 | height: 45px;
14 | }
15 |
16 | .navigation .navigations__links {
17 | display: flex;
18 | padding: 0;
19 | list-style-type: none;
20 | }
21 |
22 | .navigation .navigation__list-item {
23 | margin-left: 30px;
24 | padding: 0 2px;
25 | opacity: 0;
26 | animation: slideNavLink 0.5s ease-out forwards;
27 | }
28 |
29 | @keyframes slideNavLink {
30 | from {
31 | transform: translateY(-10px);
32 | }
33 | to {
34 | opacity: 1;
35 | transform: none;
36 | }
37 | }
38 |
39 | .navigation .navigation__list-item:nth-child(2) {
40 | animation-delay: 0.2s;
41 | }
42 |
43 | .navigation .navigation__list-item:last-child {
44 | animation-delay: 0.3s;
45 | }
46 |
47 | .navigation__link {
48 | color: rgba(0, 0, 0, 0.8);
49 | font-size: 18px;
50 | }
51 |
52 | .navigation__column input {
53 | padding: 5px 0;
54 | padding-left: 60px;
55 | border: 0;
56 | border: 1px solid #e6e6e6;
57 | border-radius: 3px;
58 | background: #fafafa;
59 | font-size: 16px;
60 | }
61 |
62 | .navigation__column input:focus {
63 | outline: none;
64 | border: 1px solid #a9a9a9;
65 | }
66 |
67 | .navigation__column {
68 | position: relative;
69 | }
70 |
71 | .navigation__column .fa-search {
72 | position: absolute;
73 | top: 10px;
74 | left: 10px;
75 | color: rgba(0, 0, 0, 0.5);
76 | font-size: 12px;
77 | }
78 |
--------------------------------------------------------------------------------
/css/reset.css:
--------------------------------------------------------------------------------
1 | html,
2 | body,
3 | div,
4 | span,
5 | applet,
6 | object,
7 | iframe,
8 | h1,
9 | h2,
10 | h3,
11 | h4,
12 | h5,
13 | h6,
14 | p,
15 | blockquote,
16 | pre,
17 | a,
18 | abbr,
19 | acronym,
20 | address,
21 | big,
22 | cite,
23 | code,
24 | del,
25 | dfn,
26 | em,
27 | img,
28 | ins,
29 | kbd,
30 | q,
31 | s,
32 | samp,
33 | small,
34 | strike,
35 | strong,
36 | sub,
37 | sup,
38 | tt,
39 | var,
40 | b,
41 | u,
42 | i,
43 | center,
44 | dl,
45 | dt,
46 | dd,
47 | ol,
48 | ul,
49 | li,
50 | fieldset,
51 | form,
52 | label,
53 | legend,
54 | table,
55 | caption,
56 | tbody,
57 | tfoot,
58 | thead,
59 | tr,
60 | th,
61 | td,
62 | article,
63 | aside,
64 | canvas,
65 | details,
66 | embed,
67 | figure,
68 | figcaption,
69 | footer,
70 | header,
71 | hgroup,
72 | menu,
73 | nav,
74 | output,
75 | ruby,
76 | section,
77 | summary,
78 | time,
79 | mark,
80 | audio,
81 | video {
82 | margin: 0;
83 | padding: 0;
84 | border: 0;
85 | font-size: 100%;
86 | font: inherit;
87 | vertical-align: baseline;
88 | }
89 | /* HTML5 display-role reset for older browsers */
90 | article,
91 | aside,
92 | details,
93 | figcaption,
94 | figure,
95 | footer,
96 | header,
97 | hgroup,
98 | menu,
99 | nav,
100 | section {
101 | display: block;
102 | }
103 | body {
104 | line-height: 1;
105 | }
106 | ol,
107 | ul {
108 | list-style: none;
109 | }
110 | blockquote,
111 | q {
112 | quotes: none;
113 | }
114 | blockquote:before,
115 | blockquote:after,
116 | q:before,
117 | q:after {
118 | content: "";
119 | content: none;
120 | }
121 | table {
122 | border-collapse: collapse;
123 | border-spacing: 0;
124 | }
125 |
--------------------------------------------------------------------------------
/css/feed.css:
--------------------------------------------------------------------------------
1 | #feed {
2 | display: flex;
3 | align-items: center;
4 | flex-direction: column;
5 | }
6 |
7 | #feed .photo {
8 | background-color: white;
9 | border: 1px solid #e6e6e6;
10 | border-radius: 3px;
11 | width: 100%;
12 | max-width: 600px;
13 | margin-bottom: 65px;
14 | }
15 |
16 | .photo .photo__header {
17 | padding: 15px;
18 | display: flex;
19 | align-items: center;
20 | }
21 |
22 | .photo__header .photo__avatar {
23 | width: 32px;
24 | border-radius: 50%;
25 | margin-right: 10px;
26 | }
27 |
28 | .photo .photo__user-info .photo__author {
29 | display: block;
30 | font-weight: 600;
31 | margin-bottom: 5px;
32 | }
33 |
34 | .photo > img {
35 | max-width: 100%;
36 | }
37 |
38 | .photo .photo__info {
39 | padding: 15px 20px;
40 | }
41 |
42 | .photo__actions {
43 | margin-bottom: 15px;
44 | font-size: 115%;
45 | }
46 |
47 | .photo__actions .photo__action:first-child {
48 | margin-right: 15px;
49 | }
50 |
51 | .photo__actions .photo__action {
52 | cursor: pointer;
53 | }
54 |
55 | .photo .photo__likes {
56 | font-weight: 600;
57 | margin-bottom: 10px;
58 | display: block;
59 | }
60 |
61 | .photo .photo__add-comment-container {
62 | margin-top: 15px;
63 | border-top: 1px solid #e6e6e6;
64 | padding-top: 10px;
65 | display: flex;
66 | justify-content: space-between;
67 | align-items: center;
68 | }
69 |
70 | .photo__add-comment-container textarea {
71 | width: 90%;
72 | border: 0;
73 | font-size: 14px;
74 | resize: none;
75 | height: 20px;
76 | }
77 |
78 | .photo__add-comment-container textarea:focus,
79 | .photo__add-comment-container textarea:active {
80 | outline: none;
81 | }
82 |
83 | .photo__add-comment-container i {
84 | cursor: pointer;
85 | }
86 |
87 | .photo .photo__time-ago {
88 | font-size: 10px;
89 | text-transform: uppercase;
90 | color: #999;
91 | margin-top: 10px;
92 | display: block;
93 | }
94 |
95 | .photo__comment {
96 | margin-bottom: 10px;
97 | }
98 |
99 | .photo__comments .photo__comment-author {
100 | font-weight: 600;
101 | }
102 |
--------------------------------------------------------------------------------
/css/edit-profile.css:
--------------------------------------------------------------------------------
1 | #edit-profile {
2 | display: flex;
3 | justify-content: center;
4 | }
5 |
6 | #edit-profile .edit-profile__container {
7 | background-color: white;
8 | border: 1px solid #e6e6e6;
9 | width: 100%;
10 | max-width: 800px;
11 | }
12 |
13 | #edit-profile .edit-profile__container {
14 | padding: 40px 0;
15 | }
16 |
17 | #edit-profile .edit-profile__header {
18 | display: flex;
19 | align-items: center;
20 | margin-bottom: 50px;
21 | }
22 |
23 | .edit-profile__header .edit-profile__avatar-container {
24 | width: 200px;
25 | }
26 |
27 | .edit-profile__avatar-container {
28 | display: flex;
29 | justify-content: flex-end;
30 | margin-right: 35px;
31 | }
32 |
33 | .edit-profile__avatar-container img {
34 | width: 38px;
35 | height: 38px;
36 | border-radius: 50%;
37 | }
38 | .edit-profile__header h4 {
39 | font-size: 18px;
40 | font-weight: 600;
41 | }
42 |
43 | .edit-profile__form .form__row {
44 | display: flex;
45 | }
46 |
47 | .form__row {
48 | margin-bottom: 20px;
49 | display: flex;
50 | align-items: center;
51 | }
52 |
53 | .form__row .form__label {
54 | width: 200px;
55 | display: block;
56 | text-align: right;
57 | margin-right: 35px;
58 | font-weight: 600;
59 | font-size: 16px;
60 | }
61 |
62 | .form__row label {
63 | font-size: 15px;
64 | width: 80%;
65 | }
66 |
67 | .form__row .form__input,
68 | .form__row textarea {
69 | padding: 8px;
70 | width: 255px;
71 | resize: vertical;
72 | border: 0;
73 | border: 1px solid #e6e6e6;
74 | border-radius: 3px;
75 | }
76 |
77 | .form__row input[type="checkbox"] {
78 | margin-right: 15px;
79 | }
80 |
81 | #edit-profile select {
82 | background: 0 0;
83 | border: 1px solid #efefef;
84 | border-radius: 3px;
85 | color: #262626;
86 | font-size: 16px;
87 | height: 32px;
88 | padding: 0 30px 0 10px;
89 | }
90 |
91 | #edit-profile input[type="submit"] {
92 | margin-left: 235px;
93 | border: 0;
94 | color: white;
95 | font-weight: 600;
96 | border-radius: 3px;
97 | background-color: var(--fd-blue);
98 | font-size: 14px;
99 | padding: 7px 25px;
100 | }
101 |
--------------------------------------------------------------------------------
/css/login.css:
--------------------------------------------------------------------------------
1 | #login {
2 | width: 100%;
3 | max-width: 800px;
4 | margin: 45px auto;
5 | display: flex;
6 | justify-content: space-around;
7 | }
8 |
9 | #login .login__column {
10 | width: 45%;
11 | }
12 |
13 | .login__column .login__phone {
14 | max-width: 100%;
15 | }
16 |
17 | .login__column .login__box {
18 | background-color: white;
19 | border: 1px solid #e6e6e6;
20 | }
21 |
22 | .login__column .login__box--transparent {
23 | background: none;
24 | border: 0;
25 | display: flex;
26 | flex-direction: column;
27 | align-items: center;
28 | margin-top: 35px;
29 | }
30 |
31 | .login__column .login__appstores {
32 | margin-top: 20px;
33 | }
34 |
35 | .login__appstores .login__appstore {
36 | height: 40px;
37 | }
38 |
39 | #login .login__box {
40 | padding: 30px 0;
41 | text-align: center;
42 | }
43 |
44 | #login .login__box:first-child {
45 | margin-bottom: 10px;
46 | padding-left: 40px;
47 | padding-right: 40px;
48 | }
49 |
50 | .login__column .login__logo {
51 | height: 50px;
52 | }
53 |
54 | .login__form input {
55 | display: block;
56 | width: 100%;
57 | box-sizing: border-box;
58 | padding: 7px;
59 | font-size: 14px;
60 | border: 0;
61 | border: 1px solid #e6e6e6;
62 | border-radius: 5px;
63 | background: #fafafa;
64 | }
65 |
66 | .login__form input:focus {
67 | outline: none;
68 | border: 1px solid #a9a9a9;
69 | }
70 |
71 | .login__form input:first-child {
72 | margin-bottom: 5px;
73 | }
74 |
75 | .login__form input[type="submit"] {
76 | background-color: #3f99ed;
77 | border: 0;
78 | padding: 5px;
79 | margin-top: 15px;
80 | margin-bottom: 20px;
81 | color: white;
82 | font-weight: 600;
83 | }
84 |
85 | #login .login__divider {
86 | display: block;
87 | text-transform: uppercase;
88 | font-weight: 600;
89 | color: #999;
90 | margin-bottom: 20px;
91 | position: relative;
92 | width: 100%;
93 | }
94 |
95 | #login .login__link {
96 | display: block;
97 | text-decoration: none;
98 | color: #003569;
99 | }
100 |
101 | #login .login__link--small {
102 | margin-top: 30px;
103 | }
104 |
105 | .login__box a {
106 | text-decoration: none;
107 | color: var(--fd-blue);
108 | }
109 |
110 | #login .login__divider:before {
111 | content: "";
112 | height: 1px;
113 | background-color: rgba(153, 153, 153, 0.5);
114 | width: 40%;
115 | position: absolute;
116 | left: 0;
117 | top: 10px;
118 | }
119 |
120 | #login .login__divider:after {
121 | content: "";
122 | height: 1px;
123 | background-color: rgba(153, 153, 153, 0.5);
124 | width: 40%;
125 | position: absolute;
126 | right: 0;
127 | top: 10px;
128 | }
129 |
--------------------------------------------------------------------------------
/css/mobile.css:
--------------------------------------------------------------------------------
1 | @media screen and (min-width: 375px) and (max-width: 667px) {
2 | .navigation {
3 | padding: 0 20px;
4 | margin-bottom: 0;
5 | }
6 | .navigation input,
7 | .navigation .fa-search {
8 | display: none;
9 | }
10 | #feed .photo {
11 | background-color: transparent;
12 | border: 0;
13 | margin-bottom: 20px;
14 | }
15 | #feed .photo .photo__add-comment-container {
16 | display: none;
17 | }
18 | .footer {
19 | width: 80%;
20 | }
21 | .footer,
22 | .footer .footer__list {
23 | flex-wrap: wrap;
24 | justify-content: center;
25 | }
26 | .footer__list .footer__list-item {
27 | margin-bottom: 10px;
28 | }
29 | #login .login__column {
30 | width: 100%;
31 | }
32 | #login .login__column:first-child {
33 | display: none;
34 | }
35 | #login .login__box {
36 | background-color: transparent;
37 | border: 0;
38 | }
39 | #profile {
40 | margin-top: 50px;
41 | }
42 | #profile .profile__header {
43 | flex-direction: column;
44 | align-items: center;
45 | }
46 | #profile .profile__title {
47 | flex-wrap: wrap;
48 | justify-content: center;
49 | width: 100%;
50 | }
51 | .profile__title h3 {
52 | margin: 20px 0;
53 | }
54 | .profile__title a {
55 | margin-right: auto;
56 | }
57 | .profile__stats {
58 | justify-content: space-between;
59 | }
60 | .profile__stats .profile__stat {
61 | text-align: center;
62 | margin-right: 0;
63 | }
64 | .profile__stat span {
65 | display: block;
66 | }
67 | .profile__photos .profile__photo {
68 | width: 33%;
69 | margin-bottom: 0;
70 | }
71 | .profile__photos {
72 | margin-bottom: 50px;
73 | }
74 | #explore .explore__users {
75 | background-color: transparent;
76 | border: 0;
77 | }
78 | .explore__users .explore__user {
79 | border: 0;
80 | }
81 | #edit-profile > .edit-profile__container {
82 | border: 0;
83 | }
84 | #edit-profile .form__row {
85 | flex-direction: column;
86 | }
87 | .form__row .form__label {
88 | margin: 0;
89 | text-align: center;
90 | margin-bottom: 10px;
91 | }
92 | #edit-profile input[type="submit"] {
93 | width: 120px;
94 | margin: 0;
95 | margin-top: 20px;
96 | }
97 | #edit-profile .edit-profile__container {
98 | display: flex;
99 | flex-direction: column;
100 | align-items: center;
101 | }
102 | #edit-profile .edit-profile__form {
103 | display: flex;
104 | flex-direction: column;
105 | align-items: center;
106 | }
107 | .edit-profile__header .edit-profile__avatar-container {
108 | width: 0;
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/css/profile.css:
--------------------------------------------------------------------------------
1 | #profile {
2 | display: flex;
3 | flex-direction: column;
4 | align-items: center;
5 | }
6 |
7 | #profile .profile__header {
8 | max-width: 935px;
9 | width: 100%;
10 | display: flex;
11 | margin-bottom: 50px;
12 | font-size: 110%;
13 | }
14 |
15 | .profile__header .profile__column {
16 | width: 70%;
17 | }
18 |
19 | .profile__header .profile__column:first-child {
20 | width: 30%;
21 | display: flex;
22 | align-items: center;
23 | justify-content: center;
24 | }
25 |
26 | .profile__column:first-child img {
27 | border-radius: 50%;
28 | transform-style: preserve-3d;
29 | transition: transform 0.5s linear;
30 | animation: rotateLynn 1s linear infinite;
31 | }
32 |
33 | @keyframes rotateLynn {
34 | from {
35 | transform: rotateY(0turn);
36 | }
37 | to {
38 | transform: rotateY(1turn);
39 | }
40 | }
41 |
42 | .profile__column .profile__title,
43 | .profile__column .profile__stats {
44 | display: flex;
45 | align-items: center;
46 | }
47 |
48 | .profile__column .profile__title {
49 | margin-bottom: 30px;
50 | }
51 |
52 | .profile__title .profile__username {
53 | margin-right: 25px;
54 | font-size: 32px;
55 | font-weight: 300;
56 | }
57 |
58 | .profile__title a {
59 | margin-right: 10px;
60 | text-decoration: none;
61 | color: inherit;
62 | font-weight: 600;
63 | padding: 5px 25px;
64 | border: 1px solid #e6e6e6;
65 | border-radius: 3px;
66 | transition: all 0.3s ease-in-out;
67 | }
68 |
69 | .profile__title a:hover {
70 | background-color: #3f99ed;
71 | color: white;
72 | border-color: #3f99ed;
73 | }
74 |
75 | .profile__title i {
76 | cursor: pointer;
77 | transition: transform 1s ease-in;
78 | }
79 |
80 | .profile__title i:hover {
81 | transform: rotate(2turn);
82 | }
83 |
84 | .profile__column .profile__stats {
85 | margin-bottom: 30px;
86 | }
87 |
88 | .profile__stats .profile__stat {
89 | margin-right: 40px;
90 | }
91 |
92 | .profile__stat .stat__number {
93 | font-weight: 600;
94 | }
95 |
96 | .profile__bio .profile__full-name {
97 | font-weight: 600;
98 | }
99 |
100 | .profile__bio a {
101 | color: var(--link-color);
102 | font-weight: 600;
103 | text-decoration: none;
104 | display: block;
105 | }
106 |
107 | .profile__column .profile__bio {
108 | line-height: 125%;
109 | }
110 |
111 | #profile .profile__photos {
112 | display: flex;
113 | flex-wrap: wrap;
114 | justify-content: space-between;
115 | max-width: 936px;
116 | width: 100%;
117 | }
118 |
119 | .profile__photos .profile__photo {
120 | width: 31%;
121 | margin-bottom: 35px;
122 | position: relative;
123 | }
124 |
125 | .profile__photo img {
126 | max-width: 100%;
127 | }
128 |
129 | .profile__photo .profile__photo-overlay {
130 | position: absolute;
131 | top: 0;
132 | background-color: rgba(0, 0, 0, 0.5);
133 | width: 100%;
134 | height: 100%;
135 | display: flex;
136 | justify-content: center;
137 | align-items: center;
138 | color: white;
139 | font-weight: 600;
140 | opacity: 0;
141 | transition: opacity 0.2s linear;
142 | }
143 |
144 | .profile__photo:hover .profile__photo-overlay {
145 | opacity: 1;
146 | }
147 |
148 | .profile__photo-overlay .overlay__item {
149 | font-size: 130%;
150 | display: flex;
151 | align-items: center;
152 | }
153 | .profile__photo-overlay .overlay__item:last-child {
154 | margin-left: 10px;
155 | /**/
156 | }
157 |
158 | .profile__photo-overlay .overlay__item i {
159 | font-size: 130%;
160 | margin-right: 5px;
161 | }
162 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Vietgram | Login
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |

16 |
17 |
18 |
32 |
33 |
Don't have an account? Sign up
34 |
35 |
36 |
Get the app.
37 |
38 |

39 |

40 |
41 |
42 |
43 |
44 |
65 |
66 |
--------------------------------------------------------------------------------
/explore.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Explore | Vietgram
8 |
9 |
10 |
11 |
12 |
42 |
43 |
44 | -
45 |
46 |
47 |

48 |
49 | inthetiger
50 | Lynn Park
51 |
52 |
53 |
54 |
55 |
56 |
57 | -
58 |
59 |
60 |

61 |
62 | inthetiger
63 | Lynn Park
64 |
65 |
66 |
67 |
68 |
69 |
70 | -
71 |
72 |
73 |

74 |
75 | inthetiger
76 | Lynn Park
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
106 |
107 |
--------------------------------------------------------------------------------
/edit-profile.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Edit Profile | Vietgram
9 |
10 |
11 |
12 |
13 |
14 |
44 |
45 |
88 |
89 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/profile.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Profile | Vietgram
9 |
10 |
11 |
12 |
13 |
14 |
44 |
45 |
76 |
77 |
78 |

79 |
80 |
81 |
82 | 486
83 |
84 |
85 |
86 | 344
87 |
88 |
89 |
90 |
91 |

92 |
93 |
94 |
95 | 486
96 |
97 |
98 |
99 | 344
100 |
101 |
102 |
103 |
104 |

105 |
106 |
107 |
108 | 486
109 |
110 |
111 |
112 | 344
113 |
114 |
115 |
116 |
117 |

118 |
119 |
120 |
121 | 486
122 |
123 |
124 |
125 | 344
126 |
127 |
128 |
129 |
130 |
131 |
152 |
153 |
154 |
--------------------------------------------------------------------------------
/feed.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Feed | Vietgram
9 |
10 |
11 |
12 |
13 |
14 |
45 |
46 |
47 |
54 |

55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
45 likes
65 |
79 |
2 hours ago
80 |
84 |
85 |
86 |
87 |
94 |

95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
45 likes
105 |
119 |
2 hours ago
120 |
124 |
125 |
126 |
127 |
148 |
149 |
150 |
--------------------------------------------------------------------------------