diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..74907df5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,23 @@
+# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
+# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
+
+### VisualStudioCode ###
+.vscode/
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+!.vscode/*.code-snippets
+
+# Local History for Visual Studio Code
+.history/
+
+# Built Visual Studio Code Extensions
+*.vsix
+
+### VisualStudioCode Patch ###
+# Ignore all local history of files
+.history
+.ionide
+
+# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..6b665aaa
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "liveServer.settings.port": 5501
+}
diff --git a/README.md b/README.md
index cc6a3b23..8b56466c 100644
--- a/README.md
+++ b/README.md
@@ -1,45 +1,20 @@
-[참고 내용]
+## 기획 의도
+- Spotify 멤버십 페이지를 클론코딩하기
+- flex와 grid를 사용해, css를 통한 웹 페이지 레이아웃에 대한 이해 키우기
-👀 자신이 원하는 사이트 레이아웃 클론
-원하는 사이트(페이지)를 자유롭게 선택하고 레이아웃을 클론 코딩하세요.
-평소에 도전해 보고 싶었거나 혹은 자신의 수준에 맞는 사이트(페이지)를 선택하세요.
-과제 수행 및 리뷰 기간은 별도 공지를 참고하세요!
+## 링크
+- 참고한 주소: https://www.spotify.com/kr-ko/premium/
+- 배포 주소: https://velvety-puppy-c1029b.netlify.app/
-과제 수행 및 제출 방법
+## 구성
+- header, nav, main, footer의 시맨틱 태그로 구성됨
+- style.css 파일을 통해, 공통적으로 사용되는 font-size, color, margin 등의 속성을 정의해 같은 css 속성을 태그마다 중복해서 입력하는 경우를 최소화함
-1. 현재 저장소를 로컬에 클론(Clone)합니다.
-2. 자신의 본명으로 브랜치를 생성합니다.(구분 가능하도록 본명을 꼭 파스칼케이스로 표시하세요, git branch KDT0_이름)
-3. 자신의 본명 브랜치에서 과제를 수행합니다.
-4. 과제 수행이 완료되면, 자신의 본명 브랜치를 원격 저장소에 푸시(Push)합니다.(main 브랜치에 푸시하지 않도록 꼭 주의하세요, git push origin KDT0_이름)
-5. 저장소에서 main 브랜치를 대상으로 Pull Request 생성하면, 과제 제출이 완료됩니다!(E.g, main <== KDT0_이름)
+## 회고
+- 처음부터 레이아웃에 대한 구조를 그려놓고 시작했어야 했는데, 막연히 시작하다 보니 원하는 속성이 제대로 적용되지 않아 계속 같은 작업을 반복하는 문제가 있었습니다.
+ - 이번 과제를 수행하면서, 웹 페이지를 보면서 어떤 레이아웃으로 구성되었는지 분별할 수 있는 능력을 키우게 되었습니다.
+ - 순수하게 CSS만으로 페이지를 구현할 의도로 JS를 사용하지 않았지만, 굳이 사용하지 않을 필요가 있었나 싶은 생각이 들었습니다..
-- main 혹은 다른 사람의 브랜치로 절대 병합하지 않도록 주의하세요!
-- Pull Request에서 보이는 설명을 다른 사람들이 이해하기 쉽도록 꼼꼼하게 작성하세요!
-- Pull Request에서 과제 제출 후 절대 병합(Merge)하지 않도록 주의하세요!
-- 과제 수행 및 제출 과정에서 문제가 발생한 경우, 바로 담당 멘토나 강사에서 얘기하세요!
-
-필수 요구사항
-
-- 과제에 대한 설명을 포함한 README.md 파일을 제공하세요!
-- 과제 결과와 비교할 수 있는 실제 사이트(페이지)의 주소를 명시하세요!
-- 과정에서 사용한 프로젝트 폴더/파일이 모두 포함돼야 합니다, 일부 파일만 제출하지 마세요!
-- 실제 서비스로 배포하고 접근 가능한 링크를 추가해야 합니다.
-
-선택 요구사항
-
-- < header >, < section > 등 시멘틱 태그를 최대한 활용해보세요.
-- 실제 사이트의 레거시 코드 활용보단 최신의 CSS Flex 혹은 Grid 등을 활용해보세요.
-- 부분적으로 BEM 방법론을 도입해보세요.
-- JS가 필요한 부분은 되도록 생략하되 이유를 명시해보세요.(CSS로 대체 가능한지 피드백이 있을 수 있겠죠?!)
-- JS가 필요한 부분 중 구현할 부분이 있다면 자유롭게 구현해보세요.(JS 과제가 아니니까 가볍게 구현하시길 추천해요)
-
-손쉬운 이미지 추출 방법
-
-사이트 클론에 필요한 이미지를 좀 더 쉽게 추출하기 위해서 Chrome 확장 프로그램인 Image Downloader를 사용하세요.
-
-1. 원하는 사이트 접속
-2. Image Downloader 확장 프로그램 실행
-3. 다운로드 원하는 이미지 선택
-4. 서브 폴더 이름(Save to subfolder) 명시
-5. 다운로드!
+## 비고
+- 과제 마감일까지는 동일한 웹 페이지였지만, 참고한 링크 페이지에서 현재 header 아랫 부분 배너가 변경되어있습니다...
\ No newline at end of file
diff --git a/assets/image/Spotify_Logo_CMYK_White.png b/assets/image/Spotify_Logo_CMYK_White.png
new file mode 100644
index 00000000..fce40d8c
Binary files /dev/null and b/assets/image/Spotify_Logo_CMYK_White.png differ
diff --git a/assets/image/app-store-badge.svg b/assets/image/app-store-badge.svg
new file mode 100644
index 00000000..667005c8
--- /dev/null
+++ b/assets/image/app-store-badge.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/assets/image/facebook.png b/assets/image/facebook.png
new file mode 100644
index 00000000..660d931a
Binary files /dev/null and b/assets/image/facebook.png differ
diff --git a/assets/image/google-play-store-badge.svg b/assets/image/google-play-store-badge.svg
new file mode 100644
index 00000000..94574891
--- /dev/null
+++ b/assets/image/google-play-store-badge.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/assets/image/hamburger.png b/assets/image/hamburger.png
new file mode 100644
index 00000000..36d2e675
Binary files /dev/null and b/assets/image/hamburger.png differ
diff --git a/assets/image/icons8-done.svg b/assets/image/icons8-done.svg
new file mode 100644
index 00000000..cd2a78fa
--- /dev/null
+++ b/assets/image/icons8-done.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/image/instagram.png b/assets/image/instagram.png
new file mode 100644
index 00000000..9f1103ab
Binary files /dev/null and b/assets/image/instagram.png differ
diff --git a/assets/image/register-banner-image.JPG b/assets/image/register-banner-image.JPG
new file mode 100644
index 00000000..abbef507
Binary files /dev/null and b/assets/image/register-banner-image.JPG differ
diff --git a/assets/image/twitter.png b/assets/image/twitter.png
new file mode 100644
index 00000000..e51e26d2
Binary files /dev/null and b/assets/image/twitter.png differ
diff --git a/footer.css b/footer.css
new file mode 100644
index 00000000..ff717ed3
--- /dev/null
+++ b/footer.css
@@ -0,0 +1,280 @@
+footer {
+ padding: 80px 0 20px;
+ font-size: 16px;
+ font-weight: 400;
+}
+
+@media (min-width: 992px) {
+ footer {
+ padding: 80px 0 50px;
+ }
+}
+
+.footer {
+ width: 100%;
+ margin: 0 auto;
+}
+
+@media (min-width: 768px) {
+ .footer {
+ width: 750px;
+ }
+}
+
+@media (min-width: 992px) {
+ .footer {
+ display: flex;
+ flex-wrap: wrap;
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .footer {
+ width: 1170px;
+ }
+}
+
+.footer__logo {
+ display: block;
+ box-sizing: border-box;
+ padding: 0 15px;
+}
+
+@media (min-width: 768px) {
+ .footer__logo {
+ width: 16.67%;
+ }
+}
+
+@media (min-width: 992px) {
+ .footer__logo {
+ min-height: 346px;
+ flex: 0 0 auto;
+ }
+}
+
+.footer__logo--image {
+ display: inline-block;
+ height: 27px;
+ width: 89px;
+ background-color: white;
+ filter: invert(100%);
+ margin: 0;
+}
+
+@media (min-width: 992px) {
+ .footer__logo--image {
+ height: 40px;
+ width: 132px;
+ }
+}
+
+.footer__logo--image > span {
+ width: 100%;
+ height: 100%;
+ font: 0/0 a;
+ display: inline-block;
+ border: 0;
+ text-shadow: none;
+}
+
+.footer__info {
+ display: flex;
+ flex-direction: column;
+}
+
+@media (min-width: 768px) {
+ .footer__info {
+ flex-direction: row;
+ }
+}
+
+@media (min-width: 992px) {
+ .footer__info {
+ width: 50%;
+ flex: 0 0 auto;
+ }
+}
+
+.footer__info > dl {
+ padding: 0 15px;
+ margin: 0;
+}
+
+@media (min-width: 768px) {
+ .footer__info > dl {
+ flex: 1 0;
+ }
+}
+
+.footer__info > dl > dt {
+ font-size: 12px;
+ font-weight: 900;
+ color: #919496;
+ line-height: 1.4;
+ letter-spacing: .08em;
+ text-transform: uppercase;
+ margin: 50px 0 22px;
+}
+
+@media (min-width: 992px) {
+ .footer__info > dl > dt {
+ margin: 20px 0;
+ }
+}
+
+.footer__info > dl > dd {
+ margin: 0;
+}
+
+.footer__info > dl > dd > a {
+ color: white;
+ display: inline-block;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 1.5;
+ text-decoration: none;
+ padding: 3px 0 15px;
+}
+
+.footer__info > dl > dd > a:hover {
+ color: #1ED760;
+}
+
+.footer__link {
+ margin: 120px 15px 15px;
+}
+
+@media (min-width: 992px) {
+ .footer__link {
+ margin: 0 15px 0 auto;
+ }
+}
+
+.footer__link > ul {
+ margin: 20px 0 0;
+ padding: 0;
+}
+
+.footer__link > ul > li {
+ display: inline-block;
+ margin-right: 15px;
+}
+
+.footer__link > ul > li > a {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+ width: 44px;
+ height: 44px;
+ border-radius: 50%;
+ background-color: #222326;
+}
+
+@media (min-width: 992px) {
+ .footer__link > ul > li > a {
+ width: 54px;
+ height: 54px;
+ color: white;
+ }
+}
+
+.footer__link > ul > li > a > span {
+ display: block;
+ width: 24px;
+ height: 24px;
+}
+
+.footer__link--instagram {
+ background: no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 448' fill='%23222326'%3E%3Cpath d='M0 230.126v-.793c.016 55.974.294 63.853 1.344 87.03 3.733 81.349 48.87 126.56 130.293 130.293C155.55 447.739 163.165 448 224 448H0V230.126zm229.242-189.75c55.006.014 62.368.256 85.291 1.307 60.704 2.762 89.059 31.565 91.822 91.821 1.05 22.905 1.275 30.266 1.287 85.272v10.487c-.014 55.022-.255 62.365-1.287 85.27-2.782 60.2-31.062 89.059-91.822 91.822-23.159 1.06-30.399 1.297-87.005 1.306h-7.054c-56.572-.009-63.848-.245-86.989-1.306-60.853-2.782-89.058-31.715-91.821-91.84-1.05-22.905-1.292-30.249-1.306-85.271v-8.77c.01-56.572.263-63.83 1.306-86.989 2.781-60.237 31.061-89.058 91.821-91.821 22.923-1.032 30.268-1.274 85.273-1.287h10.484zm-5.242 68.6c-63.523 0-115.024 51.501-115.024 115.024S160.477 339.043 224 339.043 339.024 287.54 339.024 224c0-63.523-51.501-115.024-115.024-115.024zm0 40.357c41.235 0 74.667 33.432 74.667 74.667 0 41.253-33.432 74.667-74.667 74.667S149.333 265.253 149.333 224c0-41.235 33.432-74.667 74.667-74.667zM343.579 77.56c-14.859 0-26.899 12.04-26.899 26.88s12.04 26.88 26.899 26.88c14.84 0 26.861-12.04 26.861-26.88s-12.021-26.88-26.861-26.88zM448 224v224H224c60.835 0 68.47-.261 92.363-1.344 81.274-3.733 126.597-48.87 130.274-130.293C447.74 292.469 448 284.835 448 224zm-1.344-92.344c-3.659-81.275-48.85-126.56-130.275-130.293C293.187.294 285.307.016 229.333 0H448v224c0-60.835-.261-68.45-1.344-92.344zM0 0h218.667c-55.973.016-63.834.294-87.011 1.344C50.306 5.077 5.096 50.214 1.363 131.637.299 154.722.019 162.62 0 217.873V0z'/%3E%3C/svg%3E"),
+ currentColor
+}
+
+.footer__link--twitter {
+ background: no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 448' fill='%23222326'%3E%3Cpath d='M448 0v448H0V0h448zM299.75 64c-22.333 0-41.375 7.875-57.125 23.625S219 122.417 219 144.75c0 6 .667 12.167 2 18.5-33-1.667-63.958-9.958-92.875-24.875S74.667 103.583 54.5 78.75c-7.333 12.5-11 26.083-11 40.75 0 13.833 3.25 26.667 9.75 38.5 6.5 11.833 15.25 21.417 26.25 28.75-12.717-.49-24.637-3.77-35.76-9.841L43 176.5v1c0 19.5 6.125 36.625 18.375 51.375s27.708 24.042 46.375 27.875a83.54 83.54 0 01-21.25 2.75c-4.667 0-9.75-.417-15.25-1.25 5.167 16.167 14.667 29.458 28.5 39.875 13.833 10.417 29.5 15.792 47 16.125-29.333 23-62.75 34.5-100.25 34.5-7.167 0-13.667-.333-19.5-1C64.5 371.917 105.833 384 151 384c28.667 0 55.583-4.542 80.75-13.625s46.667-21.25 64.5-36.5 33.208-32.792 46.125-52.625c12.917-19.833 22.542-40.542 28.875-62.125 6.333-21.583 9.5-43.208 9.5-64.875 0-4.667-.083-8.167-.25-10.5 15.833-11.5 29.333-25.417 40.5-41.75-15.5 6.667-31 10.833-46.5 12.5C392 104 403.833 89.167 410 70c-16 9.5-33.083 16-51.25 19.5-16-17-35.667-25.5-59-25.5z'/%3E%3C/svg%3E"),
+ currentColor
+}
+
+.footer__link--facebook {
+ background: no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 448' fill='%23222326'%3E%3Cpath d='M448 0v448H0V0h448zM276.877 16h-1.127c-28.833 0-51.917 8.542-69.25 25.625-17.16 16.912-25.826 40.645-25.997 71.197l-.003.928v54.5h-63.75v74h63.75V432H257V242.25h63.5l9.75-74H257V121c0-12 2.5-21 7.5-27 4.923-5.908 14.37-8.907 28.342-8.998L293.5 85h39.25V19c-13.085-1.938-31.336-2.938-54.754-2.997l-1.12-.003z'/%3E%3C/svg%3E"),
+ currentColor
+}
+
+.footer__language {
+ display: flex;
+ justify-content: flex-end;
+ margin: 0 15px;
+}
+
+@media (min-width: 992px) {
+ .footer__language {
+ width: 100%;
+ }
+}
+
+.footer__language > a {
+ font-size: 12px;
+ padding: 1em;
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ white-space: nowrap;
+ text-decoration: none;
+ color: #919496
+}
+
+.footer__link > img {
+ width: 30px;
+ height: 30px;
+ background-color: white;
+}
+
+
+.footer__law {
+ display: flex;
+}
+
+@media (min-width: 992px) {
+ .footer__law {
+ width: 100%
+ }
+}
+
+.footer__law > ul {
+ margin: 0 45px 0 0;
+ padding: 0 0 0 15px;
+}
+
+.footer__law > ul > li {
+ display: inline-block;
+ list-style: none;
+ line-height: normal;
+ letter-spacing: 0;
+ padding: 0;
+ margin-right: 24px;
+}
+
+.footer__law > ul > li > div {
+ display: flex;
+}
+
+.footer__law > ul > li > div > a {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ white-space: nowrap;
+ text-decoration: none;
+ color: #919496;
+ font-size: 12px;
+ padding: 1em;
+}
+
+.footer__law > span {
+ flex-shrink: 0;
+ color: #919496;
+ padding: 1em 0;
+ margin: 0 30px 0 auto;
+ font-size: 12px;
+}
\ No newline at end of file
diff --git a/header.css b/header.css
new file mode 100644
index 00000000..eec1e5df
--- /dev/null
+++ b/header.css
@@ -0,0 +1,141 @@
+.container__banner {
+ display: flex;
+ justify-content: center;
+ background-color: #1D75DE;
+ color: #FFFFFF;
+}
+
+.container__banner--inner_div {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ box-sizing: border-box;
+ align-items: center;
+ padding: 15px;
+}
+
+@media (min-width: 768px) {
+ .container__banner--inner_div {
+ width: 750px;
+ }
+}
+
+@media (min-width: 992px) {
+ .container__banner--inner_div {
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container__banner--inner_div {
+ width: 1170px;
+ }
+}
+
+.container__banner--name {
+ text-decoration: underline;
+}
+
+.container__banner--close {
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ padding: 0;
+}
+
+header {
+ position: relative;
+ top: 0;
+ right: 0;
+ left: 0;
+ line-height: 1.5;
+ min-height: 54px;
+ background-color: black;
+}
+
+.header__inner_container {
+ display: flex;
+ justify-content: space-between;
+ box-sizing: border-box;
+ margin: 0 auto;
+ padding: 0 15px;
+ max-width: 750px;
+ height: 54px;
+}
+
+@media (min-width: 992px) {
+ .header__inner_container {
+ max-width: 970px;
+ height: 80px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .header__inner_container {
+ max-width: 1170px;
+ }
+}
+
+.header__mobile_menu {
+ display: flex;
+ position: relative;
+}
+
+.header__mobile_menu > button {
+ border: none;
+ padding: 0 0 1px 9px;
+ display: inline-block;
+ position: relative;
+ z-index: 2;
+}
+
+.header__mobile_menu > button > span {
+ display: block;
+ height: 3px;
+ width: 22px;
+ transition: transform .2s;
+ border-radius: 1px;
+ background-color: white;
+}
+
+.header__mobile_menu > button > span:nth-child(n+2) {
+ margin-top: 4px;
+}
+
+@media (min-width: 992px) {
+ .header__mobile_menu {
+ display: none;
+ }
+}
+
+@media (max-width: 992px) {
+ nav {
+ display: none;
+ }
+}
+
+.header__logo {
+ margin-top: 13px;
+}
+
+@media (min-width: 992px) {
+ .header__logo {
+ margin-top: 20px;
+ }
+}
+
+.header__logo > a > img {
+ height: 27px;
+ width: 89px;
+}
+
+@media (min-width: 992px) {
+ .header__logo > a > img {
+ height: 40px;
+ width: 132px;
+ }
+}
+
+.header__image {
+ position: relative;
+}
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..65e43b71
--- /dev/null
+++ b/index.html
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+ Premium 멤버십 - Spotify (KR)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Spotify Premium 멤버가 되어보세요. 1개월 무료입니다.
+
+
+
매월 최소 10,900원입니다(부가세 별도). 언제든 해지 가능합니다.
+
+
+
+
이후에는 월정액 요금이 적용됩니다. 개인 요금제에만 적용되며, 아직 Premium에 가입하지 않았던 분들을 위한 것 입니다. 약관 이 적용됩니다.
+
+
+
+
+
+
+
+
+
+
+
+
앱을 다운로드하세요
+
+
+
1대의 모바일 기기에서 7일 동안 무료로 Spotify Premium 멤버십을 이용해보세요. 결제 세부 정보는 필요하지 않습니다.
+
+
+
+
+
+
+
약관 이 적용됩니다. Premium을 이미 이용해 보셨거나 다른 기기로 이용하시려는 경우 이 프로모션을 이용할 수 없습니다.
+
+
7일 후에도 계속 Spotify 서비스를 이용하려면 Premium을 구독해야 합니다.
+
+
+
+
+
+
+
+
+
+
Spotify를 이용해야 하는 이유
+
+
+
+
+
+
+
새로운 음악 발견하기
+
8천만 개가 넘는 트랙을 즐겨보세요.
+
+
+
+
+
+
나만의 맞춤 플레이리스트
+
음악 취향에 맞춰 만들었습니다.
+
+
+
+
+
+
오프라인에서 감상
+
내 기기에 노래 다운로드.
+
+
+
+
+
+
여러 기기에서 스트리밍
+
모바일, PC, 태블릿에서 음악을 들어보세요.
+
+
+
+
+
+
+
+
+
요금제 선택하기
+
휴대폰, 스피커 및 기타 기기에서 제한 없이 마음껏 들으세요.
+
+
+
+
+
개인
+
체험 기간 이후 매월 10,900원 정기결제(부가세 별도).
+
계정 1개
+
+
+
+
+
+ 무광고로 음악 감상하기
+
+
+
+ 다운로드하여 오프라인에서 감상
+
+
+
+ 나만의 맞춤 플레이리스트
+
+
+
+ 8천만 곡 감상 가능
+
+
+
+ 여러 디바이스에서 감상
+
+
+
+
+
+
+
체험 기간 이후 매월 정기결제되고 이용 약관 이 적용됩니다.
+ Premium을 이미 이용해 봤다면 참여할 수 없습니다.
+
+
+
+
듀오
+
매월 16,350원 정기결제(부가세 별도).
+
계정 2개
+
+
+
+
+
+
+ Premium 별도 계정 2개
+
+
+
+ 무광고로 음악 감상하기
+
+
+
+ 다운로드하여 오프라인에서 감상
+
+
+
+ 나만의 맞춤 플레이리스트
+
+
+
+ 8천만 곡 감상 가능
+
+
+
+ 여러 디바이스에서 감상
+
+
+
+
+
이용 약관 이 적용됩니다. 아직 Premium 구독을 해본 적이 없는
+ 사용자만 참여할 수 있습니다. 같은 주소지에 거주하는 두 사람을 위한 서비스입니다.
+
+
+
+
베이직
+
매월 7,900원(부가세 별도)
+
계정 1개
+
+
+
+
+
+ 무광고로 음악 감상하기
+
+
+
+ 나만의 맞춤 플레이리스트
+
+
+
+ 8천만 곡 감상 가능
+
+
+
+ 여러 디바이스에서 감상
+
+
+
+
+
+
체험 기간 이후 매월 정기결제되고 이용 약관 이 적용됩니다.
+ Premium을 이미 이용해 봤다면 참여할 수 없습니다.
+
+
+
+
+
+
+
+
궁금한 점이 있으신가요?
+ 답변을 드리겠습니다.
+
+
+
+
+
+ Spotify Premium이란 무엇인가요?
+
+
+ Spotify Premium은 유료 멤버십 서비스입니다. 대한민국에서는 베이직, 개인 및 듀오 요금제로 Spotify Premium을 사용할 수 있습니다.
+
+
+
+
+ Spotify Premium을 무료로 이용해볼 수 있나요?
+
+
+ 예. 아직 Premium을 이용해 보신 적이 없다면 1개의 모바일 폰에서 7일 동안 무료로 Spotify Premium을 이용하실 수 있습니다. 결제 세부 정보는 필요하지 않습니다. 7일 무료 체험 기간 이후에 개인 또는 듀오 요금제를 구독하면 1개월 동안 무료로 Premium 멤버십을 이용하실 수 있습니다.
+
+
+
+
+ 7일간 무료로 Spotify Premium을 이용하려면 어떻게 해야 하나요?
+
+
+ Spotify Premium에 가입한 다음 모바일 폰의 Spotify 앱을 통해서 7일간 무료로 체험해 보실 수 있습니다. 이 기간에는 모바일 폰 이외의 다른 기기에 이 혜택이 제공되지 않습니다.
+
+
+
+
+ 내 프로모션 기간이 종료되기 전에 Spotify Premium을 해지할 수 있나요?
+
+
+ 예. 계정 페이지에서 언제든 해지 가능합니다.
+
+
+
+
+ Spotify에서 곡을 찾으려면 어떻게 해야 하나요?
+
+
+ Spotify에서는 원하는 곡을 검색할 수 있는 음악 검색 기능을 쉽게 사용할 수 있습니다. iOS 또는 Android 앱에서도 노래가사검색이 지원됩니다.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main.css b/main.css
new file mode 100644
index 00000000..302035b3
--- /dev/null
+++ b/main.css
@@ -0,0 +1,806 @@
+.section__register--banner {
+ background-color: #ffcdd2;
+}
+
+.section__register--banner article{
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ height: auto;
+ margin: 0px auto;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-left: 15px;
+ padding-right: 15px;
+ min-height: 0px;
+ max-width: 100%;
+}
+
+@media (min-width: 768px) {
+ .section__register--banner article {
+ width: 750px;
+ }
+}
+
+@media (min-width: 992px) {
+ .section__register--banner article {
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__register--banner article {
+ width: 1170px;
+ }
+}
+
+.section__register--inner_container {
+ display: flex;
+ flex-grow: 1;
+ align-items: center;
+ flex-direction: column;
+}
+
+@media (min-width: 1200px) {
+ .section__register--inner_container {
+ flex-direction: row;
+ }
+}
+
+.section__register--text {
+ padding-top: 48px;
+ padding-bottom: 24px;
+ width: 100%;
+}
+
+@media (min-width: 768px) {
+ .section__register--text {
+ padding-bottom: 24px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__register--text {
+ margin-right: 32px;
+ text-align: left;
+ padding-top: 72px;
+ padding-bottom: 40px;
+ }
+}
+
+.section__register--text > div:nth-child(1) > h1 {
+ display: inline-block;
+ font-size: 24px;
+ box-sizing: border-box;
+ margin: 0px;
+ padding: 0px;
+ max-width: 100%;
+}
+
+@media (min-width: 480px) {
+ .section__register--text > div:nth-child(1) > h1 {
+ font-size: 28px;
+ }
+}
+
+@media (min-width: 768px) {
+ .section__register--text > div:nth-child(1) > h1 {
+ font-size: 40px;
+ }
+}
+
+@media (min-width: 992px) {
+ .section__register--text > div:nth-child(1) > h1 {
+ width: auto;
+ }
+}
+
+.section__register--text > div:nth-child(2) > h2 {
+ box-sizing: border-box;
+ margin-block: 0px;
+ display: inline-block;
+ width: 100%;
+ max-width: 100%;
+ font-size: 18px;
+ padding: 0px;
+ margin: 15px 0px 0px;
+ line-height: 1.5;
+}
+
+@media (min-width: 480px) {
+ .section__register--text > div:nth-child(2) > h2 {
+ width: auto;
+ margin: 30px 0px;
+ }
+}
+
+@media (min-width: 768px) {
+ .section__register--text > div:nth-child(2) > h2 {
+ font-size: 24px;
+ margin-bottom: 0px;
+ }
+}
+
+.section__register--button {
+ display: block;
+}
+
+@media (min-width: 768px) {
+ .section__register--button {
+ margin: 35px 0px 0px;
+ }
+}
+
+@media (min-width: 768px) {
+ .section__register--button > div {
+ display: inline-block;
+ }
+}
+
+.section__register--button > div:first-child {
+ margin-bottom: 10px;
+}
+
+@media (min-width: 768px) {
+ .section__register--button > div:first-child {
+ margin-right: 8px;
+ margin-bottom: 0px;
+ }
+}
+
+.section__register--button > div:last-child > button {
+ background-color: transparent;
+ border: 1px solid;
+}
+
+.section__register--button > div > button {
+ width: 100%;
+ box-sizing: border-box;
+ font-size: 14px;
+ line-height: 20px;
+ border: 0px;
+ border-radius: 500px;
+ padding: 14px 32px;
+}
+
+.section__register--text > div:last-child {
+ margin-top: 40px;
+ width: 100%;
+}
+
+.section__register--text > div:last-child > p {
+ box-sizing: border-box;
+ margin-block: 0px;
+ display: inline-block;
+}
+
+@media (min-width: 992px) {
+ .section__register--text > div:last-child > p {
+ max-width: 630px;
+ }
+}
+
+.section__register--image {
+ width: 100%;
+ height: 100%;
+ max-width: 320px;
+ padding-bottom: 40px;
+}
+
+@media (min-width: 992px) {
+ .section__register--image {
+ max-width: 400px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__register--image {
+ padding-bottom: 0px;
+ }
+}
+
+.section__register--image > div {
+ background-image: url("https://i.scdn.co/image/ab678e040000ed3a15b8bd60628173a13eb8d7ae");
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ display: inline-block;
+ width: 100%;
+ padding-top: 100%;
+}
+
+.section__download--banner article {
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ margin: 0px auto;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ height: auto;
+ min-height: 480px;
+}
+
+@media (min-width: 768px) {
+ .section__download--banner article {
+ width: 750px;
+ padding-left: 15px;
+ padding-right: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .section__download--banner article {
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__download--banner article {
+ width: 1170px;
+ }
+}
+
+.section__download--banner article > div {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ flex-grow: 1;
+}
+
+@media (min-width: 1200px) {
+ .section__download--banner article > div {
+ flex-direction: row;
+ }
+}
+
+.section__download--text {
+ padding-top: 48px;
+ padding-bottom: 48px;
+ width: 100%;
+ text-align: center;
+}
+
+@media (min-width: 768px) {
+ .section__download--text {
+ padding-bottom: 72px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__download--text {
+ padding-top: 72px;
+ padding-bottom: 72px;
+ }
+}
+
+.section__download--text > div:nth-child(1) > h1 {
+ font-size: 24px;
+ display: inline-block;
+ width: auto;
+ max-width: 100%;
+ margin: 0px;
+ padding: 0px;
+ font-weight: 900;
+}
+
+@media (min-width: 480px) {
+ .section__download--text > div:nth-child(1) > h1 {
+ font-size: 28px;
+ }
+}
+
+@media (min-width: 768px) {
+ .section__download--text > div:nth-child(1) > h1 {
+ font-size: 40px;
+ }
+}
+
+.section__download--text > div:nth-child(2) > h2 {
+ font-size: 18px;
+ display: inline-block;
+ width: 100%;
+ max-width: 100%;
+ margin: 15px 0px 0px;
+ padding: 0px;
+}
+
+@media (min-width: 480px) {
+ .section__download--text > div:nth-child(2) > h2 {
+ width: auto;
+ margin: 30px 0px;
+ }
+}
+
+@media (min-width: 768px) {
+ .section__download--text > div:nth-child(2) > h2 {
+ font-size: 24px;
+ margin-bottom: 0px
+ }
+}
+
+.section__download--image {
+ display: block;
+ margin: 20px 0px;
+}
+
+@media (min-width: 768px) {
+ .section__download--image {
+ margin: 35px 0px 0px;
+ }
+}
+
+.section__download--text > div:last-child {
+ margin-top: 40px;
+ width: 100%;
+}
+
+.section__download--text > div:last-child > p {
+ display: inline-block;
+}
+
+@media (min-width: 992px) {
+ .section__download--text > div:last-child > p {
+ max-width: 630px;
+ }
+}
+
+.section__reason--banner {
+ margin: 0px auto;
+ max-width: 100%;
+ box-sizing: border-box;
+ padding: 35px 15px;
+}
+
+@media (min-width: 768px) {
+ .section__reason--banner {
+ width: 750px;
+ padding: 75px 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .section__reason--banner {
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__reason--banner {
+ width: 1170px;
+ }
+}
+
+.section__reason--text {
+ text-align: center;
+ font-size: 24px;
+ font-weight: 900;
+}
+
+@media (min-width: 768px) {
+ .section__reason--text {
+ margin-bottom: 72px;
+ }
+ .section__reason--text > div > h1 {
+ font-size: 28px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__reason--text>div>h1 {
+ font-size: 40px;
+ }
+}
+
+.section__reason--list {
+ padding: 0px;
+ margin: 0px;
+ list-style: none;
+}
+
+@media (min-width: 768px) {
+ .section__reason--list {
+ display: flex;
+ flex-wrap: wrap;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__reason--list {
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ }
+}
+
+.section__reason--list > li {
+ display: flex;
+ margin-bottom: 20px;
+}
+
+@media (min-width: 768px) {
+ .section__reason--list > li {
+ flex-grow: 1;
+ width: 50%;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__reason--list > li {
+ display: block;
+ width: 270px
+ }
+}
+
+.section__reason--list > li > div:first-child {
+ background-position: center top;
+ margin-right: 20px;
+ flex-grow: 1;
+ width: 142px;
+ height: 142px;
+}
+
+@media (min-width: 1200px) {
+ .section__reason--list > li > div:first-child {
+ display: block;
+ margin: 0px auto 40px;
+ }
+}
+
+.section__reason--inner_img {
+ display: inline-block;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center center;
+}
+
+.section__reason--inner_img.first {
+ background-image: url("https://i.scdn.co/image/ab671c3d0000f430cd6c528745e510c5be63a012");
+}
+
+.section__reason--inner_img.second {
+ background-image: url("https://i.scdn.co/image/ab671c3d0000f4306998d3ffd58aad6da6afdf67");
+}
+
+.section__reason--inner_img.third {
+ background-image: url("https://i.scdn.co/image/ab671c3d0000f43009302fbaf6259b4c117c704f");
+}
+
+.section__reason--inner_img.fourth {
+ background-image: url("https://i.scdn.co/image/ab671c3d0000f4304884c3f94083925da17092d4");
+}
+
+.section__reason--inner_text {
+ display: inline-block;
+ width: 100%;
+ flex-grow: 1;
+ margin: 16px 0px;
+}
+
+@media (min-width: 1200px) {
+ .section__reason--inner_text {
+ display: block;
+ text-align: center;
+ }
+}
+
+section:nth-child(n + 4) {
+ background-color: #f8f8f8;
+}
+
+.section__price--choice {
+ overflow-wrap: break-word;
+}
+
+.section__price--choice article {
+ max-width: 100%;
+ box-sizing: border-box;
+ padding: 35px 15px;
+ margin: 0 auto;
+}
+
+@media (min-width: 768px) {
+ .section__price--choice article {
+ width: 750px;
+ padding: 75px 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .section__price--choice article {
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__price--choice article {
+ width: 1170px;
+ }
+}
+
+.section__price--text > h1 {
+ text-align: center;
+ margin: 0px;
+ padding: 0px;
+ font-size: 32px;
+}
+
+@media (min-width: 1200px) {
+ .section__price--text > h1 {
+ font-size: 40px;
+ }
+}
+
+.section__price--text > p {
+ text-align: center;
+ margin: 10px 0px;
+ padding: 0px;
+}
+
+.section__price--list {
+ margin: 50px 0px 26px;
+}
+
+@media (min-width: 1200px) {
+ .section__price--list {
+ display: grid;
+ grid-template-rows: repeat(4, auto);
+ grid-template-columns: repeat(3, 1fr);
+ grid-auto-flow: column;
+ justify-content: center;
+ }
+}
+
+.section__price--list > #child {
+ background-color: white;
+ margin: 0 auto;
+ max-width: 400px;
+ width: auto;
+ padding: 0 20px;
+
+}
+
+@media (min-width: 1200px) {
+ .section__price--list > #child {
+ margin: 0px 16px 0px 0px;
+ padding: 0px 16px;
+ }
+}
+
+.section__price--name {
+ position: relative;
+ border-radius: 10px 10px 0px 0px;
+ padding-top: 20px !important;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ box-shadow: rgb(255, 255, 255) 0px 8px 0px 0px,
+ rgba(0, 0, 0, 0.3) 0px 0px 8px;
+}
+
+@media (min-width: 1200px) {
+ .section__price--name {
+ grid-row: 1/auto;
+ padding-top: 16px !important;
+ }
+}
+
+.section__price--name > ul {
+ padding: 0px;
+ margin: 0px;
+}
+
+.section__price--name > ul > li {
+ border-radius: 4px;
+ font-size: 14px;
+ padding: 4px 8px;
+ display: inline-block;
+ font-weight: 900;
+ margin: 0px 4px 10px 0px;
+ margin-block: 0px 10px;
+ color: white;
+ background-color: #2D77D0;
+}
+
+.section__price--name > h2 {
+ box-sizing: border-box;
+ color: black;
+ font-weight: 900;
+ margin: 0px 0px 5px;
+ padding: 0px;
+}
+
+.section__price--name > p {
+ display: block;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 22px;
+ margin: 0px 0px 2px;
+}
+
+.section__price--name > p:last-of-type{
+ margin-bottom: 20px;
+}
+
+.section__price--name > hr {
+ align-self: stretch;
+ border-color: rgb(204, 204, 204);
+ margin: auto 0px 0px;
+}
+
+.section__price--ul {
+ padding-top: 32px !important;
+ padding-bottom: 16px !important;
+ list-style: none;
+ margin-top: 0px;
+ box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 8px;
+}
+
+@media (min-width: 1200px) {
+ .section__price--ul {
+ grid-row: 2/auto;
+ padding-top: 20px !important;
+ }
+}
+
+.section__price--ul > li {
+ display: flex;
+ margin-bottom: 5px;
+}
+
+.section__price--inner_div {
+ display: inline-block;
+ color: black;
+ padding-right: 10px;
+}
+
+.section__price--ul > li > p {
+ line-height: 22px;
+ list-style: none;
+ margin: 0px;
+ padding: 0px;
+}
+
+.section__price--button {
+ box-shadow: rgb(255, 255, 255) 0px -9px 0px 0px,
+ rgba(0, 0, 0, 0.3) 0px 0px 8px;
+ text-align: center;
+ padding-bottom: 14px !important;
+}
+
+@media (min-width: 1200px) {
+ .section__price--button {
+ grid-row: 3/auto;
+ padding-bottom: 0px;
+ }
+}
+
+.section__price--button > a > button {
+ box-sizing: border-box;
+ font-size: 14px;
+ line-height: 20px;
+ font-weight: 700;
+ display: inline-block;
+ inline-size: 100%;
+ padding: 14px 32px;
+ border: 0px;
+ border-radius: 500px;
+ cursor: pointer;
+
+}
+
+.section__price--small-text {
+ border-radius: 0px 0px 10px 10px;
+ box-shadow: rgb(255, 255, 255) 0px -9px 0px 0px,
+ rgba(0, 0, 0, 0.3) 0px 0px 8px;
+ padding-top: 4px !important;
+ padding-bottom: 20px !important;
+ margin-bottom: 16px !important;
+}
+
+@media (min-width: 1200px) {
+ .section__price--small-text {
+ grid-row: 4/auto;
+ padding-top: 4px !important;
+ padding-bottom: 16px !important;
+ }
+}
+
+.section__qna {
+ margin: 0px auto;
+ max-width: 100%;
+ box-sizing: border-box;
+ padding: 35px 15px;
+}
+
+@media (min-width: 768px) {
+ .section__qna {
+ width: 750px;
+ padding: 75px 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .section__qna {
+ width: 970px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .section__qna{
+ width: 1170px;
+ }
+}
+
+.section__qna--text {
+ text-align: center;
+ line-height: 1;
+}
+
+@media (min-width: 768px) {
+ .section__qna--text {
+ margin-bottom: 72px;
+ width: auto;
+ }
+}
+
+.section__qna--text > h1 {
+ box-sizing: border-box;
+ padding: 0px;
+ margin: 0;
+}
+
+@media (min-width: 768px) {
+ .section__qna--text > h1 {
+ width: auto;
+ }
+}
+
+@media (min-width: 768px) {
+ .section__qna--text > h2 {
+ font-size: 24px;
+ line-height: 30px;
+ margin-top: 15px
+ }
+}
+
+.section__qna--list {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ background-color: white;
+}
+
+.section__qna--list > li {
+ border-bottom: 3px solid #F8F8F8;
+}
+
+.section__qna--summary {
+ cursor: pointer;
+ font-size: 18px;
+ font-weight: 900;
+ padding: 26px 28px;
+ margin-top: 2px;
+ position: relative;
+ list-style: none;
+ outline: none;
+}
+
+.section__qna--summary > div {
+ display: inline-block;
+ vertical-align: middle;
+ padding-right: 10px;
+ width: calc(100% - 40px);
+ box-sizing: border-box;
+}
+
+.section__qna--summary > svg {
+ transform: rotate(180deg);
+ vertical-align: middle;
+ width: 24px;
+ height: 24px;
+}
+
+.section__qna--summary + p {
+ padding: 15px 32px 32px;
+ margin: 0px;
+ display: none;
+}
\ No newline at end of file
diff --git a/nav.css b/nav.css
new file mode 100644
index 00000000..1f5b8aca
--- /dev/null
+++ b/nav.css
@@ -0,0 +1,114 @@
+/* .nav {
+ align-items: center;
+} */
+
+.header__mobile_nav {
+ display: none;
+}
+
+@media (min-width: 992px) {
+ .header__inner_nav {
+ display: inline-block;
+ }
+}
+
+.header__inner_nav--link {
+ display: inline;
+ margin: 0;
+ padding: 0;
+}
+
+@media (min-width: 992px) {
+ .header__inner_nav--link {
+ display: inline-flex;
+ list-style: none;
+ }
+}
+
+.header__inner_nav--link>li {
+ display: inline-block;
+ line-height: inherit;
+ letter-spacing: 0;
+}
+
+.header__inner_nav--link>li>a {
+ text-decoration: none;
+ font-weight: 700;
+ color: white;
+ padding: 28px 17px;
+ display: block;
+}
+
+.header__inner_nav--link>li:nth-last-child() > a {
+ padding-right: 0;
+}
+
+.header__inner_nav--link>li>a:hover {
+ color: #1ED760;
+}
+
+.header__mobile_nav {
+ display: none;
+ flex-direction: column;
+ justify-content: space-between;
+ width: 447px;
+ max-width: 100vw;
+ height: 100vh;
+ box-sizing: border-box;
+ position: fixed;
+ top: 0;
+ right: 0;
+ margin: 0;
+ padding: 38px;
+ border-width: 0;
+ background-color: black;
+}
+
+.header__mobile_nav > ul{
+ margin: 0;
+ padding: 0;
+ display: inline;
+ list-style: none;
+}
+
+.header__mobile_nav > ul > li {
+ font-size: 16px;
+ line-height: inherit;
+ display: inline-block;
+}
+
+@media (max-width: 991px) {
+ .header__mobile_nav > ul > li {
+ display: block;
+ margin: 0;
+ }
+}
+
+.header__mobile_nav>ul>li>a {
+ padding: 28px 17px;
+ display: block;
+ line-height: 1;
+ font-size: 36px;
+ text-decoration: none;
+ color: white;
+ font-weight: 700;
+}
+
+.header__mobile_nav>ul>li:nth-child(n+4) > a {
+ padding: 0 0 25px;
+ display: block;
+ line-height: 1;
+ font-size: 28px;
+ font-weight: 400;
+}
+
+.header__mobile_nav > ul > li > a:hover {
+ color: #1ED760;
+}
+
+@media (max-width: 991px) {
+ .header__mobile_nav > ul > li > a {
+ cursor: pointer;
+ padding: 0 0 25px;
+ }
+}
\ No newline at end of file
diff --git a/script.js b/script.js
new file mode 100644
index 00000000..9975f569
--- /dev/null
+++ b/script.js
@@ -0,0 +1,38 @@
+let head_banner = document.getElementsByClassName(
+ "container__banner--close white-text"
+)[0];
+
+head_banner.addEventListener("click", function () {
+ let parentNode = head_banner.parentNode.parentNode;
+ parentNode.classList.add("hidden");
+});
+
+const mobile_menu = function () {
+ let header_mobile = document.getElementsByClassName("header__mobile_menu")[0];
+ header_mobile.addEventListener("click", function () {
+ header_mobile.classList.toggle("active");
+ let childElement = header_mobile.lastElementChild;
+ if (
+ childElement.style.display === "none" ||
+ childElement.style.display === ""
+ ) {
+ childElement.style.display = "flex";
+ } else {
+ childElement.style.display = "none";
+ }
+ console.log(childElement);
+ });
+};
+
+let qna_toggle = document.querySelectorAll(".section__qna--toggle");
+qna_toggle.forEach((toggle) => {
+ toggle.addEventListener("click", () => {
+ toggle.classList.toggle("active");
+ let qna_text = toggle.nextElementSibling;
+ if (toggle.classList.contains("active")) {
+ qna_text.style.display = "block";
+ } else {
+ qna_text.style.display = "none";
+ }
+ });
+});
diff --git a/style.css b/style.css
new file mode 100644
index 00000000..014e0e68
--- /dev/null
+++ b/style.css
@@ -0,0 +1,82 @@
+body {
+ margin: 0;
+}
+
+.mb0 {
+ margin-bottom: 0;
+}
+
+.mb15 {
+ margin-bottom: 15px;
+}
+
+.xsmall-text {
+ font-size: 10px;
+}
+
+.small-text {
+ font-size: 12px;
+}
+
+.weight400 {
+ font-weight: 400;
+}
+
+.weight700 {
+ font-weight: 700;
+}
+
+.fs16 {
+ font-size: 16px;
+}
+
+.fs18 {
+ font-size: 18px;
+}
+
+.fs20 {
+ font-size: 20px;
+}
+
+.fs24 {
+ font-size: 24px;
+}
+
+.fs40 {
+ font-size: 40px;
+}
+
+.thick {
+ font-weight: bold;
+}
+
+.black {
+ background-color: black;
+}
+
+.white {
+ background-color: white;
+}
+
+.transparent {
+ background-color: transparent;
+}
+
+.white-text {
+ color: white;
+}
+
+.black-text {
+ color: black;
+}
+
+.gray-text {
+ color: gray;
+}
+
+.hidden {
+ width: auto;
+ height: auto;
+ z-index: -1;
+ position: absolute;
+}
\ No newline at end of file