mirror of
https://github.com/GenZmeY/casper-i18n.git
synced 2024-11-10 02:28:02 +00:00
Added navbar options (#906)
This commit is contained in:
parent
38426cd9e6
commit
cf30adacce
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -112,8 +112,8 @@ production stylesheet in assets/built/screen.css
|
|||||||
z-index: 100;
|
z-index: 100;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-top: 6.4vmin;
|
padding-top: calc(19vmin + 44px);
|
||||||
padding-bottom: 6.4vmin;
|
padding-bottom: 19vmin;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: var(--color-darkgrey);
|
color: var(--color-darkgrey);
|
||||||
}
|
}
|
||||||
@ -124,10 +124,6 @@ production stylesheet in assets/built/screen.css
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|
||||||
padding-bottom: max(4.8vmin, 24px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.site-header-content.left-aligned {
|
.site-header-content.left-aligned {
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@ -135,7 +131,7 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
|
|
||||||
.has-cover .site-header-content.left-aligned {
|
.has-cover .site-header-content.left-aligned {
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
padding-bottom: 6.4vmin;
|
padding-bottom: max(4vmin, 32px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-header-content.no-content {
|
.site-header-content.no-content {
|
||||||
@ -189,15 +185,15 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
.site-description {
|
.site-description {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
max-width: 560px;
|
max-width: 960px;
|
||||||
font-size: 2.4rem;
|
font-size: 6rem;
|
||||||
font-weight: 500;
|
font-weight: 700;
|
||||||
line-height: 1.4;
|
line-height: 1.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
:is(.site-logo, .site-title) + .site-description {
|
:is(.site-logo, .site-title) + .site-description {
|
||||||
margin-top: 8px;
|
margin-top: 16px;
|
||||||
font-size: 2.1rem;
|
font-size: 2.4rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,7 +206,6 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.has-cover .site-description {
|
.has-cover .site-description {
|
||||||
font-size: 3.2rem;
|
|
||||||
letter-spacing: -0.005em;
|
letter-spacing: -0.005em;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
@ -223,6 +218,18 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
font-size: 2.2rem;
|
font-size: 2.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.is-head-stacked.has-cover .site-header-content {
|
||||||
|
padding-top: calc(19vmin + 120px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) {
|
||||||
|
.site-header-content {
|
||||||
|
padding-top: calc(19vmin + 32px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
.has-cover .site-header-content {
|
.has-cover .site-header-content {
|
||||||
min-height: 240px;
|
min-height: 240px;
|
||||||
@ -237,7 +244,7 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
font-size: 3.4rem !important;
|
font-size: 3.4rem !important;
|
||||||
}
|
}
|
||||||
.site-description {
|
.site-description {
|
||||||
font-size: 1.9rem !important;
|
font-size: 2.8rem !important;
|
||||||
}
|
}
|
||||||
.site-logo + .site-description {
|
.site-logo + .site-description {
|
||||||
margin-top: 12px !important;
|
margin-top: 12px !important;
|
||||||
@ -252,8 +259,7 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
|
|
||||||
.gh-head {
|
.gh-head {
|
||||||
padding-top: min(24px, 3.6vmin);
|
height: 88px;
|
||||||
padding-bottom: min(24px, 3.6vmin);
|
|
||||||
font-size: 1.6rem;
|
font-size: 1.6rem;
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
@ -280,11 +286,112 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
|
|
||||||
.gh-head-inner {
|
.gh-head-inner {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-gap: 40px;
|
column-gap: 40px;
|
||||||
grid-template-columns: auto auto 1fr;
|
grid-template-columns: auto 1fr auto;
|
||||||
grid-auto-flow: row dense;
|
grid-auto-flow: row dense;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Header styles
|
||||||
|
/* ---------------------------------------------------------- */
|
||||||
|
|
||||||
|
.is-head-left-logo .gh-head-inner {
|
||||||
|
grid-template-columns: auto 1fr auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-left-logo.home-template .gh-head-logo {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-left-logo.home-template .gh-head-menu {
|
||||||
|
margin-left: -40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.is-head-left-logo .gh-head-menu {
|
||||||
|
margin-right: 32px;
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-middle-logo .gh-head-inner {
|
||||||
|
grid-template-columns: 1fr auto 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-middle-logo .gh-head-brand {
|
||||||
|
grid-column-start: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-middle-logo .gh-head-actions {
|
||||||
|
gap: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.is-head-middle-logo .gh-head-menu {
|
||||||
|
margin-right: 64px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-inner {
|
||||||
|
grid-template-columns: 1fr auto 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-brand {
|
||||||
|
grid-row-start: 1;
|
||||||
|
grid-column-start: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.is-head-stacked .gh-head-inner {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-brand {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-menu {
|
||||||
|
grid-row-start: 2;
|
||||||
|
grid-column: 1 / 4;
|
||||||
|
justify-content: center;
|
||||||
|
height: 56px;
|
||||||
|
margin: 0 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-menu::before,
|
||||||
|
.is-head-stacked .gh-head-menu::after {
|
||||||
|
position: absolute;
|
||||||
|
top: 80px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
content: "";
|
||||||
|
background-color: var(--color-lightgrey);
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked.has-cover .gh-head-menu::before,
|
||||||
|
.is-head-stacked.has-cover .gh-head-menu::after {
|
||||||
|
background-color: rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-menu::after {
|
||||||
|
top: 136px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-stacked .gh-head-actions {
|
||||||
|
grid-row-start: 1;
|
||||||
|
grid-column: 1 / 4;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Brand
|
/* Brand
|
||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
@ -293,7 +400,6 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
max-width: 400px;
|
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -303,6 +409,7 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
font-size: 2.6rem;
|
font-size: 2.6rem;
|
||||||
letter-spacing: -0.02em;
|
letter-spacing: -0.02em;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-head-logo.no-image {
|
.gh-head-logo.no-image {
|
||||||
@ -313,17 +420,8 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-logo .gh-head-logo {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gh-head-logo img {
|
.gh-head-logo img {
|
||||||
max-height: 26px;
|
max-height: 40px;
|
||||||
}
|
|
||||||
|
|
||||||
.gh-head-brand-wrapper {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -337,14 +435,10 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-logo .gh-head-menu {
|
|
||||||
margin-left: -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gh-head-menu .nav {
|
.gh-head-menu .nav {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
flex-wrap: wrap;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
gap: 32px;
|
gap: 32px;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@ -366,6 +460,80 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.gh-head-menu .nav-more-toggle {
|
||||||
|
position: relative;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
margin: 0 -6px;
|
||||||
|
padding: 0;
|
||||||
|
font-size: inherit;
|
||||||
|
background-color: transparent;
|
||||||
|
text-transform: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-menu .nav-more-toggle svg {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
body:not(.is-dropdown-loaded) .gh-head-menu .nav > li {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Dropdown
|
||||||
|
/* ---------------------------------------------------------- */
|
||||||
|
|
||||||
|
.gh-dropdown {
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
right: -16px;
|
||||||
|
z-index: 90;
|
||||||
|
width: 200px;
|
||||||
|
padding: 12px 0;
|
||||||
|
margin-top: 24px;
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
text-align: left;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 7px 20px -5px rgba(0, 0, 0, 0.15);
|
||||||
|
transform: translate3d(0, 6px, 0);
|
||||||
|
transition: opacity 0.3s, transform 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-head-middle-logo .gh-dropdown {
|
||||||
|
right: auto;
|
||||||
|
left: -24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-dropdown-mega .gh-dropdown {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-auto-flow: column;
|
||||||
|
column-gap: 40px;
|
||||||
|
width: auto;
|
||||||
|
padding: 20px 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-dropdown-open .gh-dropdown {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-menu .gh-dropdown li a {
|
||||||
|
display: block;
|
||||||
|
padding: 6px 20px;
|
||||||
|
color: #15171a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-dropdown-mega .gh-dropdown li a {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Secondary Navigation
|
/* Secondary Navigation
|
||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
@ -401,13 +569,14 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
|
|
||||||
.gh-head-button {
|
.gh-head-button {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 8px 16px;
|
padding: 8px 20px;
|
||||||
height: 40px;
|
height: 44px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: -0.005em;
|
letter-spacing: -0.005em;
|
||||||
font-size: 1.5rem;
|
font-size: 1.6rem;
|
||||||
border-radius: 6px;
|
border-radius: 48px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: var(--ghost-accent-color);
|
background: var(--ghost-accent-color);
|
||||||
}
|
}
|
||||||
@ -417,38 +586,6 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search
|
|
||||||
/* ---------------------------------------------------------- */
|
|
||||||
|
|
||||||
.gh-search {
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
padding: 0;
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: transparent;
|
|
||||||
border: 0;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gh-search:hover {
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 991px) {
|
|
||||||
.gh-head-actions .gh-search {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 992px) {
|
|
||||||
.gh-head-brand .gh-search {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Search
|
/* Search
|
||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
@ -475,7 +612,7 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.gh-head-actions .gh-search {
|
.gh-head-actions .gh-search {
|
||||||
margin-right: -10px;
|
margin-right: -4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 991px) {
|
@media (max-width: 991px) {
|
||||||
@ -497,86 +634,48 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|||||||
.gh-burger {
|
.gh-burger {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: none;
|
display: none;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
padding: 0;
|
||||||
|
margin-right: -3px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
background-color: transparent;
|
||||||
|
border: 0;
|
||||||
|
appearance: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-burger-box {
|
.gh-burger::before,
|
||||||
position: relative;
|
.gh-burger::after {
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
width: 33px;
|
|
||||||
height: 33px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.has-cover .gh-burger-box {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gh-burger-inner {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gh-burger-box::before {
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
left: 3px;
|
||||||
top: 0;
|
width: 24px;
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
margin: auto;
|
|
||||||
content: '';
|
|
||||||
width: 100%;
|
|
||||||
height: 1px;
|
height: 1px;
|
||||||
background: currentcolor;
|
content: "";
|
||||||
transition: transform 300ms cubic-bezier(.2,.6,.3,1), width 300ms cubic-bezier(.2,.6,.3,1);
|
background-color: var(--color-darkgrey);
|
||||||
will-change: transform, width;
|
transition: all 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-burger-inner::before,
|
.has-cover .gh-burger::before,
|
||||||
.gh-burger-inner::after {
|
.has-cover .gh-burger::after {
|
||||||
position: absolute;
|
background-color: #fff;
|
||||||
display: block;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
margin: auto;
|
|
||||||
content: '';
|
|
||||||
width: 100%;
|
|
||||||
height: 1px;
|
|
||||||
background: currentcolor;
|
|
||||||
transition: transform 250ms cubic-bezier(.2,.7,.3,1), width 250ms cubic-bezier(.2,.7,.3,1);
|
|
||||||
will-change: transform, width;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-burger-inner::before {
|
.gh-burger::before {
|
||||||
transform: translatey(-6px);
|
top: 11px;
|
||||||
}
|
|
||||||
.gh-burger-inner::after {
|
|
||||||
transform: translatey(6px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body:not(.gh-head-open) .gh-burger:hover .gh-burger-inner::before {
|
.gh-burger::after {
|
||||||
transform: translatey(-8px);
|
bottom: 11px;
|
||||||
}
|
|
||||||
body:not(.gh-head-open) .gh-burger:hover .gh-burger-inner::after {
|
|
||||||
transform: translatey(8px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-head-open .gh-burger-box::before {
|
.gh-head-open .gh-burger::before {
|
||||||
width: 0;
|
top: 15px;
|
||||||
transform: translatex(19px);
|
transform: rotate(45deg);
|
||||||
transition: transform 200ms cubic-bezier(.2,.7,.3,1), width 200ms cubic-bezier(.2,.7,.3,1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gh-head-open .gh-burger-inner::before {
|
.gh-head-open .gh-burger::after {
|
||||||
width: 26px;
|
bottom: 14px;
|
||||||
transform: translatex(6px) rotate(135deg);
|
transform: rotate(-45deg);
|
||||||
}
|
|
||||||
|
|
||||||
.gh-head-open .gh-burger-inner::after {
|
|
||||||
width: 26px;
|
|
||||||
transform: translatex(6px) rotate(-135deg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -585,91 +684,129 @@ body:not(.gh-head-open) .gh-burger:hover .gh-burger-inner::after {
|
|||||||
/* IDs needed to ensure sufficient specificity */
|
/* IDs needed to ensure sufficient specificity */
|
||||||
|
|
||||||
@media (max-width: 991px) {
|
@media (max-width: 991px) {
|
||||||
.gh-burger {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
#gh-head {
|
#gh-head {
|
||||||
overflow: hidden;
|
height: 64px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#gh-head .gh-head-inner {
|
#gh-head .gh-head-inner {
|
||||||
height: 100%;
|
grid-template-rows: auto 1fr auto;
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
|
gap: 48px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#gh-head .gh-head-brand {
|
#gh-head .gh-head-brand {
|
||||||
position: relative;
|
display: grid;
|
||||||
z-index: 10;
|
grid-template-columns: 1fr auto auto;
|
||||||
grid-column-start: auto;
|
grid-column-start: 1;
|
||||||
max-width: none;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
height: 64px;
|
||||||
user-select: none;
|
|
||||||
}
|
}
|
||||||
.no-logo #gh-head .gh-head-brand {
|
|
||||||
justify-content: flex-end;
|
#gh-head .gh-head-logo {
|
||||||
|
font-size: 2.2rem;
|
||||||
}
|
}
|
||||||
#gh-head .gh-head-menu {
|
|
||||||
align-self: center;
|
#gh-head .gh-head-brand .gh-search {
|
||||||
display: flex;
|
margin-left: -6px;
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
text-align: center;
|
|
||||||
margin: 0 0 10vh 0;
|
|
||||||
font-weight: 300;
|
|
||||||
font-size: 3.6rem;
|
|
||||||
line-height: 1.1em;
|
|
||||||
}
|
}
|
||||||
#gh-head .gh-head-menu .nav {
|
|
||||||
display: flex;
|
#gh-head .gh-burger {
|
||||||
flex-direction: column;
|
display: block;
|
||||||
align-items: center;
|
|
||||||
gap: 16px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#gh-head .gh-head-menu,
|
||||||
#gh-head .gh-head-actions {
|
#gh-head .gh-head-actions {
|
||||||
flex-direction: column-reverse;
|
position: fixed;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 20px 0 32px;
|
visibility: hidden;
|
||||||
text-align: left;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
/* Hide collapsed content */
|
|
||||||
#gh-head .gh-head-actions,
|
|
||||||
#gh-head .gh-head-menu {
|
#gh-head .gh-head-menu {
|
||||||
display: none;
|
margin: 0;
|
||||||
|
transition: none;
|
||||||
|
transform: translateY(0);
|
||||||
}
|
}
|
||||||
/* Open the menu */
|
|
||||||
.gh-head-open {
|
#gh-head .nav {
|
||||||
overflow: hidden;
|
gap: 16px;
|
||||||
height: 100vh;
|
align-items: center;
|
||||||
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#gh-head .nav a {
|
||||||
|
font-size: 2.6rem;
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#gh-head .nav li {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#gh-head .gh-head-button {
|
||||||
|
width: 100%;
|
||||||
|
font-size: 1.8rem;
|
||||||
|
text-transform: none;
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(8px);
|
||||||
|
}
|
||||||
|
|
||||||
.gh-head-open #gh-head {
|
.gh-head-open #gh-head {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 3999999;
|
||||||
|
height: 100vh;
|
||||||
|
overflow-y: scroll;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-open.has-cover #gh-head,
|
||||||
|
.gh-head-open.has-cover #gh-head .gh-head-actions {
|
||||||
|
background-color: var(--ghost-accent-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-open #gh-head .gh-head-menu,
|
||||||
|
.gh-head-open #gh-head .gh-head-actions {
|
||||||
|
position: static;
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-open #gh-head .nav {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-open #gh-head .nav li {
|
||||||
|
opacity: 1;
|
||||||
|
transition: transform 0.2s, opacity 0.2s;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gh-head-open #gh-head .gh-head-actions {
|
||||||
|
position: sticky;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
z-index: 3999999;
|
display: inline-flex;
|
||||||
overflow-y: scroll;
|
flex-direction: column;
|
||||||
|
gap: 12px;
|
||||||
|
align-items: center;
|
||||||
|
padding: max(4vmin, 20px) 0;
|
||||||
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
.gh-head-open #gh-head .gh-head-inner {
|
|
||||||
grid-template-rows: auto 1fr auto;
|
|
||||||
}
|
|
||||||
.gh-head-open #gh-head .gh-head-actions,
|
|
||||||
.gh-head-open #gh-head .gh-head-menu {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
.gh-head-open #gh-head .gh-head-button {
|
||||||
#gh-head .gh-head-menu {
|
opacity: 1;
|
||||||
font-size: 6vmin;
|
transition: transform 0.4s, opacity 0.4s;
|
||||||
|
transition-delay: 0.2s;
|
||||||
|
transform: translateY(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-cover.gh-head-open .gh-head {
|
|
||||||
background: var(--ghost-accent-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* 6. Post Feed
|
/* 6. Post Feed
|
||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
@ -810,6 +947,7 @@ body:not(.gh-head-open) .gh-burger:hover .gh-burger-inner::after {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 2.6rem;
|
font-size: 2.6rem;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-card-content-link:hover .post-card-title {
|
.post-card-content-link:hover .post-card-title {
|
||||||
@ -962,7 +1100,7 @@ make sure this only happens on large viewports / desktop-ish devices.
|
|||||||
.post-card-large .post-card-title {
|
.post-card-large .post-card-title {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
font-size: 4.4rem;
|
font-size: 4.4rem;
|
||||||
line-height: 1;
|
line-height: 1.05;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-card-large .post-card-excerpt {
|
.post-card-large .post-card-excerpt {
|
||||||
@ -1042,7 +1180,7 @@ make sure this only happens on large viewports / desktop-ish devices.
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
font-size: clamp(3.2rem, 5vw, 5.2rem);
|
font-size: clamp(3.2rem, 5vw, 5.2rem);
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
line-height: 1;
|
line-height: 1.05;
|
||||||
color: var(--color-darkgrey);
|
color: var(--color-darkgrey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1719,7 +1857,7 @@ iframe.instagram-media + script + :not([id]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1001px) {
|
@media (min-width: 1001px) {
|
||||||
.author-template .post-card-large .post-card-content {
|
.author-template .post-card-large .post-card-content:only-child {
|
||||||
grid-column: span 2;
|
grid-column: span 2;
|
||||||
max-width: 640px;
|
max-width: 640px;
|
||||||
}
|
}
|
||||||
@ -1739,7 +1877,7 @@ iframe.instagram-media + script + :not([id]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1001px) {
|
@media (min-width: 1001px) {
|
||||||
.tag-template .post-card-large .post-card-content {
|
.tag-template .post-card-large .post-card-content:only-child {
|
||||||
grid-column: span 2;
|
grid-column: span 2;
|
||||||
max-width: 640px;
|
max-width: 640px;
|
||||||
}
|
}
|
||||||
|
81
assets/js/dropdown.js
Normal file
81
assets/js/dropdown.js
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
(function () {
|
||||||
|
const mediaQuery = window.matchMedia('(max-width: 991px)');
|
||||||
|
|
||||||
|
const menu = document.querySelector('.gh-head-menu');
|
||||||
|
const nav = menu.querySelector('.nav');
|
||||||
|
if (!nav) return;
|
||||||
|
|
||||||
|
const logo = document.querySelector('.gh-head-logo');
|
||||||
|
const navHTML = nav.innerHTML;
|
||||||
|
|
||||||
|
if (mediaQuery.matches) {
|
||||||
|
const items = nav.querySelectorAll('li');
|
||||||
|
items.forEach(function (item, index) {
|
||||||
|
item.style.transitionDelay = 0.03 * (index + 1) + 's';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const makeDropdown = function () {
|
||||||
|
if (mediaQuery.matches) return;
|
||||||
|
const submenuItems = [];
|
||||||
|
|
||||||
|
while ((nav.offsetWidth + 64) > menu.offsetWidth) {
|
||||||
|
if (nav.lastElementChild) {
|
||||||
|
submenuItems.unshift(nav.lastElementChild);
|
||||||
|
nav.lastElementChild.remove();
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!submenuItems.length) {
|
||||||
|
document.body.classList.add('is-dropdown-loaded');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const toggle = document.createElement('button');
|
||||||
|
toggle.setAttribute('class', 'nav-more-toggle');
|
||||||
|
toggle.setAttribute('aria-label', 'More');
|
||||||
|
toggle.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor"><path d="M21.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM13.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM5.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0z"></path></svg>';
|
||||||
|
|
||||||
|
const wrapper = document.createElement('div');
|
||||||
|
wrapper.setAttribute('class', 'gh-dropdown');
|
||||||
|
|
||||||
|
if (submenuItems.length >= 10) {
|
||||||
|
document.body.classList.add('is-dropdown-mega');
|
||||||
|
wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';
|
||||||
|
} else {
|
||||||
|
document.body.classList.remove('is-dropdown-mega');
|
||||||
|
}
|
||||||
|
|
||||||
|
submenuItems.forEach(function (child) {
|
||||||
|
wrapper.appendChild(child);
|
||||||
|
});
|
||||||
|
|
||||||
|
toggle.appendChild(wrapper);
|
||||||
|
nav.appendChild(toggle);
|
||||||
|
|
||||||
|
document.body.classList.add('is-dropdown-loaded');
|
||||||
|
|
||||||
|
toggle.addEventListener('click', function () {
|
||||||
|
document.body.classList.toggle('is-dropdown-open');
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener('click', function (e) {
|
||||||
|
if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {
|
||||||
|
document.body.classList.remove('is-dropdown-open');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
imagesLoaded(logo, function () {
|
||||||
|
makeDropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener('resize', function () {
|
||||||
|
setTimeout(function () {
|
||||||
|
nav.innerHTML = navHTML;
|
||||||
|
makeDropdown();
|
||||||
|
}, 1);
|
||||||
|
});
|
||||||
|
})();
|
7
assets/js/lib/imagesloaded.pkgd.min.js
vendored
Normal file
7
assets/js/lib/imagesloaded.pkgd.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
56
default.hbs
56
default.hbs
@ -18,51 +18,51 @@
|
|||||||
{{ghost_head}}
|
{{ghost_head}}
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body class="{{body_class}}{{#match @custom.title_font "=" "Elegant serif"}} has-serif-title{{/match}}{{#match @custom.body_font "=" "Modern sans-serif"}} has-sans-body{{/match}}{{#if @custom.show_publication_cover}} has-cover{{/if}}{{#is "home"}}{{#unless @custom.show_logo_in_navigation}} no-logo{{/unless}}{{/is}}">
|
<body class="{{body_class}} is-head-{{#match @custom.navigation_layout "Logo on cover"}}left-logo{{else match @custom.navigation_layout "Logo in the middle"}}middle-logo{{else}}stacked{{/match}}{{#match @custom.title_font "=" "Elegant serif"}} has-serif-title{{/match}}{{#match @custom.body_font "=" "Modern sans-serif"}} has-sans-body{{/match}}{{#if @custom.show_publication_cover}} has-cover{{/if}}">
|
||||||
<div class="viewport">
|
<div class="viewport">
|
||||||
|
|
||||||
<header id="gh-head" class="gh-head outer">
|
<header id="gh-head" class="gh-head outer">
|
||||||
<nav class="gh-head-inner inner">
|
<div class="gh-head-inner inner">
|
||||||
|
|
||||||
<div class="gh-head-brand">
|
<div class="gh-head-brand">
|
||||||
<a class="gh-head-logo{{#unless @site.logo}} no-image{{/unless}}" href="{{@site.url}}">
|
<a class="gh-head-logo" href="{{@site.url}}">
|
||||||
{{#if @site.logo}}
|
{{#if @site.logo}}
|
||||||
<img src="{{@site.logo}}" alt="{{@site.title}}" />
|
<img src="{{@site.logo}}" alt="{{@site.title}}">
|
||||||
{{else}}
|
{{else}}
|
||||||
{{@site.title}}
|
{{@site.title}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</a>
|
</a>
|
||||||
<div class="gh-head-brand-wrapper">
|
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
<button class="gh-search" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
<button class="gh-burger"></button>
|
||||||
<a class="gh-burger" role="button">
|
|
||||||
<div class="gh-burger-box">
|
|
||||||
<div class="gh-burger-inner"></div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="gh-head-menu">
|
|
||||||
|
<nav class="gh-head-menu">
|
||||||
{{navigation}}
|
{{navigation}}
|
||||||
</div>
|
{{#unless @site.members_enabled}}
|
||||||
|
{{#match @custom.header_style "Stacked"}}
|
||||||
|
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
|
{{/match}}
|
||||||
|
{{/unless}}
|
||||||
|
</nav>
|
||||||
|
|
||||||
<div class="gh-head-actions">
|
<div class="gh-head-actions">
|
||||||
<button class="gh-search" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
{{#unless @site.members_enabled}}
|
||||||
<div class="gh-social">
|
{{^match @custom.header_style "Stacked"}}
|
||||||
{{#if @site.facebook}}
|
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
<a class="gh-social-link gh-social-facebook" href="{{facebook_url @site.facebook}}" title="Facebook" target="_blank" rel="me noopener">{{> "icons/facebook"}}</a>
|
{{/match}}
|
||||||
{{/if}}
|
{{else}}
|
||||||
{{#if @site.twitter}}
|
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
|
||||||
<a class="gh-social-link gh-social-twitter" href="{{twitter_url @site.twitter}}" title="Twitter" target="_blank" rel="me noopener">{{> "icons/twitter"}}</a>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{#if @site.members_enabled}}
|
|
||||||
{{#unless @member}}
|
{{#unless @member}}
|
||||||
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
|
{{#unless @site.members_invite_only}}
|
||||||
|
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
|
||||||
|
{{else}}
|
||||||
|
<a class="gh-head-button" href="#/portal/signin" data-portal="signin">Login</a>
|
||||||
|
{{/unless}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
|
<a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
{{/if}}
|
{{/unless}}
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="site-content">
|
<div class="site-content">
|
||||||
|
@ -90,8 +90,9 @@ function zipper(done) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const cssWatcher = () => watch('assets/css/**', css);
|
const cssWatcher = () => watch('assets/css/**', css);
|
||||||
|
const jsWatcher = () => watch('assets/js/**', js);
|
||||||
const hbsWatcher = () => watch(['*.hbs', 'partials/**/*.hbs'], hbs);
|
const hbsWatcher = () => watch(['*.hbs', 'partials/**/*.hbs'], hbs);
|
||||||
const watcher = parallel(cssWatcher, hbsWatcher);
|
const watcher = parallel(cssWatcher, jsWatcher, hbsWatcher);
|
||||||
const build = series(css, js);
|
const build = series(css, js);
|
||||||
|
|
||||||
exports.build = build;
|
exports.build = build;
|
||||||
|
@ -22,13 +22,13 @@ into the {body} of the default.hbs template --}}
|
|||||||
|
|
||||||
{{#match @custom.header_style "!=" "Hidden"}}
|
{{#match @custom.header_style "!=" "Hidden"}}
|
||||||
<div class="site-header-inner inner">
|
<div class="site-header-inner inner">
|
||||||
{{#unless @custom.show_logo_in_navigation}}
|
{{#match @custom.navigation_layout "Logo on cover"}}
|
||||||
{{#if @site.logo}}
|
{{#if @site.logo}}
|
||||||
<img class="site-logo" src="{{@site.logo}}" alt="{{@site.title}}">
|
<img class="site-logo" src="{{@site.logo}}" alt="{{@site.title}}">
|
||||||
{{else}}
|
{{else}}
|
||||||
<h1 class="site-title">{{@site.title}}</h1>
|
<h1 class="site-title">{{@site.title}}</h1>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/unless}}
|
{{/match}}
|
||||||
{{#if @site.description}}
|
{{#if @site.description}}
|
||||||
<p class="site-description">{{@site.description}}</p>
|
<p class="site-description">{{@site.description}}</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
10
package.json
10
package.json
@ -89,6 +89,11 @@
|
|||||||
},
|
},
|
||||||
"card_assets": true,
|
"card_assets": true,
|
||||||
"custom": {
|
"custom": {
|
||||||
|
"navigation_layout": {
|
||||||
|
"type": "select",
|
||||||
|
"options": ["Logo on cover", "Logo in the middle", "Stacked"],
|
||||||
|
"default": "Logo on cover"
|
||||||
|
},
|
||||||
"title_font": {
|
"title_font": {
|
||||||
"type": "select",
|
"type": "select",
|
||||||
"options": [
|
"options": [
|
||||||
@ -120,11 +125,6 @@
|
|||||||
"default": "Center aligned",
|
"default": "Center aligned",
|
||||||
"group": "homepage"
|
"group": "homepage"
|
||||||
},
|
},
|
||||||
"show_logo_in_navigation": {
|
|
||||||
"type": "boolean",
|
|
||||||
"default": false,
|
|
||||||
"group": "homepage"
|
|
||||||
},
|
|
||||||
"feed_layout": {
|
"feed_layout": {
|
||||||
"type": "select",
|
"type": "select",
|
||||||
"options": [
|
"options": [
|
||||||
|
Loading…
Reference in New Issue
Block a user