From 79acfcf1599496e67b20c39c00a100b07c383ab1 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 16 Mar 2019 17:43:05 +0100 Subject: theme: Add terrassa theme --- themes/terrassa/assets/css/animations.css | 10 + themes/terrassa/assets/css/base.css | 73 ++++ themes/terrassa/assets/css/media-queries.css | 187 +++++++++ themes/terrassa/assets/css/reset.css | 180 +++++++++ themes/terrassa/assets/css/style.css | 581 +++++++++++++++++++++++++++ 5 files changed, 1031 insertions(+) create mode 100644 themes/terrassa/assets/css/animations.css create mode 100644 themes/terrassa/assets/css/base.css create mode 100644 themes/terrassa/assets/css/media-queries.css create mode 100644 themes/terrassa/assets/css/reset.css create mode 100644 themes/terrassa/assets/css/style.css (limited to 'themes/terrassa/assets/css') diff --git a/themes/terrassa/assets/css/animations.css b/themes/terrassa/assets/css/animations.css new file mode 100644 index 0000000..ce65162 --- /dev/null +++ b/themes/terrassa/assets/css/animations.css @@ -0,0 +1,10 @@ +@keyframes focus { + 0% { + filter: blur(14px); + opacity: 0; + } + 100% { + filter: blur(0); + opacity: 1; + } +} \ No newline at end of file diff --git a/themes/terrassa/assets/css/base.css b/themes/terrassa/assets/css/base.css new file mode 100644 index 0000000..71b9569 --- /dev/null +++ b/themes/terrassa/assets/css/base.css @@ -0,0 +1,73 @@ +:root { + /* Font Sizes */ + --title: 3.998rem; + --subtitle: 2.827rem; + --header: 1.999rem; + --subheader: 1.414rem; + + /* Colors */ + --primary: #ffc107; + --primary-dark: #ffa000; + --primary-light: #ffecb3; + --primary-text: #212121; + --secondary-text: #333333; + --accent: #536dfe; + --divider: #bdbdbd; + --white: #fdfdfd; + + /* Breackpoints */ + --sm: 576px; + --md: 768px; + --lg: 992px; + --xl: 1200px; +} + +a { + color: var(--accent); +} + +a:hover { + color: var(--primary-dark); +} + +body { + color: var(--primary-text); +} + +figcaption { + font-size: 0.9rem; + text-align: center; +} + +hr { + color: var(--divider); + opacity: 0.30; + width: 25%; +} + +i { + font-size: var(--subheader); +} + +input, +textarea { + border: 2px solid var(--divider); +} + +input:focus, +textarea:focus { + border: 2px solid var(--accent); +} + +pre { + border: 1px solid var(--divider); + overflow: auto; + margin-bottom: 1.75rem; + padding: 1rem 1.75rem; + text-align: left; + width: 100%; +} + +textarea { + resize: none; +} diff --git a/themes/terrassa/assets/css/media-queries.css b/themes/terrassa/assets/css/media-queries.css new file mode 100644 index 0000000..57455d6 --- /dev/null +++ b/themes/terrassa/assets/css/media-queries.css @@ -0,0 +1,187 @@ +@media only screen and (max-width: 1024px) { + .hero { + background-position: 20% 0; + background-size: cover; + } + + .section { + margin: 2.75rem 19%; + } + + .card { + margin-bottom: 0.75rem; + } + + .post__body { + margin: 0 19%; + } + + .pagination { + width: 40%; + } + + .footer__contact { + align-items: start; + flex-direction: column; + padding: 1.75rem 4.5rem; + } + + .footer__contact__item { + padding-bottom: 1.75rem; + } + + .footer__contact__item:last-of-type { + padding-bottom: 0; + } + + .copy { + align-items: flex-end; + padding-right: 4.5rem; + } +} + +@media only screen and (max-width: 992px) { + .hero__caption > h1 { + font-size: var(--subtitle); + } + + .hero__caption > h2 { + font-size: 1.25rem; + } + + .pagination { + width: 50%; + } + + .footer__social { + padding: 1rem 0; + } +} + +@media only screen and (max-width: 768px) { + .header__title { + font-size: 1rem; + } + + .menu { + display: none; + visibility: hidden; + } + + .hamburger-menu { + display: grid; + visibility: visible; + } + + .hamburger__items__item { + margin-right: 1.75rem; + } + + .section { + margin: 2.75rem 9%; + } + + .card { + width: 85%; + } + + .contact__form { + grid-template-areas: "name" "email" "msg" "submit"; + } + + .contact__field > input { + width: 25rem; + } + + .contact__field--name { + margin-right: 0; + } + + .contact__field--msg { + margin-top: 0; + } + + .contact__field--submit { + margin: 1.75rem 0; + } + + .post__header { + padding: 0 10%; + } + + .post__body { + margin: 0 9%; + } + + .post__body > blockquote > p { + margin: 0 5%; + } + + .post__footer { + margin: 0 10% 0.75rem; + } + + .pagination { + width: 70%; + } +} + +@media only screen and (max-width: 576px) { + .header__title { + margin-left: 1.75rem; + } + + .toggle { + right: 1.75rem; + } + + .hero { + background-position: 30% 0; + } + + .hero__caption { + margin: 0 1.75rem 0; + } + + .contact__field > input { + width: 20rem; + } + + .card { + width: 90%; + } + + .pagination { + width: 90%; + } + + .footer { + grid-template-areas: "social" "contact" "copy"; + grid-template-columns: 1fr; + } + + .footer__social__link { + height: 40px; + line-height: 40px; + margin: 0.75rem; + width: 40px; + } + + .footer__contact { + padding: 1.75rem; + } + + .copy { + justify-content: center; + margin-bottom: 1.75rem; + margin-left: 5%; + margin-right: 5%; + padding: 0; + } +} + +@media only screen and (max-width: 340px) { + .contact__field > input { + width: 17rem; + } +} diff --git a/themes/terrassa/assets/css/reset.css b/themes/terrassa/assets/css/reset.css new file mode 100644 index 0000000..b3abac5 --- /dev/null +++ b/themes/terrassa/assets/css/reset.css @@ -0,0 +1,180 @@ +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +a, +p, +span, +em, +small, +strong, +sub, +sup, +mark, +del, +ins, +strike, +abbr, +dfn, +blockquote, +q, +cite, +code, +pre, +li, +dl, +dt, +dd, +div, +section, +article, +main, +aside, +nav, +header, +hgroup, +footer, +img, +figure, +figcaption, +address, +time, +audio, +video, +canvas, +iframe, +details, +summary, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td { + border: 0; + padding: 0; + margin: 0; +} + +html { + box-sizing: border-box; + font-size: 1em; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +a { + text-decoration: none; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Oxygen, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + font-kerning: auto; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialised; + font-weight: 400; + height: 100vh; + hyphens: auto; + line-height: 1.62; + overflow-wrap: break-word; + text-rendering: optimizeLegibility; +} + +blockquote, +q { + quotes: none; +} + +blockquote:after, +blockquote:before, +q:after, +q:before { + content: ""; +} + +h1, +h2, +h3, +h4 { + font-weight: inherit; + line-height: 1.2; + margin: 1.414rem 0 0.5rem; +} + +hr { + box-sizing: content-box; + overflow: visible; +} + +img, +video, +figure { + display: block; + height: auto; + max-width: 100%; +} + +img { + border-style: none; +} + +main, +header, +footer { + display: block; +} + +ol, +ul { + list-style: none; + margin-left: 0; + margin-right: 0; + padding: 0; +} + +p { + margin-bottom: 1.1rem; +} + +pre, +code, +kbd { + font-family: monospace; + font-size: 1em; + white-space: pre-wrap; +} + +select { + text-transform: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +[hidden] { + display: none; +} + +[disabled] { + cursor: not-allowed; +} + +:focus:not(:focus-visible) { + outline: none; +} diff --git a/themes/terrassa/assets/css/style.css b/themes/terrassa/assets/css/style.css new file mode 100644 index 0000000..ed94b13 --- /dev/null +++ b/themes/terrassa/assets/css/style.css @@ -0,0 +1,581 @@ +/* HEADER */ +.header { + background-color: var(--white); + box-shadow: 0 1px 5px var(--divider); + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 1fr; + position: fixed; + top: 0; + width: 100%; + z-index: 999; +} + +.header__title { + align-items: center; + display: flex; + font-size: 1.1rem; + justify-content: flex-start; + margin: 1rem 4.5rem; +} + +.header__title__link { + color: var(--primary-dark); +} + +.header__title__logo { + max-width: 7rem; + vertical-align: middle; + width: 100%; +} + +/* MENU */ +.menu { + align-items: center; + display: flex; + hyphens: none; + margin-right: 4.5rem; +} + +.menu__items { + display: flex; + justify-content: space-evenly; + width: 100%; +} + +.menu__items__item { + margin: 0 1.5rem; +} + +.menu__items__item__link { + color: var(--primary-text); + padding: 0.5rem 0; + position: relative; +} + +.menu__items__item__link:hover, +.menu__items__item__link:focus { + color: var(--primary-text); +} + +.menu__items__item__link::before { + bottom: 0; + content: ""; + display: block; + height: 3px; + position: absolute; + transition: all 0.25s ease-in-out; + width: 0%; +} + +.menu__items__item__link::before { + background-color: var(--primary); +} + +.menu__items__item__link:hover::before, +.menu__items__item__link:focus::before { + opacity: 1; + width: 100%; +} + +.menu__items__item__link.active::before { + opacity: 1; + width: 100%; +} + +/* HAMBURGER MENU */ +.hamburger-menu { + display: none; + visibility: hidden; +} + +.toggle, +.hamburger__toggle { + user-select: none; +} + +.toggle { + align-self: center; + position: absolute; + right: 4.5rem; +} + +.hamburger__toggle { + height: 32px; + left: -5px; + opacity: 0; + position: absolute; + top: -7px; + width: 40px; +} + +.hamburger__items { + background-color: var(--white); + box-shadow: -1px 2px 5px var(--divider); + height: 100vh; + position: absolute; + transform: translate(100%, 0); + transform-origin: 0% 0%; + transition: transform 0.15s ease-in-out; + visibility: hidden; + width: 50vw; +} + +.hamburger__items__item { + margin: 1.75rem 0 0 2.75rem; +} + +.hamburger__items__item__link { + color: var(--primary-text); +} + +.hamburger__items__item__link:hover { + color: var(--primary-dark); +} + +.toggle .hamburger__toggle:checked ~ .hamburger__items { + transform: translate(-70%, 0); + visibility: visible; +} + +/* HERO */ +.hero { + align-content: center; + background-attachment: fixed; + background-position: 100% 20%; + background-repeat: no-repeat; + background-size: contain; + display: flex; + height: 90vh; + justify-content: flex-start; + width: 100%; +} + +.hero__caption { + align-items: flex-start; + animation: focus 0.95s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; + display: flex; + flex-direction: column; + justify-content: center; + margin-left: 4.5rem; +} + +.hero__caption > h1 { + font-size: var(--title); +} + +.hero__caption > h2 { + font-size: var(--subheader); + margin-top: 0.45rem; +} + +/* CTA */ +.cta__btn { + margin-top: 4.5rem; +} + +/* SECTION */ +.section { + margin: 2.75rem 24%; + text-justify: distribute; +} + +.section__title { + padding: 0 20%; + margin-bottom: 1.75rem; + text-align: center; +} + +/* SEPARATOR */ +.separator { + align-items: center; + display: flex; + font-size: 0.45rem; + justify-content: center; +} + +/* CONTENT */ +.content { + display: grid; + grid-auto-flow: row; + grid-template-columns: 1fr; + grid-template-rows: 1fr; + justify-items: center; + min-height: 90vh; +} + +/* CARD */ +.card { + margin-bottom: 2.75rem; + max-width: 900px; + text-justify: distribute; + width: 70%; +} + +.card__header__link { + color: var(--primary-text); +} + +.card__header__link:hover { + color: var(--primary); +} + +.card__header__author { + margin-bottom: 0.75rem; + text-align: left; +} + +/* POST */ +.post { + min-height: 90vh; + text-justify: distribute; +} + +.post__header { + display: grid; + grid-template-areas: "title" "date" "subtitle" "author"; + grid-template-rows: auto; + justify-content: center; + padding: 0 20%; +} + +.post__title { + font-size: var(--header); + grid-area: title; +} + +.post__subtitle { + grid-area: subtitle; + margin-top: 0.75rem; + text-align: center; +} + +.post__author { + grid-area: author; + text-align: center; +} + +.post__date { + grid-area: date; + margin-bottom: 1.75rem; +} + +.post__body { + margin: 1.75rem 24% 0.75rem; +} + +.post__body > figure { + margin-bottom: 1.75rem; +} + +.post__body > ol { + list-style-type: decimal; +} + +.post__body > ul { + list-style-type: disc; +} + +.post__body > blockquote > p { + margin: 0.75rem 24%; + text-align: center; +} + +.post__body > blockquote > p::before, +.post__body > blockquote > p::after { + background-color: var(--divider); + content: ""; + display: block; + height: 1px; + width: 100%; +} + +.post__body > blockquote > p::before { + margin-bottom: 1rem; +} + +.post__body > blockquote > p::after { + margin-top: 1rem; +} + +.post__body > blockquote > p::after { + margin-bottom: 1.1rem; +} + +.post__body > ul, +.post__body > ol { + margin-left: 3.75rem; +} + +.post__footer { + display: flex; + justify-content: center; + margin: 0 30% 0.75rem; +} + +/* PAGINATION */ +.pagination { + display: flex; + justify-content: space-evenly; + margin-bottom: 2.75rem; + width: 20%; +} + +.page-item.disabled > .page-link { + cursor: not-allowed; + opacity: 0.7; +} + +.page-item.active > .page-link { + color: var(--primary-dark); +} + +.page-link { + color: var(--primary-text); +} + +/* CONTACT */ +.contact { + align-items: center; + display: flex; + flex-direction: column; + justify-content: flex-start; + min-height: 90vh; +} + +.contact__content { + text-align: center; +} + +.contact__form { + display: grid; + grid-template-areas: "name email" "msg msg" "submit submit"; + grid-template-columns: 1fr; + grid-template-rows: repeat(3, auto); + margin-top: 1.75rem; +} + +.contact__field { + display: flex; + flex-direction: column; + margin-bottom: 0.75rem; +} + +.contact__field > label { + margin-bottom: 0.45rem; +} + +.contact__field > input { + font-size: 1rem; + height: 1.9rem; + padding: 1rem 0.75rem; + width: 20rem; +} + +.contact__field > textarea { + font-family: sans-serif; + font-size: 1rem; + height: 12rem; + padding: 0.75rem 0.75rem; + width: 100%; +} + +.contact__field--name { + grid-area: name; + margin-right: 1rem; +} + +.contact__field--email { + grid-area: email; +} + +.contact__field--msg { + grid-area: msg; + margin-top: 1.75rem; +} + +.contact__field--submit { + align-content: center; + display: grid; + grid-area: submit; + justify-content: center; + margin: 1.75rem 0 2.75rem; +} + +.submit { + font-size: 1rem; +} + +/* FOOTER */ +.footer { + background-color: var(--primary-dark); + display: grid; + grid-auto-flow: row; + grid-template-areas: "social social social" "contact contact copy"; + grid-template-columns: repeat(3, 1fr); + grid-template-rows: repeat(2, auto); +} + +.footer__social { + align-items: center; + background-color: var(--white); + border-top: 1px solid var(--divider); + border-bottom: 1px solid var(--divider); + display: flex; + flex-wrap: wrap; + grid-area: social; + justify-content: space-evenly; + padding: 1rem 20%; +} + +.footer__social__link { + background-color: var(--primary-text); + border-radius: 50%; + color: var(--white); + font-size: var(--subheader); + height: 35px; + line-height: 35px; + position: relative; + text-align: center; + width: 35px; +} + +.footer__social__link::after { + background: transparent; + border: 1.5px solid var(--primary-text); + border-radius: 50%; + bottom: 0; + content: ""; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: 0.3s all; +} + +.footer__social__link:hover, +.footer__social__link:focus { + background-color: transparent; + color: var(--secondary-text); +} + +.footer__social__link:hover::after, +.footer__social__link:focus::after { + border-color: var(--secondary-text); + transform: scale(1.5); +} + +.footer__contact { + align-items: center; + display: flex; + grid-area: contact; + justify-content: space-around; + width: 100%; +} + +.footer__contact__item { + color: var(--white); + margin: 0; +} + +.footer__contact__item > span { + color: var(--primary-text); + margin-right: 0.25rem; +} + +.footer__contact__link, +.footer__contact__link:hover { + color: var(--white); +} + +/* 404 */ +.notfound { + align-items: center; + display: flex; + justify-content: center; + min-height: 90vh; +} + +.notfound__title { + font-size: var(--title); +} + +/* COPY */ +.copy { + align-items: center; + display: flex; + font-size: 0.95rem; + grid-area: copy; + justify-content: flex-end; + padding: 1.75rem; +} + +.copy > p { + margin: 0; +} + +/* AUTHOR */ +.author { + font-size: 0.95rem; + font-weight: 400; +} + +/* DATE */ +.date { + font-size: 0.95rem; + font-weight: 400; + margin: 0 0 0.75rem 0; +} + +/* TAGS */ +.tags { + display: flex; + flex-wrap: wrap; + padding: 0; +} + +.tags__tag { + margin-right: 0.75rem; +} + +/* RIPPLE */ +.ripple-btn { + background-color: var(--primary-dark); + border: none; + color: var(--white); + overflow: hidden; + padding: 1.15rem 4.5rem; + position: relative; + transform: translate3d(0, 0, 0); + transition: all 0.25s; +} + +.ripple-btn:hover, +.ripple-btn:focus { + color: var(--white); + background-color: var(--primary); +} + +.ripple-btn::after { + background-image: radial-gradient(circle, var(--primary-light) 10%, transparent 10.01%); + background-position: 50%; + background-repeat: no-repeat; + content: ""; + display: block; + height: 100%; + left: 0; + opacity: 0; + position: absolute; + pointer-events: none; + top: 0; + transform: scale(10, 10); + transition: transform .5s, opacity 1s; + width: 100%; +} + +.ripple-btn:active::after { + opacity: 0.7; + transform: scale(0, 0); + transition: 0s; +} \ No newline at end of file -- cgit v1.2.3