qsdklsqkdmqskdmlqskd azoepqikdomlqskdjmlqs qpfklqjsfmklqsjdmqlsjdsqd forms/_buttons.scss000066600000001404152331317540010433 0ustar00.button, button, input[type="button"], input[type="reset"], input[type="submit"] { @include button-transition; background: $color__background-button; border: none; border-radius: 5px; box-sizing: border-box; color: $color__background-body; @include font-family( $font__heading ); font-size: $font__size-sm; font-weight: 700; line-height: $font__line-height-heading; outline: none; padding: ( $size__spacing-unit * .76 ) $size__spacing-unit; text-decoration: none; vertical-align: bottom; &:hover { background: $color__background-button-hover; cursor: pointer; } &:visited { color: $color__background-body; text-decoration: none; } &:focus { background: $color__background-button-hover; outline: thin dotted; outline-offset: -4px; } } forms/_forms.scss000066600000000046152331317540010064 0ustar00@import "buttons"; @import "fields"; forms/_fields.scss000066600000001725152331317540010211 0ustar00input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea { -webkit-backface-visibility: hidden; background: $color__background-input; border: solid 1px $color__border; box-sizing: border-box; outline: none; padding: #{.36 * $size__spacing-unit} #{.66 * $size__spacing-unit}; -webkit-appearance: none; outline-offset: 0; border-radius: 0; &:focus { border-color: $color__link; outline: thin solid rgba( $color__link, 0.15 ); outline-offset: -4px; } } input[type="search"] { &::-webkit-search-decoration { display: none; } } textarea { box-sizing: border-box; display: block; width: 100%; max-width: 100%; resize: vertical; } form { p { margin: $size__spacing-unit 0; } }navigation/_next-previous.scss000066600000005246152331317540012606 0ustar00/* Next/Previous navigation */ // Singular navigation .post-navigation { margin: calc(3 * 1rem) 0; @include media(tablet) { margin: calc(3 * 1rem) $size__site-margins; max-width: calc(6 * (100vw / 12)); } @include media(desktop) { margin: calc(3 * 1rem) 0; max-width: 100%; } .nav-links { margin: 0 $size__spacing-unit; max-width: 100%; display: flex; flex-direction: column; @include media(tablet) { margin: 0; } @include media(desktop) { flex-direction: row; margin: 0 $size__site-margins; max-width: $size__site-desktop-content; } a { .meta-nav { color: $color__text-light; user-select: none; &:before, &:after { display: none; content: "—"; width: 2em; color: $color__text-light; height: 1em; } } .post-title { hyphens: auto; } &:hover { color: $color__link-hover; } } .nav-previous, .nav-next { @include media(desktop) { min-width: calc(50% - 2 * #{$size__spacing-unit}); } } .nav-previous { order: 2; @include media(desktop) { order: 1; } + .nav-next { margin-bottom: $size__spacing-unit; } .meta-nav { &:before { display: inline; } } } .nav-next { order: 1; @include media(desktop) { order: 2; padding-left: $size__spacing-unit; } .meta-nav { &:after { display: inline; } } } } } // Index/archive navigation .pagination { .nav-links { display: flex; flex-wrap: wrap; padding: 0 calc(.5 * #{$size__spacing-unit}); & > * { padding: calc(.5 * #{$size__spacing-unit}); &.dots, &.prev { padding-left: 0; } &.dots, &.next { padding-right: 0; } } a:focus { text-decoration: underline; outline-offset: -1px; &.prev, &.next { text-decoration: none; .nav-prev-text, .nav-next-text { text-decoration: underline; } } } .nav-next-text, .nav-prev-text { display: none; } @include media(tablet) { margin-left: $size__site-margins; padding: 0; .prev, .next { & > * { display: inline-block; vertical-align: text-bottom; } } & > * { padding: $size__spacing-unit; } } } } // Comments navigation .comment-navigation { .nav-links { display: flex; flex-direction: row; } .nav-previous, .nav-next { min-width: 50%; width: 100%; @include font-family( $font__heading ); font-weight: bold; .secondary-text { display: none; @include media(tablet) { display: inline; } } svg { vertical-align: middle; position: relative; margin: 0 -0.35em; top: -1px; } } .nav-next { text-align: right; } } navigation/_links.scss000066600000000455152331317540011073 0ustar00a { @include link-transition; color: $color__link; &:visited { color: $color__link-visited; } &:hover, &:active { color: $color__link-hover; outline: 0; text-decoration: none; } &:focus { outline: thin dotted; text-decoration: underline; text-decoration-thickness: 2px; } } navigation/_menu-footer-navigation.scss000066600000000332152331317540014342 0ustar00/** === Footer menu === */ .footer-navigation { display: inline; & > div { display: inline; } .footer-menu { display: inline; padding-left: 0; li { display: inline; margin-right: 1rem; } } }navigation/_menu-main-navigation.scss000066600000021035152331317540013773 0ustar00/** === Main menu === */ .main-navigation { display: block; margin-top: #{0.25 * $size__spacing-unit}; body.page & { display: block; } > div { display: inline; } /* Un-style buttons */ button { display: inline-block; border: none; padding: 0; margin: 0; font-family: $font__heading; font-weight: 700; line-height: $font__line-height-heading; text-decoration: none; background: transparent; color: inherit; cursor: pointer; transition: background 250ms ease-in-out, transform 150ms ease; -webkit-appearance: none; -moz-appearance: none; &:hover, &:focus { background: transparent; } &:focus { outline: 1px solid transparent; outline-offset: -4px; } &:active { transform: scale(0.99); } } .main-menu { display: inline-block; margin: 0; padding: 0; > li { color: $color__link; display: inline-block; position: relative; > a { font-weight: 700; color: $color__link; margin-right: #{0.5 * $size__spacing-unit}; + svg { margin-right: #{0.5 * $size__spacing-unit}; } &:hover, &:hover + svg { color: $color__link-hover; } } &.menu-item-has-children { display: inline-block; position: inherit; @include media(tablet) { position: relative; } > a { margin-right: #{0.125 * $size__spacing-unit}; } & > a, .menu-item-has-children > a { &:after { content: ""; display: none; } } .submenu-expand { display: inline-block; margin-right: #{0.25 * $size__spacing-unit}; /* Priority+ Menu */ &.main-menu-more-toggle { position: relative; height: 24px; line-height: $font__line-height-heading; width: 24px; padding: 0; margin-left: #{0.5 * $size__spacing-unit}; svg { height: 24px; width: 24px; top: #{-0.125 * $size__spacing-unit}; vertical-align: text-bottom; } } .wp-customizer-unloading &, &.is-empty { display: none; } svg { position: relative; top: 0.2rem; } } } &:last-child > a, &:last-child.menu-item-has-children .submenu-expand { margin-right: 0; } } } .sub-menu { background-color: $color__link; color: $color__background-body; list-style: none; padding-left: 0; position: absolute; opacity: 0; left: -9999px; z-index: 99999; @include media(tablet) { width: auto; min-width: -moz-max-content; min-width: -webkit-max-content; min-width: max-content; } > li { display: block; float: none; position: relative; &.menu-item-has-children { .submenu-expand { display: inline-block; position: absolute; width: calc( 24px + #{$size__spacing-unit} ); right: 0; top: calc( .125 * #{$size__spacing-unit} ); bottom: 0; color: white; line-height: 1; padding: calc( .5 * #{$size__spacing-unit} ); svg { top: 0; } } .submenu-expand { margin-right: 0; } @include media(tablet) { .menu-item-has-children > a { &:after { content: "\203a"; } } } } > a, > .menu-item-link-return { color: $color__background-body; display: block; line-height: $font__line-height-heading; text-shadow: none; padding: calc( .5 * #{$size__spacing-unit} ) calc( 24px + #{$size__spacing-unit} ) calc( .5 * #{$size__spacing-unit} ) $size__spacing-unit; max-width: #{20 * $size__spacing-unit}; &:hover, &:focus { background: $color__link-hover; &:after { background: $color__link-hover; } } } > .menu-item-link-return { width: 100%; font-size: $font__size_base; font-weight: normal; text-align: left; } > a:empty { display: none; } &.mobile-parent-nav-menu-item { display: none; font-size: $font__size-sm; font-weight: normal; svg { position: relative; top: 0.2rem; margin-right: calc( .25 * #{$size__spacing-unit} ); } } } } /* * Sub-menu styles * * :focus-within needs its own selector so other similar * selectors don’t get ignored if a browser doesn’t recognize it */ .main-menu .menu-item-has-children:not(.off-canvas):focus-within > .sub-menu { display: block; left: 0; margin-top: 0; opacity: 1; width: auto; min-width: 100%; /* Non-mobile position */ @include media(tablet) { display: block; margin-top: 0; opacity: 1; position: absolute; left: 0; right: auto; top: auto; bottom: auto; height: auto; min-width: -moz-max-content; min-width: -webkit-max-content; min-width: max-content; transform: none; } &.hidden-links { left: 0; width: 100%; display: table; position: absolute; @include media(tablet) { right: 0; left: auto; display: block; width: max-content; } } .submenu-expand { display: none; } .sub-menu { display: block; margin-top: inherit; position: relative; width: 100%; left: 0; opacity: 1; /* Non-mobile position */ @include media(tablet) { float: none; max-width: 100%; } } /* Nested sub-menu dashes */ .sub-menu { counter-reset: submenu; } .sub-menu > li > a::before { font-family: $font__body; font-weight: normal; content: "\2013\00a0" counters(submenu, "\2013\00a0", none); counter-increment: submenu } } .main-menu .menu-item-has-children:not(.off-canvas):hover > .sub-menu, .main-menu .menu-item-has-children:not(.off-canvas):focus > .sub-menu, .main-menu .menu-item-has-children.is-focused:not(.off-canvas) > .sub-menu { display: block; left: 0; margin-top: 0; opacity: 1; width: auto; min-width: 100%; /* Non-mobile position */ @include media(tablet) { display: block; float: none; margin-top: 0; opacity: 1; position: absolute; left: 0; right: auto; top: auto; bottom: auto; height: auto; min-width: -moz-max-content; min-width: -webkit-max-content; min-width: max-content; transform: none; } &.hidden-links { left: 0; width: 100%; display: table; position: absolute; @include media(tablet) { right: 0; left: auto; display: table; width: max-content; } } .submenu-expand { display: none; } .sub-menu { display: block; margin-top: inherit; position: relative; width: 100%; left: 0; opacity: 1; /* Non-mobile position */ @include media(tablet) { float: none; max-width: 100%; } } /* Nested sub-menu dashes */ .sub-menu { counter-reset: submenu; } .sub-menu > li > a::before { font-family: $font__body; font-weight: normal; content: "\2013\00a0" counters(submenu, "\2013\00a0", none); counter-increment: submenu } } /** * Fade-in animation for top-level submenus */ .main-menu > .menu-item-has-children:not(.off-canvas):hover > .sub-menu { animation: fade_in 0.1s forwards; } /** * Off-canvas touch device styles */ .main-menu .menu-item-has-children.off-canvas .sub-menu { .submenu-expand .svg-icon { transform: rotate(270deg); } .sub-menu { opacity: 0; position: absolute; z-index: 0; transform: translateX(-100%); } li:hover, li:focus, li > a:hover, li > a:focus { background-color: transparent; } > li > a, > li > .menu-item-link-return { white-space: inherit; } &:not(:has(.sub-menu.expanded-true)) { overflow-y: scroll; } &.expanded-true { display: block; margin-top: 0; opacity: 1; padding-left: 0; /* Mobile position */ left: 0; top: 0; right: 0; bottom: 0; position: fixed; z-index: 100000; /* Make sure appears above mobile admin bar */ width: 100vw; height: 100vh; max-width: 100vw; transform: translateX(+100%); animation: slide_in_right 0.3s forwards; > .mobile-parent-nav-menu-item { display: block; } /* Prevent menu from being blocked by admin bar */ .admin-bar & { top: 46px; height: calc( 100vh - 46px ); .sub-menu.expanded-true { top: 0; } /* WP core breakpoint */ @media only screen and ( min-width: 782px ) { top: 32px; height: calc( 100vh - 32px ); .sub-menu.expanded-true { top: 0; } } } } } // Hide duplicate menu-more-link when re-loading a menu in the customizer .main-menu-more { &:nth-child(n+3) { display: none; } } } /* Menu animation */ @keyframes slide_in_right { 100% { transform: translateX(0%); } } @keyframes fade_in { from { opacity: 0; } to { opacity: 1; } } navigation/_navigation.scss000066600000001073152331317540012107 0ustar00/*-------------------------------------------------------------- ## Links --------------------------------------------------------------*/ @import "links"; /*-------------------------------------------------------------- ## Menus --------------------------------------------------------------*/ @import "menu-main-navigation"; @import "menu-social-navigation"; @import "menu-footer-navigation"; /*-------------------------------------------------------------- ## Next / Previous --------------------------------------------------------------*/ @import "next-previous"; navigation/_menu-social-navigation.scss000066600000002235152331317540014322 0ustar00/* Social menu */ .social-navigation { margin-top: calc(#{$size__spacing-unit} / 2 ); text-align: left; ul.social-links-menu { @include clearfix; display: inline-block; margin: 0; padding: 0; li { display: inline-block; vertical-align: bottom; vertical-align: -webkit-baseline-middle; list-style: none; &:nth-child(n+2) { margin-left: 0.1em; } a { border-bottom: 1px solid transparent; display: block; color: $color__text-main; margin-bottom: -1px; transition: opacity $link_transition ease-in-out; &:hover, &:active { color: $color__text-main; opacity: 0.6; } &:focus { color: $color__text-main; opacity: 1; border-bottom: 1px solid $color__text-main; } svg { display: block; width: 32px; height: 32px; // Prevent icons from jumping in Safari using hardware acceleration. transform: translateZ(0); &#ui-icon-link { transform: rotate(-45deg); } } } } } } .site-title + .social-navigation, .site-description + .social-navigation { @include media(tablet) { margin-top: calc(#{$size__spacing-unit} / 5 ); } } _normalize.scss000066600000013542152331317540007615 0ustar00/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } site/primary/_posts-and-pages.scss000066600000011552152331317540013250 0ustar00.sticky { display: block; } .sticky-post { background: $color__background-button; color: #fff; display: inline-block; font-weight: bold; line-height: 1; padding: .25rem; position: absolute; text-transform: uppercase; top: -$size__spacing-unit; z-index: 1; } .updated:not(.published) { display: none; } .page-links { clear: both; margin: 0 0 calc(1.5 * #{$size__spacing-unit}); } .entry { margin-top: calc(6 * #{$size__spacing-unit}); &:first-of-type { margin-top: 0; } .entry-header { margin: calc(3 * #{ $size__spacing-unit}) $size__spacing-unit $size__spacing-unit; position: relative; @include media(tablet) { margin: calc(3 * #{ $size__spacing-unit}) $size__site-margins $size__spacing-unit; } } .entry-title { @include post-section-dash; margin: 0; a { color: inherit; &:hover { color: $color__text-hover; } } } .entry-meta, .entry-footer { color: $color__text-light; font-weight: 500; > span { margin-right: $size__spacing-unit; display: inline-block; &:last-child { margin-right: 0; } } a { @include link-transition; color: currentColor; &:hover { text-decoration: none; color: $color__link; } } .svg-icon { position: relative; display: inline-block; vertical-align: middle; margin-right: 0.5em; } } .entry-meta { margin: $size__spacing-unit 0; } .entry-footer { margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit $size__spacing-unit; @include media(tablet) { margin: $size__spacing-unit $size__site-margins calc(3 * #{$size__spacing-unit}); max-width: $size__site-tablet-content; } @include media(tablet) { max-width: $size__site-desktop-content; } } .post-thumbnail { margin: $size__spacing-unit; @include media(tablet) { margin: $size__spacing-unit $size__site-margins; } &:focus { outline: none; } .post-thumbnail-inner { display: block; img { position: relative; display: block; width: 100%; } } } .image-filters-enabled & { .post-thumbnail { position: relative; display: block; .post-thumbnail-inner { filter: grayscale(100%); &:after { background: rgba(0, 0, 0, 0.35); content: ""; display: block; height: 100%; opacity: .5; pointer-events: none; position: absolute; top: 0; width: 100%; z-index: 4; @supports (mix-blend-mode: multiply) { display: none; } } } &:before, &:after { position: absolute; display: block; width: 100%; height: 100%; top: 0; left: 0; content: "\020"; pointer-events: none; } @include filter-duotone; } } .entry-content, .entry-summary { max-width: calc(100% - (2 * #{ $size__spacing-unit })); margin: 0 $size__spacing-unit; @include media(tablet) { max-width: 80%; margin: 0 10%; padding: 0 60px; } } .entry-content { p { word-wrap: break-word; } .more-link { @include link-transition; display: inline; color: inherit; &:after { content: "\02192"; display: inline-block; margin-left: 0.5em; } &:hover { color: $color__link; text-decoration: none; } } a { text-decoration: underline; text-decoration-thickness: 2px; &.button, &:hover { text-decoration: none; } &.button { display: inline-block; } &.button:hover { background: $color__background-button-hover; color: $color__background-body; cursor: pointer; } } // Overwrite iframe embeds that have inline styles. > iframe[style] { margin: 32px 0 !important; max-width: 100% !important; @include media(tablet) { max-width: $size__site-tablet-content !important; } @include media(desktop) { max-width: $size__site-desktop-content !important; } } // Page links .page-links a { margin: calc(0.5 * #{$size__spacing-unit}); text-decoration: none; } // Classic editor audio embeds. .wp-audio-shortcode { max-width: calc(100vw - (2 * #{ $size__spacing-unit })); @include media(tablet) { max-width: $size__site-tablet-content; } @include media(desktop) { max-width: $size__site-desktop-content; } } } } /* Author description */ .author-bio { margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit $size__spacing-unit; @include postContentMaxWidth(); @include media(tablet) { margin: calc(3 * #{$size__spacing-unit}) $size__site-margins; } @include media(desktop) { margin: calc(3 * #{$size__spacing-unit}) $size__site-margins; } .author-title { @include post-section-dash; display: inline; } .author-description { display: inline; color: $color__text-light; font-size: $font__size-md; line-height: $font__line-height-heading; .author-link { display: inline-block; &:hover { color: $color__link-hover; text-decoration: none; } } } } site/primary/_comments.scss000066600000015067152331317540012075 0ustar00.comment-content a { word-wrap: break-word; } .bypostauthor { display: block; } .comments-area { -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit; word-wrap: break-word; @include postContentMaxWidth(); @include media(tablet) { margin: calc(3 * #{$size__spacing-unit}) $size__site-margins; } & > * { margin-top: calc(2 * #{$size__spacing-unit}); margin-bottom: calc(2 * #{$size__spacing-unit}); @include media(tablet) { margin-top: calc(3 * #{$size__spacing-unit}); margin-bottom: calc(3 * #{$size__spacing-unit}); } } /* Add extra margin when the comments section is located immediately after the * post itself (this happens on pages). */ .entry + & { margin-top: calc(3 * #{$size__spacing-unit}); } .comments-title-wrap { @include media(tablet) { align-items: baseline; display: flex; justify-content: space-between; } .comments-title { @include post-section-dash; margin: 0; @include media(tablet) { flex: 1 0 calc(3 * (100vw / 12)); } } .discussion-meta { @include media(tablet) { flex: 0 0 calc(2 * (100vw / 12)); margin-left: #{$size__spacing-unit}; } } } } #comment { max-width: 100%; box-sizing: border-box; } #respond { position: relative; .comment-user-avatar { margin: $size__spacing-unit 0 -#{$size__spacing-unit}; } .comment .comment-form { padding-left: 0; } > small { display: block; font-size: $font__size_base; position: absolute; left: calc(#{$size__spacing-unit} + 100%); top: calc(-3.5 * #{$size__spacing-unit}); width: calc(100vw / 12 ); } .comment-reply-title small { margin-left: 0.5em; } } #comments { > .comments-title:last-child { display: none; } } .comment-form-flex { display: flex; flex-direction: column; .comments-title { display: none; margin: 0; order: 1; } #respond { order: 2; + .comments-title { display: block; } } } .comment-form-wrapper, .comment-form-wrapper .comments-title { display: block; } .comment-list { list-style: none; padding: 0; .children { margin: 0; padding: 0 0 0 $size__spacing-unit; } > .comment:first-child { margin-top: 0; } .pingback, .trackback { .comment-body { color: $color__text-light; @include font-family( $font__heading ); font-size: $font__size-xs; font-weight: 500; margin-top: $size__spacing-unit; margin-bottom: $size__spacing-unit; a:not(.comment-edit-link) { font-weight: bold; font-size: $font__size-base / (1 * $font__size-ratio); line-height: 1.5; padding-right: #{0.5 * $size__spacing-unit}; display: block; } .comment-edit-link { color: $color__text-light; @include font-family( $font__heading ); font-weight: 500; } } } } .comment-reply { #respond + & { display: none; } .comment-reply-link { display: inline-block; } } .comment { list-style: none; position: relative; @include media(tablet) { padding-left: calc(.5 * (#{$size__spacing-unit} + calc(100vw / 12 ))); &.depth-1, .children { padding-left: 0; } &.depth-1 { margin-left: calc(3.25 * #{$size__spacing-unit}); } } .comment-body { margin: calc(2 * #{$size__spacing-unit}) 0 0; } .comment-meta { position: relative; } .comment-author { .avatar { float: left; height: calc(2.25 * #{$size__spacing-unit}); margin-right: $size__spacing-unit; position: relative; width: calc(2.25 * #{$size__spacing-unit}); @include media(tablet) { float: inherit; margin-right: inherit; position: absolute; top: 0; right: calc(100% + #{$size__spacing-unit}); } } .fn { position: relative; display: block; a { color: inherit; &:hover { color: $color__link-hover; } } } .post-author-badge { border-radius: 100%; display: block; height: 18px; position: absolute; background: lighten( $color__link, 8% ); right: calc(100% - #{$size__spacing-unit * 2.5}); top: -3px; width: 18px; @include media(tablet) { right: calc(100% + #{$size__spacing-unit * .75}); } svg { width: inherit; height: inherit; display: block; fill: white; transform: scale(0.875); } } } .comment-metadata { > a, .comment-edit-link { display: inline; font-weight: 500; color: $color__text-light; vertical-align: baseline; time { vertical-align: baseline; } &:hover { color: $color__link-hover; text-decoration: none; } } > * { display: inline-block; } .edit-link-sep { color: $color__text-light; margin: 0 0.2em; vertical-align: baseline; } .edit-link { color: $color__text-light; svg { transform: scale(0.8); vertical-align: baseline; margin-right: 0.1em; } } .comment-edit-link { position: relative; padding-left: $size__spacing-unit; margin-left: -#{$size__spacing-unit}; z-index: 1; &:hover { color: $color__link; } } } .comment-content { margin: $size__spacing-unit 0; @include media(desktop) { padding-right: $size__spacing-unit; } > *:first-child { margin-top: 0; } > *:last-child { margin-bottom: 0; } blockquote { margin-left: 0; } a { text-decoration: underline; text-decoration-thickness: 2px; &:hover { text-decoration: none; } } } } .comment-reply-link, #cancel-comment-reply-link { font-weight: 500; &:hover { color: $color__link-hover; } } .discussion-avatar-list { @include clearfix; margin: 0; padding: 0; li { position: relative; list-style: none; margin: 0 -8px 0 0; padding: 0; float: left; } .comment-user-avatar { img { height: calc(1.5 * #{$size__spacing-unit}); width: calc(1.5 * #{$size__spacing-unit}); } } } .discussion-meta { .discussion-meta-info { margin: 0; .svg-icon { vertical-align: middle; fill: currentColor; transform: scale( 0.6 ) scaleX(-1) translateY(-0.1em); margin-left: -#{.25 * $size__spacing-unit}; // Align icon with avatars above. } } } .comment-form { .comment-notes, label { @include font-family( $font__heading ); font-size: $font__size-xs; color: $color__text-light; } #wp-comment-cookies-consent { margin: 0 10px 0 0; } .comment-form-author, .comment-form-email { @include media(tablet) { width: calc(50% - #{$size__spacing-unit / 2}); float: left; } } .comment-form-email { @include media(tablet) { margin-left: $size__spacing-unit; } } input[name="author"], input[name="email"], input[name="url"] { display: block; width: 100%; } } site/primary/_archives.scss000066600000002227152331317540012046 0ustar00.archive .page-header, .search .page-header, .error404 .page-header { margin: $size__spacing-unit $size__spacing-unit calc(3 * #{$size__spacing-unit}); @include media(tablet) { margin: 0 $size__site-margins calc(3 * #{$size__spacing-unit}); } .page-title { color: $color__text-light; display: inline; letter-spacing: normal; &:before { display: none; } } .search-term, .page-description { display: inherit; clear: both; } } .archive .page-header .page-description, .search .page-header .page-description { display: block; color: $color__text-main; font-size: 1em; } .hfeed .entry .entry-header { @include media(tablet) { margin: calc(3 * #{$size__spacing-unit}) $size__site-margins calc(#{ $size__spacing-unit } / 2); } } /* 404 & Not found */ .error-404.not-found, .no-results.not-found { .page-content { margin: calc(3 * #{$size__spacing-unit}) #{$size__spacing-unit}; @include media(tablet) { margin: calc(3 * #{$size__spacing-unit}) $size__site-margins calc(#{ $size__spacing-unit } / 2); } } .search-submit { vertical-align: middle; margin: $size__spacing-unit 0; } .search-field { width: 100%; } } site/secondary/_widgets.scss000066600000003026152331317540012212 0ustar00.widget { margin: 0 0 #{$size__spacing-unit}; .widget-title { font-size: $font__size-lg; } /* Make sure select elements fit in widgets. */ select { max-width: 100%; } a { color: $color__link; &:hover { color: $color__link-hover; } } } .widget_archive, .widget_categories, .widget_meta, .widget_nav_menu, .widget_pages, .widget_recent_comments, .widget_recent_entries, .widget_rss { ul { padding: 0; list-style: none; li { color: $color__text-light; @include font-family( $font__heading ); font-size: calc(#{$font__size_base} * #{$font__size-ratio}); font-weight: 700; line-height: $font__line-height-heading; margin-top: #{0.5 * $size__spacing-unit}; margin-bottom: #{0.5 * $size__spacing-unit}; } @include nestedSubMenuPadding(); } } .widget_tag_cloud { .tagcloud { @include font-family( $font__heading ); font-weight: 700; } } .widget_search { .search-field { width: 100%; @include media(mobile) { width: auto; } } .search-submit { display: block; margin-top: $size__spacing-unit; } } .widget_calendar .calendar_wrap { text-align: center; table td, table th { border: none; } a { text-decoration: underline; text-decoration-thickness: 2px; } .wp-calendar-table { margin-bottom: 0; } .wp-calendar-nav { margin: 0 0 $size__spacing-unit; display: table; width: 100%; @include font-family( $font__heading ); span { display: table-cell; padding: 0.5em; } } .wp-calendar-nav-prev, .wp-calendar-nav-next { width: 40%; } }site/_site.scss000066600000001614152331317540007522 0ustar00 /*-------------------------------------------------------------- ## Header --------------------------------------------------------------*/ @import "header/site-header"; @import "header/site-featured-image"; /*-------------------------------------------------------------- ## Posts and pages --------------------------------------------------------------*/ @import "primary/posts-and-pages"; /*-------------------------------------------------------------- ## Comments --------------------------------------------------------------*/ @import "primary/comments"; /*-------------------------------------------------------------- ## Archives --------------------------------------------------------------*/ @import "primary/archives"; /*-------------------------------------------------------------- ## Footer --------------------------------------------------------------*/ @import "footer/site-footer"; site/header/_site-featured-image.scss000066600000013626152331317540013635 0ustar00// Featured image styles .site-header.featured-image { /* Hide overflow for overflowing featured image */ overflow: hidden; /* Need relative positioning to properly align layers. */ position: relative; /* Add text shadow to text, to increase readability. */ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); /* Set white text color when featured image is set. */ .site-branding .site-title, .site-branding .site-description, .main-navigation a:after, .main-navigation .main-menu > li.menu-item-has-children:after, .main-navigation li, .social-navigation li, .entry-meta, .entry-title { color: $color__background-body; } .main-navigation a, .main-navigation a + svg, .social-navigation a, .site-title a, .site-featured-image a { color: $color__background-body; transition: opacity $link_transition ease-in-out; &:hover, &:active, &:hover + svg, &:active + svg { color: $color__background-body; opacity: 0.6; } &:focus, &:focus + svg { color: $color__background-body; } } .main-navigation .sub-menu a { opacity: inherit; } /* add focus state to social media icons */ .social-navigation a { &:focus { color: $color__background-body; opacity: 1; border-bottom: 1px solid $color__background-body; } } .social-navigation svg, .site-featured-image svg { /* Use -webkit- only if supporting: Chrome < 54, iOS < 9.3, Android < 4.4.4 */ -webkit-filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35) ); filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35) ); } /* Entry header */ .site-featured-image { .post-thumbnail img { height: auto; left: 50%; max-width: 1000%; min-height: 100%; min-width: 100vw; position: absolute; top: 50%; transform: translateX(-50%) translateY(-50%); width: auto; z-index: 1; @supports ( object-fit: cover ) { height: 100%; left: 0; object-fit: cover; top: 0; transform: none; width: 100%; } .image-filters-enabled & { /* First layer: grayscale. */ /* When image filters are active, make it grayscale to colorize it blue. */ filter: grayscale(100%); } } .entry-header { margin-top: calc( 4 * #{$size__spacing-unit}); margin-bottom: 0; margin-left: 0; margin-right: 0; @include media (tablet) { margin-left: $size__site-margins; margin-right: $size__site-margins; } .entry-title { &:before { background: $color__background-body; } } /* Entry meta */ .entry-meta { font-weight: 500; > span { margin-right: $size__spacing-unit; display: inline-block; &:last-child { margin-right: 0; } } a { @include link-transition; color: currentColor; &:hover { text-decoration: none; } } .svg-icon { position: relative; display: inline-block; vertical-align: middle; margin-right: 0.5em; } .discussion-avatar-list { display: none; } } &.has-discussion { @include media (tablet) { .entry-meta { display: flex; position: relative; } .entry-title { padding-right: calc(1 * (100vw / 12) + #{$size__spacing-unit}); } .entry-meta .comment-count { position: absolute; right: 0; } .entry-meta .discussion-avatar-list { display: block; position: absolute; bottom: 100%; } } } } } /* Custom Logo Link */ .custom-logo-link { background: $color__background-body; box-shadow: 0 0 0 0 rgba($color__background-body, 0); &:hover, &:active, &:focus { box-shadow: 0 0 0 2px rgba($color__background-body, 1); } } /* Make sure important elements are above pseudo elements used for effects. */ .site-branding { position: relative; z-index: 10; } .site-featured-image .entry-header { position: relative; z-index: 9; } /* Set up image filter layer positioning */ .site-branding-container:after, .site-featured-image:before, .site-featured-image:after, &:after { display: block; position: absolute; top: 0; left: 0; content: "\020"; width: 100%; height: 100%; } /* Background & Effects */ /* Shared background settings between pseudo elements. */ background-position: center; background-repeat: no-repeat; background-size: cover; /* The intensity of each blend mode is controlled via layer opacity. */ /* Second layer: screen. */ .image-filters-enabled & .site-featured-image:before { background: $color__link; mix-blend-mode: screen; opacity: 0.1; } /* Third layer: multiply. */ /* When image filters are inactive, a black overlay is added. */ .site-featured-image:after { background: #000; mix-blend-mode: multiply; opacity: .7; /* When image filters are active, a blue overlay is added. */ .image-filters-enabled & { background: $color__link; opacity: .8; z-index: 3; /* Browsers supporting mix-blend-mode don't need opacity < 1 */ @supports (mix-blend-mode: multiply) { opacity: 1; } } } /* Fourth layer: overlay. */ .image-filters-enabled & .site-branding-container:after { background: rgba(0, 0, 0, 0.35); mix-blend-mode: overlay; opacity: 0.5; z-index: 4; /* Browsers supporting mix-blend-mode can have a light overlay */ @supports (mix-blend-mode: overlay) { background: rgba($color__background-body, 0.35); } } /* Fifth layer: readability overlay */ &:after { background: #000; /** * Add a transition to the readability overlay, to add a subtle * but smooth effect when resizing the screen. */ transition: opacity 1200ms ease-in-out; opacity: 0.7; z-index: 5; /* When image filters are active, a blue overlay is added. */ .image-filters-enabled & { background: mix($color__link, black, 12%); opacity: 0.38; @include media(tablet) { opacity: 0.18; } } } ::-moz-selection { background: rgba($color__background-body, 0.17); } ::selection { background: rgba($color__background-body, 0.17); } } site/header/_site-header.scss000066600000004055152331317540012202 0ustar00// Site header .site-header { padding: 1em; &.featured-image { display: flex; flex-direction: column; justify-content: space-between; min-height: 90vh; .site-branding-container { margin-bottom: auto; } } @include media(tablet) { margin: 0; padding: 3rem 0; &.featured-image { min-height: 100vh; margin-bottom: 3rem; } } } // Site branding .site-branding { color: $color__text-light; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; position: relative; word-wrap: break-word; @include media(tablet) { margin: 0 $size__site-margins; } } // Site logo .site-logo { position: relative; z-index: 999; margin-bottom: calc(.66 * #{$size__spacing-unit}); @include media(tablet) { margin-bottom: 0; position: absolute; right: calc(100% + (1.25 * #{$size__spacing-unit})); top: 4px; // Accounts for box-shadow widths z-index: 999; } .custom-logo-link { border-radius: 100%; box-sizing: content-box; box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); display: block; width: 50px; height: 50px; overflow: hidden; transition: box-shadow $background_transition ease-in-out; .custom-logo { min-height: inherit; } &:hover, &:active, &:focus { box-shadow: 0 0 0 2px rgba(0, 0, 0, 1); } @include media(tablet) { width: 64px; height: 64px; } } } // Site title .site-title { margin: auto; display: inline; color: $color__text-main; a { color: $color__text-main; &:link, &:visited { color: $color__text-main; } &:hover { color: $color__text-hover; } } .featured-image & { margin: 0; @include media(tablet) { display: inline-block; } } /* When there is no description set, make sure navigation appears below title. */ + .main-navigation { display: block; } @include media(tablet) { display: inline; } &:not(:empty) + .site-description:not(:empty):before { content: "\2014"; margin: 0 .2em; } } // Site description .site-description { display: inline; color: $color__text-light; font-weight: normal; margin: 0; } site/footer/_site-footer.scss000066600000001614152331317540012314 0ustar00/* Site footer */ #colophon { .widget-area, .site-info { margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit; @include media(tablet) { margin: calc(3 * #{$size__spacing-unit}) $size__site-margins; } } .widget-column { display: flex; flex-wrap: wrap; .widget { -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; width: 100%; word-wrap: break-word; @include media(desktop) { margin-right: calc(3 * #{$size__spacing-unit}); width: calc(50% - (3 * #{$size__spacing-unit})); } } } .site-info { color: $color__text-light; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; word-wrap: break-word; a { color: inherit; &:hover { text-decoration: none; color: $color__link; } } .imprint, .privacy-policy-link { margin-right: $size__spacing-unit; } } }variables-site/_colors.scss000066600000002037152331317540012025 0ustar00 // Backgrounds $color__background-body: #fff; $color__background-input: #fff; $color__background-screen: #f1f1f1; $color__background-hr: #ccc; $color__background-button: #0073aa; $color__background-button-hover: #111; $color__background-pre: #eee; $color__background-ins: #fff9c0; $color__background_selection: mix( $color__background-body, $color__background-button, 75% ); // lighten( salmon, 22.5% ); // lighten( #0999d4, 48% ); // Text $color__text-main: #111; $color__text-light: #767676; $color__text-hover: lighten( #111, 22.5% ); $color__text-screen: #21759b; $color__text-input: #666; $color__text-input-focus: #111; // Links $color__link: #0073aa; $color__link-visited: #0073aa; $color__link-hover: darken( $color__link, 10% ); // Borders $color__border: #ccc; $color__border-link: #0073aa; $color__border-link-hover: darken( $color__link, 10% ); $color__border-button: #ccc #ccc #bbb; $color__border-button-hover: #ccc #bbb #aaa; $color__border-button-focus: #aaa #bbb #bbb; $color__border-input: $color__border; $color__border-abbr: #666; variables-site/_variables-site.scss000066600000000142152331317540013431 0ustar00@import "colors"; @import "fonts"; @import "structure"; @import "columns"; @import "transitions"; variables-site/_columns.scss000066600000000614152331317540012203 0ustar00$columns: ( 1: calc(1 * (100vw / 12)), 2: calc(2 * (100vw / 12)), 3: calc(3 * (100vw / 12)), 4: calc(4 * (100vw / 12)), 5: calc(5 * (100vw / 12)), 6: calc(6 * (100vw / 12)), 7: calc(7 * (100vw / 12)), 8: calc(8 * (100vw / 12)), 9: calc(9 * (100vw / 12)), 10: calc(10 * (100vw / 12)), 11: calc(11 * (100vw / 12)), 12: calc(12 * (100vw / 12)) ); $columns__margin: $size__spacing-unit; variables-site/_structure.scss000066600000000564152331317540012567 0ustar00// Responsive widths. $size__spacing-unit: 1rem; $size__site-main: 100%; $size__site-sidebar: 25%; $size__site-margins: calc(10% + 60px); $size__site-tablet-content: calc(8 * (100vw / 12) - 28px); $size__site-desktop-content: calc(6 * (100vw / 12) - 28px); // Responsive widths. $mobile_width: 600px; $tablet_width: 768px; $desktop_width: 1168px; $wide_width: 1379px; variables-site/_fonts.scss000066600000014512152331317540011656 0ustar00/* * Chrome renders extra-wide   characters for the Hoefler Text font. * This results in a jumping cursor when typing in both the Classic and block * editors. The following font-face override fixes the issue by manually inserting * a custom font that includes just a Hoefler Text space replacement for that * character instead. */ @font-face { font-family: 'NonBreakingSpaceOverride'; src: url(data:application/font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMoAA0AAAAACDQAAALTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GYACCahEICjx3CywAATYCJANUBCAFhiEHgWwbXQfILgpsY+rQRRARwyAs6uL7pxzYhxEE+32b3aeHmifR6tklkS9hiZA0ewkqGRJE+H7/+6378ASViK/PGeavqJyOzsceKi1s3BCiQsiOdn1r/RBgIJYEgCUhbm/8/8/h4saPssnTNkkiWUBrTRtjmQSajw3Ui3pZ3LYDPD+XG2C3JA/yKAS8/rU5eNfuGqRf4eNNgV4YAlIIgxglEkWe6FYpq10+wi3g+/nUgvgPFczNrz/RsTgVm/zfbPuHZlsuQECxuyqBcQwKFBjFgKO8AqP4bAN9tFJtnM9xPcbNjeXS/x1wY/xU52f5W/X1+9cnH4YwKIaoRRAkUkj/YlAAeF/624foiIDBgBmgQBeGAyhBljUPZUm/l2dTvmpqcBDUOHdbPZWd8JsBAsGr4w8/EDn82/bUPx4eh0YNrQTBuHO2FjQEAGBwK0DeI37DpQVqdERS4gZBhpeUhWCfLFz7J99aEBgsJCHvUGAdAPp4IADDCAPCEFMGpMZ9AQpTfQtQGhLbGVBZFV8BaqNyP68oTZgHNj3M8kBPfXTTC9t90UuzYhy9ciH0grVlOcqyCytisvbsERsEYztiznR0WCrmTksJwbSNK6fd1Rvr25I9oLvctUoEbNOmXJbqgYgPXEHJ82IUsrCnpkxh23F1rfZ2zcRnJYoXtauB3VTFkFXQg3uoZYD5qE0kdjDtoDoF1h2bulGmev5HbYhbrjtohQSRI4aNOkffIcT+d3v6atpaYh3JvPoQsztCcqvaBkppDSPcQ3bw3KaCBo1f5CJWTZEgW3LjLofYg51MaVezrx8xZitYbQ9KYeoRaqQdVLwSEfrKXLK1otCWOKNdR/YwYAfon5Yk8O2MJfSD10dPGA5PIJJQMkah0ugMJiv6x4Dm7LEa8xnrRGGGLAg4sAlbsA07sAt76DOsXKO3hIjtIlpnnFrt1qW4kh6NhS83P/6HB/fl1SMAAA==) format('woff2'), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAUQAA0AAAAACDQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE9AAAABwAAAAchf5yU0dERUYAAATYAAAAHAAAAB4AJwAbT1MvMgAAAaAAAABJAAAAYJAcgU5jbWFwAAACIAAAAF4AAAFqUUxBZ2dhc3AAAATQAAAACAAAAAgAAAAQZ2x5ZgAAApAAAAAyAAAAPL0n8y9oZWFkAAABMAAAADAAAAA2Fi93Z2hoZWEAAAFgAAAAHQAAACQOSgWaaG10eAAAAewAAAAzAAAAVC7TAQBsb2NhAAACgAAAABAAAAAsAOQBAm1heHAAAAGAAAAAHQAAACAAWQALbmFtZQAAAsQAAAF6AAADIYvD/Adwb3N0AAAEQAAAAI4AAADsapk2o3jaY2BkYGAA4ov5mwzj+W2+MnCzXwCKMNzgCBSB0LfbQDQ7AxuI4mBgAlEAFKQIRHjaY2BkYGD3+NvCwMDBAALsDAyMDKhAFAA3+wH3AAAAeNpjYGRgYBBl4GBgYgABEMnIABJzAPMZAAVmAGUAAAB42mNgZlJhnMDAysDCKsKygYGBYRqEZtrDYMT4D8gHSmEHjgUFOQwODAqqf9g9/rYwMLB7MNUAhRlBcsxBrMlASoGBEQAj8QtyAAAAeNrjYGBkAAGmWQwMjO8gmBnIZ2NA0ExAzNjAAFYJVn0ASBsD6VAIDZb7AtELAgANIgb9AHjaY2BgYGaAYBkGRgYQSAHyGMF8FgYPIM3HwMHAxMDGoMCwQIFLQV8hXvXP//9AcRCfAcb///h/ygPW+w/vb7olBjUHCTCyMcAFGZmABBO6AogThgZgIUsXAEDcEzcAAHjaY2BgECMCyoEgACZaAed42mNgYmRgYGBnYGNgYAZSDJqMgorCgoqCjECRXwwNrCAKSP5mAAFGBiRgyAAAi/YFBQAAeNqtkc1OwkAUhU/5M25cEhcsZick0AwlBJq6MWwgJkAgYV/KAA2lJeUn+hY+gktXvpKv4dLTMqKycGHsTZNv7px7z50ZAFd4hYHjdw1Ls4EiHjVncIFnzVnc4F1zDkWjrzmPW+NNcwGlzIRKI3fJlUyrEjZQxb3mDH2fNGfRx4vmHKqG0JzHg6E0F9DOlFBGBxUI1GEzLNT4S0aLuTtsGAEUuYcQHkyg3KmIum1bNUvKlrjbbAIleqHHnS4iSudpQcySMYtdFiXlAxzSbAwfMxK6kZoHKhbjjespMTioOPZnzI+4ucCeTVyKMVKLfeAS6vSWaTinuZwzyy/Dc7vaed+6KaV0kukdPUk6yOcctZPvvxxqksq2lEW8RvHjMEO2FCl/zy6p3NEm0R9OFSafJdldc4QVeyaaObMBO0/5cCaa6d9Ggyubxire+lEojscdjoWUR1xGOy8KD8mG2ZLO2l2paDc3A39qmU2z2W5YNv5+u79e6QfGJY/hAAB42m3NywrCMBQE0DupWp/1AYI7/6DEaLQu66Mrd35BKUWKJSlFv1+rue4cGM7shgR981qSon+ZNwUJ8iDgoYU2OvDRRQ99DDDECAHGmGCKmf80hZSx/Kik/LliFbtmN6xmt+yOjdg9GztV4tROnRwX/Bsaaw51nt4Lc7tWaZYHp/MlzKx51LZs5htNri+2AAAAAQAB//8AD3jaY2BkYGDgAWIxIGZiYARCESBmAfMYAAR6AEMAAAABAAAAANXtRbgAAAAA2AhRFAAAAADYCNuG) format('woff'); } // Font and typographic variables $font__body: "NonBreakingSpaceOverride", "Hoefler Text", Garamond, "Times New Roman", serif; $font__heading: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; $font__fallbacks: ( /* Arabic */ ar: 'Tahoma, Arial, sans-serif', ary: 'Tahoma, Arial, sans-serif', azb: 'Tahoma, Arial, sans-serif', ckb: 'Tahoma, Arial, sans-serif', fa-IR: 'Tahoma, Arial, sans-serif', haz: 'Tahoma, Arial, sans-serif', ps: 'Tahoma, Arial, sans-serif', /* Cyrillic */ be: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', bg-BG: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', kk: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', mk-MK: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', mn: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', ru-RU: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', sah: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', sr-RS: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', tt-RU: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', uk: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif', /* Chinese (Hong Kong) */ zh-HK: '-apple-system, BlinkMacSystemFont, "PingFang HK", "Helvetica Neue", "Microsoft YaHei New", STHeiti Light, sans-serif', /* Chinese (Taiwan) */ zh-TW: '-apple-system, BlinkMacSystemFont, "PingFang TC", "Helvetica Neue", "Microsoft YaHei New", STHeiti Light, sans-serif', /* Chinese (China) */ zh-CN: '-apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei New", STHeiti Light, sans-serif', /* Devanagari */ bn-BD: 'Arial, sans-serif', hi-IN: 'Arial, sans-serif', mr: 'Arial, sans-serif', ne-NP: 'Arial, sans-serif', /* Greek */ el: '"Helvetica Neue", Helvetica, Arial, sans-serif', /* Gujarati */ gu: 'Arial, sans-serif', /* Hebrew */ he-IL: '"Arial Hebrew", Arial, sans-serif', /* Japanese */ ja: '-apple-system, BlinkMacSystemFont, "Hiragino Sans", Meiryo, "Helvetica Neue", sans-serif', /* Korean */ ko-KR: '"Apple SD Gothic Neo", "Malgun Gothic", "Nanum Gothic", Dotum, sans-serif', /* Thai */ th: '"Sukhumvit Set", "Helvetica Neue", helvetica, arial, sans-serif', /* Vietnamese */ vi: '"Libre Franklin", sans-serif', ); $font__code: Menlo, monaco, Consolas, Lucida Console, monospace; $font__pre: "Courier 10 Pitch", Courier, monospace; $font__size_base: 22px; $font__size-ratio: 1.125; $font__size-xxs: 1em / (1.5 * $font__size-ratio); $font__size-xs: 1em / (1.25 * $font__size-ratio); $font__size-sm: 1em / (1 * $font__size-ratio); $font__size-md: 1em * (1 * $font__size-ratio); $font__size-lg: 1em * (1.5 * $font__size-ratio); $font__size-xl: 1em * (2 * $font__size-ratio); $font__size-xxl: 1em * (2.5 * $font__size-ratio); $font__size-xxxl: 1em * (3 * $font__size-ratio); $font__line-height-body: 1.8; $font__line-height-pre: 1.6; $font__line-height-heading: 1.2; $font__line-height-double: 2 * $font__line-height-heading;variables-site/_transitions.scss000066600000000204152331317540013073 0ustar00// Transition timeouts. $link_transition: 110ms; $icon_transition: 120ms; $button_transition: 150ms; $background_transition: 200ms;elements/_elements.scss000066600000001752152331317540011245 0ustar00html { box-sizing: border-box; } ::-moz-selection { background-color: $color__background_selection; } ::selection { background-color: $color__background_selection; } *, *:before, *:after { box-sizing: inherit; } a { @include link-transition; color: $color__link; } a:hover, a:active { color: $color__link-hover; outline: 0; text-decoration: none; } a:focus { outline: thin; outline-style: dotted; text-decoration: underline; text-decoration-thickness: 2px; } h1, h2, h3, h4, h5, h6 { clear: both; margin: $size__spacing-unit 0; } h1:not(.site-title), h2 { @include post-section-dash; } hr { background-color: $color__text-light; border: 0; height: 2px; } @import "lists"; img { height: auto; max-width: 100%; position: relative; } figure { margin: 0; } blockquote { border-left: 2px solid $color__link; margin-left: 0; padding: 0 0 0 $size__spacing-unit; > p { margin: 0 0 $size__spacing-unit; } cite { color: $color__text-light; } } @import "tables"; elements/_tables.scss000066600000000341152331317540010674 0ustar00table { margin: 0 0 $size__spacing-unit; border-collapse: collapse; width: 100%; @include font-family( $font__heading ); td, th { padding: 0.5em; border: 1px solid $color__text-light; word-break: break-all; } } elements/_lists.scss000066600000000536152331317540010566 0ustar00ul, ol { padding-left: ( 1 * $size__spacing-unit ); } ul { list-style: disc; ul { list-style-type: circle; } } ol { list-style: decimal; } li { line-height: $font__line-height-body; } li > ul, li > ol { padding-left: ( 2 * $size__spacing-unit ); } dt { font-weight: bold; } dd { margin: 0 $size__spacing-unit $size__spacing-unit; } media/_media.scss000066600000001320152331317540007742 0ustar00.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin-bottom: 0; margin-top: 0; padding: 0; } embed, iframe, object { max-width: 100%; } .custom-logo-link { display: inline-block; } .avatar { border-radius: 100%; display: block; min-height: inherit; } svg { transition: fill $icon_transition ease-in-out; fill: currentColor; } /*-------------------------------------------------------------- ## Captions --------------------------------------------------------------*/ @import "captions"; /*-------------------------------------------------------------- ## Galleries --------------------------------------------------------------*/ @import "galleries"; media/_galleries.scss000066600000001645152331317540010644 0ustar00.gallery { display: flex; flex-flow: row wrap; justify-content: center; margin-bottom: calc(1.5 * #{$size__spacing-unit}); } .gallery-item { display: inline-block; margin-right: 16px; margin-bottom: 16px; text-align: center; vertical-align: top; width: 100%; // Loops to enumerate the classes for gallery columns. @for $i from 2 through 9 { .gallery-columns-#{$i} & { max-width: calc((100% - 16px * #{ $i - 1 }) / #{ $i }); &:nth-of-type(#{$i}n+#{$i}) { margin-right: 0; } } } &:last-of-type { padding-right: 0; } } .gallery-caption { display: block; font-size: $font__size-xs; @include font-family( $font__heading ); line-height: $font__line-height-pre; margin: 0; padding: ( $size__spacing-unit * .5 ); } .gallery-item > div > a { display: block; line-height: 0; // Accessibility box-shadow: 0 0 0 0 transparent; &:focus { box-shadow: 0 0 0 2px rgba( $color__link, 1 ); } } media/_captions.scss000066600000001210152331317540010501 0ustar00.wp-caption { margin-bottom: calc(1.5 * #{$size__spacing-unit}); &.aligncenter { @include media(tablet) { position: relative; left: calc( #{$size__site-tablet-content} / 2 ); transform: translateX( -50% ); } @include media(desktop) { left: calc( #{$size__site-desktop-content} / 2 ); } } } .wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; } .wp-caption-text { color: $color__text-light; font-size: $font__size-xs; @include font-family( $font__heading ); line-height: $font__line-height-pre; margin: 0; padding: ( $size__spacing-unit * .5 ); text-align: center; } mixins/_mixins-master.scss000066600000005507152331317540011726 0ustar00// Rem output with px fallback @mixin font-size($sizeValue: 1) { font-size: ($sizeValue * 16) * 1px; font-size: $sizeValue * 1rem; } // Center block @mixin center-block { display: block; margin-left: auto; margin-right: auto; } // Clearfix @mixin clearfix() { content: ""; display: table; table-layout: fixed; } // Clear after (not all clearfix need this also) @mixin clearfix-after() { clear: both; } // Column width with margin @mixin column-width($numberColumns: 3) { width: map-get($columns, $numberColumns) - (($columns__margin * ($numberColumns - 1)) / $numberColumns); } @mixin filter-duotone { &:before { background: $color__link; mix-blend-mode: screen; opacity: 0.1; z-index: 2; } &:after { background: $color__link; mix-blend-mode: multiply; opacity: .8; z-index: 3; /* Browsers supporting mix-blend-mode don't need opacity < 1 */ @supports (mix-blend-mode: multiply) { opacity: 1; } } } @mixin filter-grayscale { position: relative; filter: grayscale(100%); z-index: 1; &:after { display: block; width: 100%; height: 100%; z-index: 10; } } @mixin post-section-dash { &:before { background: $color__text-light; content: "\020"; display: block; height: 2px; margin: $size__spacing-unit 0; width: 1em; } &.has-text-align-center:before { margin-left: auto; margin-right: auto; } &.has-text-align-right:before { margin-left: auto; } } /* If we add the border using a regular CSS border, it won't look good on non-retina devices, * since its edges can look jagged due to lack of antialiasing. In this case, we are several * layers of box-shadow to add the border visually, which will render the border smoother. */ @mixin box-shadow( $size ) { box-shadow: 0 0 0 $size $color__text-light inset, // Original border. 0 0 0 ($size + 1px) $color__text-light inset, // Antialiasing, inner edge. 0 0 1px 0 rgba( $color__text-light, 0.7 ); // Antialiasing, outer edge. } /* Calculates maximum width for post content */ @mixin postContentMaxWidth() { @include media(tablet) { max-width: $size__site-tablet-content; } @include media(desktop) { max-width: $size__site-desktop-content; } } /* Nested sub-menu padding: 10 levels deep */ @mixin nestedSubMenuPadding() { ul { counter-reset: submenu; } ul > li > a::before { font-family: $font__body; font-weight: normal; content: "\2013\00a0" counters(submenu, "\2013\00a0", none); counter-increment: submenu } } /* Ensure all font family declarations come with non-latin fallbacks */ @mixin font-family( $font_family: $font__body ) { font-family: $font_family; @extend %non-latin-fonts; } /* Build our non-latin font styles */ %non-latin-fonts { @each $lang, $font__fallback in $font__fallbacks { &:lang(#{$lang}) { font-family: unquote( $font__fallback ); } } } @import "utilities"; mixins/_utilities.scss000066600000001534152331317540011135 0ustar00 @mixin media( $res ) { @if mobile == $res { @media only screen and (min-width: $mobile_width) { @content; } } @if tablet == $res { @media only screen and (min-width: $tablet_width) { @content; } } @if desktop == $res { @media only screen and (min-width: $desktop_width) { @content; } } @if wide == $res { @media only screen and (min-width: $wide_width) { @content; } } } @mixin link-transition( $attr: color ) { transition: $attr $link_transition ease-in-out; } @mixin button-transition() { transition: background $button_transition ease-in-out; } @mixin button-all-transition() { transition: all $button_transition ease-in-out; } @mixin background-transition() { transition: background $background_transition ease-in-out; } @mixin selection { ::-moz-selection { @content; } ::selection { @content; } } blocks/_blocks.scss000066600000052035152331317540010347 0ustar00/* !Block styles */ // Default block margin and alignment rules. // These are replicated inside of the Group block // so that child blocks in there appear the same way. .entry .entry-content > *, .entry .entry-summary > *, .entry .entry-summary > .wp-block-group > .wp-block-group__inner-container > *, .entry .entry-content > .wp-block-group > .wp-block-group__inner-container > * { margin: 32px 0; max-width: 100%; @include postContentMaxWidth(); @include media(tablet) { margin: 32px 0; } &.alignwide { margin-left: auto; margin-right: auto; clear: both; @include media(tablet) { width: 100%; max-width: 100%; } } &.alignfull { position: relative; left: -#{$size__spacing-unit }; width: calc( 100% + (2 * #{$size__spacing-unit})); max-width: calc( 100% + (2 * #{$size__spacing-unit})); clear: both; @include media(tablet) { margin-top: calc(2 * #{$size__spacing-unit}); margin-bottom: calc(2 * #{$size__spacing-unit}); left: calc( -12.5% - 75px ); width: calc( 125% + 150px ); max-width: calc( 125% + 150px ); } } &.alignleft { /*rtl:ignore*/ float: left; max-width: calc(5 * (100vw / 12)); margin-top: 0; margin-left: 0; /*rtl:ignore*/ margin-right: $size__spacing-unit; @include media(tablet) { max-width: calc(4 * (100vw / 12)); /*rtl:ignore*/ margin-right: calc(2 * #{$size__spacing-unit}); } } &.alignright { /*rtl:ignore*/ float: right; max-width: calc(5 * (100vw / 12)); margin-top: 0; margin-right: 0; /*rtl:ignore*/ margin-left: $size__spacing-unit; @include media(tablet) { max-width: calc(4 * (100vw / 12)); margin-right: 0; /*rtl:ignore*/ margin-left: calc(2 * #{$size__spacing-unit}); } } &.aligncenter { margin-left: auto; margin-right: auto; @include postContentMaxWidth(); @include media(tablet) { margin-left: 0; margin-right: 0; } } } .entry .entry-content > *, .entry .entry-summary > * { > *:first-child { margin-top: 0; } > *:last-child { margin-bottom: 0; } } /* * Unset nested content selector styles * - Prevents layout styles from cascading too deeply * - helps with plugin compatibility */ .entry .entry-content, .entry .entry-summary { .entry-content, .entry-summary, .entry { margin: inherit; max-width: inherit; padding: inherit; @include media(tablet) { margin: inherit; max-width: inherit; padding: inherit; } } } .entry .entry-content { //! Paragraphs p.has-background { padding: 20px 30px; } //! Audio .wp-block-audio { width: 100%; audio { display: block; width: 100%; } &.alignleft audio, &.alignright audio { max-width: (0.33 * $mobile_width); @include media(tablet) { max-width: (0.5 * $tablet_width); } @include media(wide) { max-width: (0.33 * $desktop_width); } } } //! Video .wp-block-video { video { width: 100%; } } //! Buttons .wp-block-buttons { line-height: $font__line-height-heading; } .wp-block-button { .wp-block-button__link { @include button-transition; border: none; font-size: $font__size-sm; @include font-family( $font__heading ); box-sizing: border-box; font-weight: bold; text-decoration: none; padding: ($size__spacing-unit * .76) $size__spacing-unit; outline: none; &:not(.has-background) { background-color: $color__background-button; } &:not(.has-text-color) { color: white; } &:hover { color: white; background: $color__background-button-hover; cursor: pointer; &:not(.has-background) { background: $color__background-button-hover; } } &:focus { color: white; background: $color__background-button-hover; outline: thin dotted; outline-offset: -4px; &:not(.has-background) { background: $color__background-button-hover; } } } &:not(.is-style-squared) .wp-block-button__link { border-radius: 5px; } &.is-style-outline .wp-block-button__link, &.is-style-outline .wp-block-button__link:focus, &.is-style-outline .wp-block-button__link:active { @include button-all-transition; border-width: 2px; border-style: solid; &:not(.has-background) { background: transparent; } &:not(.has-text-color) { color: $color__background-button; border-color: currentColor; } } &.is-style-outline .wp-block-button__link:hover { color: white; border-color: $color__background-button-hover; &:not(.has-background) { color: $color__background-button-hover; } } } .wp-block-buttons, .wp-block-button { &.has-custom-font-size .wp-block-button__link { font-size: 1em; } &[style*="font-weight"] .wp-block-button__link { font-weight: inherit; } &[style*="text-decoration"] .wp-block-button__link { text-decoration: inherit; } } //! Latest posts, categories, archives .wp-block-archives, .wp-block-categories, .wp-block-latest-posts { padding: 0; list-style: none; li > a { @include font-family( $font__heading ); font-size: calc(#{$font__size_base} * #{$font__size-ratio}); font-weight: bold; line-height: $font__line-height-heading; text-decoration: none; } } .wp-block-archives, .wp-block-categories { &.aligncenter { text-align: center; } } //! Latest categories .wp-block-categories { ul { padding-top: ( .75 * $size__spacing-unit ); } li ul { list-style: none; padding-left: 0; } @include nestedSubMenuPadding(); } //! Latest posts .wp-block-latest-posts { .wp-block-latest-posts__post-date { @include font-family( $font__heading ); font-size: $font__size-xs; color: $color__text-light; line-height: 1.2; } .wp-block-latest-posts__post-full-content, .wp-block-latest-posts__post-excerpt { margin-top: $size__spacing-unit; margin-bottom: $size__spacing-unit; } li { padding-bottom: ( .5 * $size__spacing-unit ); &.menu-item-has-children, &:last-child { padding-bottom: 0; } :not(:last-child) .wp-block-latest-posts__post-excerpt { padding-bottom: ( .5 * $size__spacing-unit ); } } &.is-grid li { border-top: 2px solid $color__border; padding-top: (1 * $size__spacing-unit); margin-bottom: (2 * $size__spacing-unit); a { &:after { content: ''; } } &:last-child { margin-bottom: auto; a:after { content: ''; } } } } //! Latest preformatted text .wp-block-preformatted { font-size: $font__size-xs; line-height: 1.8; padding: $size__spacing-unit; } //! Poetry (Verse) .wp-block-verse { @include font-family( $font__body ); font-size: $font__size_base; line-height: 1.8; } //! Paragraphs .has-drop-cap { &:not(:focus):first-letter { @include font-family( $font__heading ); font-size: $font__size-xxxl; line-height: 1; font-weight: bold; margin: 0 0.25em 0 0; @-moz-document url-prefix() { & { margin-top: 0.2em; } } } } //! Pullquote .wp-block-pullquote { color: $color__text-main; border-color: transparent; border-width: 2px; padding: $size__spacing-unit; font-size: 1em; blockquote { border: none; margin-top: calc(4 * #{ $size__spacing-unit}); margin-bottom: calc(4.33 * #{ $size__spacing-unit}); margin-right: 0; padding-left: 0; } p { font-size: $font__size-lg; font-style: italic; line-height: 1.3; margin-bottom: 0.5em; margin-top: 0.5em; em { font-style: normal; } @include media(tablet) { font-size: $font__size-xl; } } cite { display: block; @include font-family( $font__heading ); line-height: 1.6; text-transform: none; color: $color__text-light; /* * This requires a rem-based font size calculation instead of our normal em-based one, * because the cite tag sometimes gets wrapped in a p tag. This is equivalent to $font-size_xs. */ font-size: calc(1rem / (1.25 * #{$font__size-ratio})); } &.alignleft, &.alignright { width: 100%; padding: 0; blockquote { margin: $size__spacing-unit 0; padding: 0; text-align: left; max-width: 100%; p:first-child { margin-top: 0; } } } &.has-text-color cite { color: inherit; } &.is-style-solid-color { background-color: $color__link; padding-left: 0; padding-right: 0; @include media(tablet) { padding-left: 10%; padding-right: 10%; } p { font-size: $font__size-lg; line-height: 1.3; margin-bottom: 0.5em; margin-top: 0.5em; @include media(tablet) { font-size: $font__size-xl; } } a { color: $color__background-body; } cite { color: inherit; } blockquote { max-width: 100%; color: $color__background-body; padding-left: 0; margin-left: $size__spacing-unit; margin-right: $size__spacing-unit; &.has-text-color p, &.has-text-color a, &.has-primary-color, &.has-secondary-color, &.has-dark-gray-color, &.has-light-gray-color, &.has-white-color { color: inherit; } @include media(tablet) { margin-left: 0; margin-right: 0; } } &.alignright, &.alignleft { @include media(tablet) { padding: $size__spacing-unit calc(2 * #{$size__spacing-unit}); } } &.alignfull { @include media(tablet) { padding-left: calc(10% + 58px + (2 * #{$size__spacing-unit})); padding-right: calc(10% + 58px + (2 * #{$size__spacing-unit})); } } } } //! Blockquote .wp-block-quote { &:not(.is-large), &:not(.is-style-large) { border-width: 2px; border-color: $color__link; padding-top: 0; padding-bottom: 0; } p { font-size: 1em; font-style: normal; line-height: 1.8; } cite { /* * This requires a rem-based font size calculation instead of our normal em-based one, * because the cite tag sometimes gets wrapped in a p tag. This is equivalent to $font-size_xs. */ font-size: calc(1rem / (1.25 * #{$font__size-ratio})); } &.is-large, &.is-style-large { margin: $size__spacing-unit 0; padding: 0; border-left: none; p { font-size: $font__size-lg; line-height: 1.4; font-style: italic; } cite, footer { /* * This requires a rem-based font size calculation instead of our normal em-based one, * because the cite tag sometimes gets wrapped in a p tag. This is equivalent to $font-size_xs. */ font-size: calc(1rem / (1.25 * #{$font__size-ratio})); } @include media(tablet) { margin: $size__spacing-unit 0; padding: $size__spacing-unit 0; p { font-size: $font__size-lg; } } } } //! Image .wp-block-image { max-width: 100%; img { display: block; } // If an image does not have a left/center/right alignment, // it's a direct child of .wp-block-image. If it has no other // alignment added, we want to make sure the image and its // caption do not extend beyond the width of the text column. &:not(.alignwide):not(.alignfull) > img, &:not(.alignwide):not(.alignfull) > a > img, &:not(.alignwide):not(.alignfull) > img + figcaption, &:not(.alignwide):not(.alignfull) > a + figcaption { @include postContentMaxWidth(); } .aligncenter { @include postContentMaxWidth(); @include media(tablet) { margin: 0; width: $size__site-tablet-content; img { margin: 0 auto; } } @include media(desktop) { width: $size__site-desktop-content; img { margin: 0 auto; } } } &.alignfull img { width: 100vw; max-width: calc( 100% + (2 * #{$size__spacing-unit})); @include media(tablet) { max-width: calc( 125% + 150px ); margin-left: auto; margin-right: auto; } } } //! Cover Image .wp-block-cover-image, .wp-block-cover { position: relative; min-height: 430px; padding: $size__spacing-unit; @include media(tablet) { padding: $size__spacing-unit 10%; } .wp-block-cover-image-text, .wp-block-cover-text, h2 { @include font-family( $font__heading ); font-size: $font__size-lg; font-weight: bold; line-height: 1.25; padding: 0; color: #fff; @include media(tablet) { font-size: $font__size-xl; max-width: 100%; } } &.alignleft, &.alignright { width: 100%; @include media(tablet) { padding: $size__spacing-unit calc(2 * #{$size__spacing-unit}); } } &.alignfull { .wp-block-cover-image-text, .wp-block-cover-text, h2 { @include postContentMaxWidth(); } @include media(tablet) { padding-left: calc(10% + 58px + (2 * #{$size__spacing-unit})); padding-right: calc(10% + 58px + (2 * #{$size__spacing-unit})); .wp-block-cover-image-text, .wp-block-cover-text, h2 { padding: 0; } } } } //! Galleries .wp-block-gallery { list-style-type: none; padding-left: 0; .blocks-gallery-image:last-child, .blocks-gallery-item:last-child { margin-bottom: 16px; } figcaption a { color: #fff; } } //! Captions .wp-block-audio figcaption, .wp-block-video figcaption, .wp-block-image figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption { font-size: $font__size-xs; @include font-family( $font__heading ); line-height: $font__line-height-pre; margin: 0; padding: ( $size__spacing-unit * .5 ); text-align: center; } //! Separator .wp-block-separator, hr { background-color: $color__text-light; border: 0; height: 2px; margin-bottom: (2 * $size__spacing-unit); margin-top: (2 * $size__spacing-unit); max-width: 2.25em; text-align: left; &:not(.wp-block-separator) { max-width: 100%; @include postContentMaxWidth(); } &.is-style-wide { max-width: 100%; @include postContentMaxWidth(); } &.is-style-dots { max-width: 100%; @include postContentMaxWidth(); background-color: inherit; border: inherit; height: inherit; text-align: center; // Only apply the default dot color if there's no separator color specified. &:not(.has-text-color):not(.has-background) { color: $color__text-light; } &:before { font-size: $font__size-lg; letter-spacing: $font__size-sm; padding-left: $font__size-sm; } } /* Remove duplicate rule-line when a separator * is followed by an H1, or H2 */ & + h1, & + h2 { &:before { display: none; } } } //! Twitter Embed .wp-block-embed-twitter { word-break: break-word; } //! Table .wp-block-table { th, td { border-color: $color__text-light; } } //! File .wp-block-file { @include font-family( $font__heading ); .wp-block-file__button { display: table; @include button-transition; border: none; border-radius: 5px; background: $color__background-button; font-size: $font__size-base; @include font-family( $font__heading ); line-height: $font__line-height-heading; text-decoration: none; font-weight: bold; padding: ($size__spacing-unit * .75) $size__spacing-unit; color: #fff; margin-left: 0; margin-top: calc(0.75 * #{$size__spacing-unit}); @include media(desktop) { font-size: $font__size-base; padding: ($size__spacing-unit * .875) ($size__spacing-unit * 1.5); } &:hover { background: $color__background-button-hover; cursor: pointer; } &:focus { background: $color__background-button-hover; outline: thin dotted; outline-offset: -4px; } } &.aligncenter .wp-block-file__button { margin-left: auto; margin-right: auto; } &.alignright .wp-block-file__button { margin-left: auto; margin-right: 0; } } //! Code .wp-block-code { border-radius: 0; code { font-size: $font__size-md; white-space: pre-wrap; word-break: break-word; } } //! Columns .wp-block-columns { .wp-block-column > * { &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } // Ensure images do not expand beyond the column. .wp-block-image:not(.alignwide):not(.alignfull) > img, .wp-block-image:not(.alignwide):not(.alignfull) > a > img, .wp-block-image > img:not(.alignwide):not(.alignfull), .wp-block-image > figure { @include media(tablet) { max-width: 100%; } @include media(desktop) { max-width: 100%; } } @include media(tablet) { flex-wrap: nowrap; .wp-block-column:not(:first-child) { margin-left: 32px; } } } //! Group .wp-block-group { // When the Group block is standard/wide, we need to prevent full-aligned // child blocks from expanding out of their container. &:not(.alignfull) > .wp-block-group__inner-container > .alignfull, &:not(.alignfull) > .wp-block-group__inner-container > .wp-block-image > img { @include media(tablet) { left: 0; max-width: 100%; } } // The full-width Group block's inner container should mimic .entry-content styles. &.alignfull > .wp-block-group__inner-container { max-width: calc(100% - (2 * #{ $size__spacing-unit })); margin: 0 $size__spacing-unit; @include media(tablet) { max-width: 80%; margin: 0 10%; padding: 0 60px; } } // Group block with a colored background. &.has-background { padding: $size__spacing-unit; margin-top: 0; margin-bottom: 0; // Remove the top and bottom margins of inner blocks. .wp-block-group__inner-container { > *:first-child { margin-top: 0; } > *:last-child { margin-bottom: 0; } } // If the Group block is full-width, it does not need this extra padding. &.alignfull { padding-left: 0; padding-right: 0; @include media(tablet) { padding-top: $size__spacing-unit; padding-bottom: $size__spacing-unit; } } // Full-aligned child blocks should take up the maximum width available in their container. &:not(.alignfull) > .wp-block-group__inner-container > .alignfull { width: 100%; max-width: 100%; @include media(tablet) { width: calc( 100% + #{$size__spacing-unit * 2} ); max-width: calc( 100% + #{$size__spacing-unit * 2} ); margin-left: -#{$size__spacing-unit}; } } } } //! Latest Comments .wp-block-latest-comments { .wp-block-latest-comments__comment-meta { @include font-family( $font__heading ); font-weight: bold; .wp-block-latest-comments__comment-date { font-weight: normal; } } .wp-block-latest-comments__comment, .wp-block-latest-comments__comment-date, .wp-block-latest-comments__comment-excerpt p { font-size: inherit; } &.has-dates { .wp-block-latest-comments__comment-date { font-size: $font__size-xs; } } } //! Font Sizes .has-small-font-size { font-size: $font__size-sm; } .has-normal-font-size { font-size: $font__size-md; } .has-large-font-size { font-size: $font__size-lg; } .has-huge-font-size { font-size: $font__size-xl; } //! Custom background colors .has-primary-background-color, .has-secondary-background-color, .has-dark-gray-background-color, .has-light-gray-background-color { // Use white text against these backgrounds by default. color: $color__background-body; > p, > h1, > h2, > h3, > h4, > h5, > h6, > a { color: $color__background-body; } } .has-white-background-color { color: $color__text-main; // Use dark gray text against this background by default. > p, > h1, > h2, > h3, > h4, > h5, > h6, > a { color: $color__text-main; } } .has-primary-background-color, .wp-block-pullquote.is-style-solid-color.has-primary-background-color { background-color: $color__link; } .has-secondary-background-color, .wp-block-pullquote.is-style-solid-color.has-secondary-background-color { background-color: $color__border-link-hover; } .has-dark-gray-background-color, .wp-block-pullquote.is-style-solid-color.has-dark-gray-background-color { background-color: $color__text-main; } .has-light-gray-background-color, .wp-block-pullquote.is-style-solid-color.has-light-gray-background-color { background-color: $color__text-light; } .has-white-background-color, .wp-block-pullquote.is-style-solid-color.has-white-background-color { background-color: #FFF; } //! Custom foreground colors .has-primary-color, .wp-block-pullquote blockquote.has-primary-color, .wp-block-pullquote.is-style-solid-color blockquote.has-primary-color, .wp-block-pullquote.is-style-solid-color blockquote.has-primary-color > p { color: $color__link; } .has-secondary-color, .wp-block-pullquote blockquote.has-secondary-color, .wp-block-pullquote.is-style-solid-color blockquote.has-secondary-color, .wp-block-pullquote.is-style-solid-color blockquote.has-secondary-color > p { color: $color__border-link-hover; } .has-dark-gray-color, .wp-block-pullquote.is-style-solid-color blockquote.has-dark-gray-color, .wp-block-pullquote.is-style-solid-color blockquote.has-dark-gray-color > p { color: $color__text-main; } .has-light-gray-color, .wp-block-pullquote blockquote.has-light-gray-color, .wp-block-pullquote.is-style-solid-color blockquote.has-light-gray-color, .wp-block-pullquote.is-style-solid-color blockquote.has-light-gray-color > p { color: $color__text-light; } .has-white-color, .wp-block-pullquote blockquote.has-white-color, .wp-block-pullquote.is-style-solid-color blockquote.has-white-color { color: #FFF; } } modules/_alignments.scss000066600000000675152331317540011431 0ustar00.alignleft { /*rtl:ignore*/ float: left; /*rtl:ignore*/ margin-right: $size__spacing-unit; @include media(tablet) { /*rtl:ignore*/ margin-right: calc(2 * #{$size__spacing-unit}); } } .alignright { /*rtl:ignore*/ float: right; /*rtl:ignore*/ margin-left: $size__spacing-unit; @include media(tablet) { /*rtl:ignore*/ margin-left: calc(2 * #{$size__spacing-unit}); } } .aligncenter { clear: both; @include center-block; } modules/_accessibility.scss000066600000001575152331317540012117 0ustar00/* Text meant only for screen readers. */ .screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ word-wrap: normal !important; word-break: normal !important; &:focus { background-color: $color__background-screen; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip-path: none; color: $color__text-screen; display: block; font-size: 0.875rem; font-weight: bold; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ } } /* Do not show the outline on the skip link target. */ #content[tabindex="-1"]:focus { outline: 0; } modules/_clearings.scss000066600000000646152331317540011235 0ustar00.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after { @include clearfix; } .clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after { @include clearfix-after; } typography/_headings.scss000066600000005017152331317540011603 0ustar00.author-description .author-link, .comment-metadata, .comment-reply-link, .comments-title, .comment-author .fn, .discussion-meta-info, .entry-meta, .entry-footer, .main-navigation, .no-comments, .not-found .page-title, .error-404 .page-title, .post-navigation .post-title, .page-links, .page-description, .pagination .nav-links, .sticky-post, .site-title, .site-info, #cancel-comment-reply-link, h1, h2, h3, h4, h5, h6 { @include font-family( $font__heading ); } .main-navigation, .page-description, .author-description .author-link, .not-found .page-title, .error-404 .page-title, .post-navigation .post-title, .pagination .nav-links, .comments-title, .comment-author .fn, .no-comments, .site-title, h1, h2, h3, h4, h5, h6 { font-weight: 700; letter-spacing: -0.02em; line-height: $font__line-height-heading; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .page-title { @include font-family( $font__body ); } .site-branding, .main-navigation ul.main-menu > li, .social-navigation, .author-description .author-bio, .nav-links { line-height: 1.25; } h1 { font-size: $font__size-xl; @include media(tablet) { font-size: $font__size-xxl; } } .entry-title, .not-found .page-title, .error-404 .page-title, .has-larger-font-size, h2 { font-size: $font__size-lg; @include media(tablet) { font-size: $font__size-xl; } } .has-regular-font-size, .has-large-font-size, .comments-title, h3 { font-size: $font__size-lg; } .site-title, .site-description, .main-navigation, .nav-links, .page-title, .page-description, .comment-author .fn, .no-comments, h2.author-title, p.author-bio, h4 { font-size: $font__size-md; } .pagination .nav-links, .comment-content, h5 { font-size: $font__size-sm; } .entry-meta, .entry-footer, .discussion-meta-info, .site-info, .has-small-font-size, .comment-reply-link, .comment-metadata, .comment-notes, .sticky-post, #cancel-comment-reply-link, img:after, h6 { font-size: $font__size-xs; } .site-title, .page-title { font-weight: normal; } .page-description, .page-links a { font-weight: bold; } .site-description { letter-spacing: -0.01em; } .post-navigation .post-title, .entry-title, .not-found .page-title, .error-404 .page-title, .comments-title, blockquote { -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; word-break: break-word; word-wrap: break-word; } /* Do not hyphenate entry title on tablet view and bigger. */ .entry-title { @include media(tablet) { -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } } typography/_typography.scss000066600000001133152331317540012222 0ustar00 html { font-size: $font__size_base; } body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: $color__background-body; color: $color__text-main; @include font-family( $font__body ); font-weight: 400; font-size: 1em; line-height: $font__line-height-body; margin: 0; text-rendering: optimizeLegibility; } button, input, select, optgroup, textarea { color: $color__text-main; @include font-family( $font__body ); font-weight: 400; line-height: $font__line-height-body; text-rendering: optimizeLegibility; } @import "headings"; @import "copy"; typography/_copy.scss000066600000001354152331317540010773 0ustar00p { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } dfn, cite, em, i { font-style: italic; } blockquote { cite { font-size: $font__size-xs; font-style: normal; @include font-family( $font__heading ); } } pre { font-size: $font__size-sm; font-family: $font__pre; line-height: $font__line-height-body; overflow: auto; } code, kbd, tt, var { font-size: $font__size-sm; font-family: $font__code; } abbr, acronym { border-bottom: 1px dotted #666; cursor: help; } mark, ins { background: #fff9c0; text-decoration: none; } big { font-size: 125%; } a { text-decoration: none; &:hover { text-decoration: none; } &:focus { text-decoration: underline; text-decoration-thickness: 2px; } } layout/_layout.scss000066600000000127152331317540010442 0ustar00 /** === Layout === */ #page { width: 100%; } .site-content { overflow: hidden; } 01-settings/file-header.scss000066600000002144152331644460011701 0ustar00/* Theme Name: Twenty Twenty-One Theme URI: https://wordpress.org/themes/twentytwentyone/ Author: the WordPress team Author URI: https://wordpress.org/ Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog. Requires at least: 5.3 Tested up to: 7.0 Requires PHP: 5.6 Version: 2.8 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: twentytwentyone Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, blog, portfolio Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org Twenty Twenty-One is distributed under the terms of the GNU GPL. */ 01-settings/fonts.scss000066600000000077152331644460010670 0ustar00// Do we need to serve a font? Add the @font-face styles here. 01-settings/global.scss000066600000024113152331644460010774 0ustar00/* Variables */ // Vertical Rhythm Multiplier $baseline-unit: 10px; :root { /* Font Family */ --global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); --global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif); /* Font Size */ --global--font-size-base: 1.25rem; // 20px / 16px --global--font-size-xs: 1rem; // 16px / 16px --global--font-size-sm: 1.125rem; // 18px / 16px --global--font-size-md: 1.25rem; // 20px / 16px --global--font-size-lg: 1.5rem; // 24px / 16px --global--font-size-xl: 2.25rem; // 36px / 16px --global--font-size-xxl: 4rem; // 64px / 16px --global--font-size-xxxl: 5rem; // 80px / 16px --global--font-size-page-title: var(--global--font-size-xxl); --global--letter-spacing: normal; /* Line Height */ --global--line-height-body: 1.7; --global--line-height-heading: 1.3; --global--line-height-page-title: 1.1; /* Headings */ --heading--font-family: var(--global--font-primary); --heading--font-size-h6: var(--global--font-size-xs); --heading--font-size-h5: var(--global--font-size-sm); --heading--font-size-h4: var(--global--font-size-lg); --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg)); --heading--font-size-h2: var(--global--font-size-xl); --heading--font-size-h1: var(--global--font-size-page-title); --heading--letter-spacing-h6: 0.05em; --heading--letter-spacing-h5: 0.05em; --heading--letter-spacing-h4: var(--global--letter-spacing); --heading--letter-spacing-h3: var(--global--letter-spacing); --heading--letter-spacing-h2: var(--global--letter-spacing); --heading--letter-spacing-h1: var(--global--letter-spacing); --heading--line-height-h6: var(--global--line-height-heading); --heading--line-height-h5: var(--global--line-height-heading); --heading--line-height-h4: var(--global--line-height-heading); --heading--line-height-h3: var(--global--line-height-heading); --heading--line-height-h2: var(--global--line-height-heading); --heading--line-height-h1: var(--global--line-height-page-title); --heading--font-weight: normal; --heading--font-weight-page-title: 300; --heading--font-weight-strong: 600; /* Block: Latest posts */ --latest-posts--title-font-family: var(--heading--font-family); --latest-posts--title-font-size: var(--heading--font-size-h3); --latest-posts--description-font-family: var(--global--font-secondary); --latest-posts--description-font-size: var(--global--font-size-sm); --list--font-family: var(--global--font-secondary); --definition-term--font-family: var(--global--font-primary); /* Colors */ --global--color-black: #000; --global--color-dark-gray: #28303d; --global--color-gray: #39414d; --global--color-light-gray: #f0f0f0; --global--color-green: #d1e4dd; --global--color-blue: #d1dfe4; --global--color-purple: #d1d1e4; --global--color-red: #e4d1d1; --global--color-orange: #e4dad1; --global--color-yellow: #eeeadd; --global--color-white: #fff; --global--color-white-50: rgba(255, 255, 255, 0.5); // Used for disabled buttons --global--color-white-90: rgba(255, 255, 255, 0.9); // Used in form fields. --global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */ --global--color-secondary: var(--global--color-gray); /* Headings */ --global--color-primary-hover: var(--global--color-primary); --global--color-background: var(--global--color-green); /* Mint, default body background */ --global--color-border: var(--global--color-primary); /* Used for borders (separators) */ /* Spacing */ --global--spacing-unit: #{2 * $baseline-unit}; // 20px --global--spacing-measure: unset; // Use ch units here. ie: 60ch = 60 character max-width --global--spacing-horizontal: #{2.5 * $baseline-unit}; // 25px --global--spacing-vertical: #{3 * $baseline-unit}; // 30px. /* Elevation */ --global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2); /* Forms */ --form--font-family: var(--global--font-secondary); --form--font-size: var(--global--font-size-sm); --form--line-height: var(--global--line-height-body); --form--color-text: var(--global--color-dark-gray); // Text color in input fields is always dark over light background. --form--color-ranged: var(--global--color-secondary); --form--label-weight: 500; --form--border-color: var(--global--color-secondary); --form--border-width: 3px; --form--border-radius: 0; --form--spacing-unit: calc(0.5 * var(--global--spacing-unit)); /* Cover block */ --cover--height: calc(15 * var(--global--spacing-vertical)); --cover--color-foreground: var(--global--color-white); --cover--color-background: var(--global--color-black); /* Buttons */ // Colors --button--color-text: var(--global--color-background); --button--color-text-hover: var(--global--color-secondary); --button--color-text-active: var(--global--color-secondary); --button--color-background: var(--global--color-secondary); --button--color-background-active: var(--global--color-background); // Fonts --button--font-family: var(--global--font-primary); --button--font-size: var(--global--font-size-base); --button--font-weight: 500; --button--line-height: 1.5; // Borders --button--border-width: 3px; --button--border-radius: 0; // Spacing --button--padding-vertical: 15px; --button--padding-horizontal: calc(2 * var(--button--padding-vertical)); /* entry */ --entry-header--color: var(--global--color-primary); --entry-header--color-link: currentColor; --entry-header--color-hover: var(--global--color-primary-hover); --entry-header--color-focus: var(--global--color-secondary); --entry-header--font-size: var(--heading--font-size-h2); --entry-content--font-family: var(--global--font-secondary); --entry-author-bio--font-family: var(--heading--font-family); --entry-author-bio--font-size: var(--heading--font-size-h4); /* Header */ --branding--color-text: var(--global--color-primary); --branding--color-link: var(--global--color-primary); --branding--color-link-hover: var(--global--color-secondary); --branding--title--font-family: var(--global--font-primary); --branding--title--font-size: var(--global--font-size-lg); --branding--title--font-size-mobile: var(--heading--font-size-h4); --branding--title--font-weight: normal; --branding--title--text-transform: uppercase; --branding--description--font-family: var(--global--font-secondary); --branding--description--font-size: var(--global--font-size-sm); --branding--logo--max-width: 300px; --branding--logo--max-height: 100px; --branding--logo--max-width-mobile: 96px; --branding--logo--max-height-mobile: 96px; /* Main navigation */ --primary-nav--font-family: var(--global--font-secondary); --primary-nav--font-family-mobile: var(--global--font-primary); --primary-nav--font-size: var(--global--font-size-md); --primary-nav--font-size-sub-menu: var(--global--font-size-xs); --primary-nav--font-size-mobile: var(--global--font-size-sm); --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm); --primary-nav--font-size-button: var(--global--font-size-xs); --primary-nav--font-style: normal; --primary-nav--font-style-sub-menu-mobile: normal; --primary-nav--font-weight: normal; --primary-nav--font-weight-button: 500; --primary-nav--color-link: var(--global--color-primary); --primary-nav--color-link-hover: var(--global--color-primary-hover); --primary-nav--color-text: var(--global--color-primary); --primary-nav--padding: calc(0.66 * var(--global--spacing-unit)); --primary-nav--border-color: var(--global--color-primary); /* Pagination */ --pagination--color-text: var(--global--color-primary); --pagination--color-link-hover: var(--global--color-primary-hover); --pagination--font-family: var(--global--font-secondary); --pagination--font-size: var(--global--font-size-lg); --pagination--font-weight: normal; --pagination--font-weight-strong: 600; /* Footer */ --footer--color-text: var(--global--color-primary); --footer--color-link: var(--global--color-primary); --footer--color-link-hover: var(--global--color-primary-hover); --footer--font-family: var(--global--font-primary); --footer--font-size: var(--global--font-size-sm); /* Block: Pull quote */ --pullquote--font-family: var(--global--font-primary); --pullquote--font-size: var(--heading--font-size-h3); --pullquote--font-style: normal; --pullquote--letter-spacing: var(--heading--letter-spacing-h4); --pullquote--line-height: var(--global--line-height-heading); --pullquote--border-width: 3px; --pullquote--border-color: var(--global--color-primary); --pullquote--color-foreground: var(--global--color-primary); --pullquote--color-background: var(--global--color-background); --quote--font-family: var(--global--font-secondary); --quote--font-size: var(--global--font-size-md); --quote--font-size-large: var(--global--font-size-xl); --quote--font-style: normal; --quote--font-weight: 700; --quote--font-weight-strong: bolder; --quote--font-style-large: normal; --quote--font-style-cite: normal; --quote--line-height: var(--global--line-height-body); --quote--line-height-large: 1.35; --separator--border-color: var(--global--color-border); --separator--height: 1px; /* Block: Table */ --table--stripes-border-color: var(--global--color-light-gray); --table--stripes-background-color: var(--global--color-light-gray); --table--has-background-text-color: var(--global--color-dark-gray); /* Widgets */ --widget--line-height-list: 1.9; --widget--line-height-title: 1.4; --widget--font-weight-title: 700; --widget--spacing-menu: calc(0.66 * var(--global--spacing-unit)); /* Admin-bar height */ --global--admin-bar--height: 0px; } .admin-bar { --global--admin-bar--height: 32px; @media only screen and (max-width: 782px) { --global--admin-bar--height: 46px; } } @media only screen and (min-width: 652px) { // Not using the mixin because it's compiled after this file :root { --global--font-size-xl: 2.5rem; // 40px / 16px --global--font-size-xxl: 6rem; // 96px / 16px --global--font-size-xxxl: 9rem; // 144px / 16px --heading--font-size-h3: 2rem; // 32px / 16px --heading--font-size-h2: 3rem; // 48px / 16px } } 05-blocks/verse/_style.scss000066600000000105152331644460011573 0ustar00.wp-block-verse { font-family: var(--entry-content--font-family); } 05-blocks/verse/_editor.scss000066600000000072152331644460011724 0ustar00pre.wp-block-verse { padding: 0; color: currentColor; } 05-blocks/list/_style.scss000066600000001123152331644460011423 0ustar00ul, ol { font-family: var(--list--font-family); margin: 0; padding-left: calc(2 * var(--global--spacing-horizontal)); // Utility classes &.aligncenter { list-style-position: inside; padding: 0; } &.alignright { list-style-position: inside; text-align: right; padding: 0; } } ul { list-style-type: disc; ul { list-style-type: circle; } } ol { list-style-type: decimal; ul { list-style-type: circle; } } dt { font-family: var(--definition-term--font-family); font-weight: bold; } dd { margin: 0; padding-left: calc(2 * var(--global--spacing-horizontal)); } 05-blocks/list/_editor.scss000066600000000724152331644460011557 0ustar00ul, ol { font-family: var(--list--font-family); margin: var(--global--spacing-vertical) 0; padding-left: calc(2 * var(--global--spacing-horizontal)); // Utility classes &.aligncenter { list-style-position: inside; padding: 0; text-align: center; } &.alignright { list-style-position: inside; padding: 0; text-align: right; } } li { > ul, > ol { margin: 0; } } dt { font-family: var(--definition-term--font-family); font-weight: bold; } 05-blocks/columns/_style.scss000066600000003762152331644460012143 0ustar00.wp-block-columns { &:not(.alignwide):not(.alignfull) { clear: both; } .wp-block-column { > * { margin-top: calc(0.66 * var(--global--spacing-vertical)); margin-bottom: calc(0.66 * var(--global--spacing-vertical)); @include media(mobile) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } &:last-child { margin-bottom: 0; } } .wp-block-column:not(:last-child) { margin-bottom: calc(0.66 * var(--global--spacing-vertical)); @include media(mobile) { margin-bottom: var(--global--spacing-vertical); } @include media(desktop) { margin-bottom: 0; } } &.is-style-twentytwentyone-columns-overlap { justify-content: space-around; @include media(laptop) { .wp-block-column { &:nth-child(2n) { margin-left: calc(-2 * var(--global--spacing-horizontal)); margin-top: calc(2.5 * var(--global--spacing-horizontal)); z-index: 2; // Provide text-based child blocks with a default background color to ensure they're readable. > p, > h1, > h2, > h3, > h4, > h5, > h6, > ul, > ol, > pre { &:not(.has-background) { background-color: var(--global--color-background); padding: var(--global--spacing-unit); } } // Lists should still have their usual left padding. > ul:not(.has-background), > ol:not(.has-background) { padding-left: calc(2 * var(--global--spacing-horizontal)); } &.is-vertically-aligned-center { margin-top: 0; } } } } } &.alignfull { .wp-block-column { p:not(.has-background), h1:not(.has-background), h2:not(.has-background), h3:not(.has-background), h4:not(.has-background), h5:not(.has-background), h6:not(.has-background) { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); } } } } 05-blocks/columns/_editor.scss000066600000002700152331644460012260 0ustar00.wp-block-columns { &:not(.alignwide):not(.alignfull) { clear: both; } .wp-block, .wp-block-column { // Allow Gutenberg to set the width of a block that lives inside the columns block. max-width: inherit; } @include innerblock-margin-clear(".wp-block-column"); &.is-style-twentytwentyone-columns-overlap { @include media(laptop) { .wp-block-column:nth-child(2n) { margin-left: calc(-2 * var(--global--spacing-horizontal)); margin-top: calc(2.5 * var(--global--spacing-horizontal)); z-index: 2; // Provide text-based child blocks with a default background color to ensure they're readable. > p, > h1, > h2, > h3, > h4, > h5, > h6, > ul, > ol, > pre { &:not(.has-background) { background-color: var(--global--color-background); padding: var(--global--spacing-unit); } } // Lists should still have their usual left padding. > ul:not(.has-background), > ol:not(.has-background) { padding-left: calc(2 * var(--global--spacing-horizontal)); } &.is-vertically-aligned-center { margin-top: 0; } } } } .wp-block[data-align="full"] > & { p:not(.has-background), h1:not(.has-background), h2:not(.has-background), h3:not(.has-background), h4:not(.has-background), h5:not(.has-background), h6:not(.has-background) { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); } } } 05-blocks/social-icons/_style.scss000066600000000461152331644460013037 0ustar00.wp-block-social-links { a:focus { color: var(--global--color-primary); } &.is-style-twentytwentyone-social-icons-color { a { color: var(--global--color-primary); } .wp-social-link, &.has-icon-background-color.has-icon-background-color .wp-social-link { background: none; } } } 05-blocks/social-icons/_editor.scss000066600000000466152331644460013172 0ustar00.wp-block-social-links { // Social icons are horizontal, so they don't need vertical spacing. [data-block] { margin-top: 0; margin-bottom: 0; } &.is-style-twentytwentyone-social-icons-color { button { color: var(--global--color-primary); } .wp-social-link { background: none; } } } 05-blocks/table/_style.scss000066600000003042152331644460011541 0ustar00table, .wp-block-table { width: 100%; min-width: 240px; border-collapse: collapse; thead, tfoot { text-align: center; } th { font-family: var(--heading--font-family); } td, th { padding: calc(0.5 * var(--global--spacing-unit)); border: 1px solid; } figcaption { color: var(--global--color-primary); font-size: var(--global--font-size-xs); } &.is-style-regular .has-background, &.is-style-stripes .has-background, &.is-style-stripes .has-background thead tr, &.is-style-stripes .has-background tfoot tr, &.is-style-stripes .has-background tbody tr { color: var(--table--has-background-text-color); } &.is-style-stripes { border-color: var(--table--stripes-border-color); th, td { border-width: 0; } tbody tr:nth-child(odd) { background-color: var(--table--stripes-background-color); } .has-background tbody tr:nth-child(odd) { background-color: var(--global--color-white-90); } } } table.wp-calendar-table { td, th { background: transparent; border: 0; text-align: center; line-height: 2; vertical-align: middle; word-break: normal; } th { font-weight: bold; } thead, tbody { color: currentColor; border: 1px solid; } caption { font-weight: bold; text-align: left; margin-bottom: var(--global--spacing-unit); color: currentColor; } } .wp-calendar-nav { text-align: left; margin-top: calc(var(--global--spacing-unit) / 2); svg { height: 1em; vertical-align: middle; path { fill: currentColor; } } .wp-calendar-nav-next { float: right; } } 05-blocks/table/_editor.scss000066600000002527152331644460011676 0ustar00table, .wp-block-table { thead, tfoot { text-align: center; } th { font-family: var(--heading--font-family); } td, th { padding: calc(0.5 * var(--global--spacing-unit)); } &.is-style-regular .has-background, &.is-style-stripes .has-background, &.is-style-stripes .has-background thead tr, &.is-style-stripes .has-background tfoot tr, &.is-style-stripes .has-background tbody tr { color: var(--table--has-background-text-color); } &.is-style-stripes { border-color: var(--table--stripes-border-color); th, td { border-width: 0; } tbody tr:nth-child(odd) { background-color: var(--table--stripes-background-color); } .has-background tbody tr:nth-child(odd) { background-color: var(--global--color-white-90); } } } table.wp-calendar-table { td, th { background: transparent; border: 0; text-align: center; line-height: 2; vertical-align: middle; } th { font-weight: bold; } thead, tbody { color: currentColor; border: 1px solid; } caption { font-weight: bold; text-align: left; margin-bottom: var(--global--spacing-unit); color: currentColor; } } .wp-calendar-nav { text-align: left; margin-top: calc(var(--global--spacing-unit) / 2); svg { height: 1em; vertical-align: middle; path { fill: currentColor; } } .wp-calendar-nav-next { float: right; } } 05-blocks/preformatted/_style.scss000066600000000104152331644460013142 0ustar00pre.wp-block-preformatted { overflow-x: auto; white-space: pre; } 05-blocks/preformatted/_editor.scss000066600000000170152331644460013273 0ustar00pre.wp-block-preformatted { overflow-x: auto; white-space: pre !important; font-size: var(--global--font-size-xs); } 05-blocks/quote/_style.scss000066600000006576152331644460011626 0ustar00.wp-block-quote { border-left: none; font-family: var(--quote--font-family); font-size: var(--quote--font-size); font-style: var(--quote--font-style); font-weight: var(--quote--font-weight); line-height: var(--quote--line-height); p { font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; } &:before { content: "\201C"; left: 8px; } .wp-block-quote__citation, cite, footer { font-family: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; .has-background &, [class*="background-color"] &, [style*="background-color"] &, .wp-block-cover[style*="background-image"] & { color: currentColor; } } &:where(:not([style*="font-style"])) .wp-block-quote__citation, &:where(:not([style*="font-style"])) cite, &:where(:not([style*="font-style"])) footer { font-style: var(--quote--font-style-cite); } // The cite has a lighter font-weight than the rest of the quote. &:where(:not([style*="font-weight"])) .wp-block-quote__citation, &:where(:not([style*="font-weight"])) cite, &:where(:not([style*="font-weight"])) footer { font-weight: normal; } /** * Block Options */ &.has-text-align-right { margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto; padding-right: 0; border-right: none; // Hide the left aligned quote. &:before { display: none; } // Align the quote left of the text. p:before { content: "\201D"; margin-right: 5px; } } &.has-text-align-center { margin: var(--global--spacing-vertical) auto; &:before { display: none; } } // The large style was removed in WordPress 6.0, the CSS is kept for backwards compatibility. &.is-large, &.is-style-large { padding-left: 0; padding-right: 0; /* Resetting margins to match _block-container.scss */ margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); p { font-size: var(--quote--font-size-large); font-style: var(--quote--font-style-large); line-height: var(--quote--line-height-large); } &:before { font-size: var(--quote--font-size-large); line-height: var(--quote--line-height-large); left: calc(-1 * var(--global--spacing-horizontal)); } &.has-text-align-right { // Hide the left aligned quote. &:before { display: none; } // Align the quote left of the text. p:before { content: "\201D"; font-size: var(--quote--font-size-large); font-weight: normal; line-height: var(--quote--line-height-large); margin-right: 10px; } } .wp-block-quote__citation, cite, footer { color: var(--global--color-primary); font-size: var(--global--font-size-sm); } @include media(mobile-only) { padding-left: var(--global--spacing-horizontal); &:before { left: 0; } &.has-text-align-right { padding-left: 0; padding-right: var(--global--spacing-horizontal); &:before { right: 0; } } &.has-text-align-center { padding-left: 0; padding-right: 0; } } } @include media(mobile-only) { &.has-text-align-right { padding-left: 0; padding-right: calc(0.5 * var(--global--spacing-horizontal)); &:before { right: 0; } } &.has-text-align-center { padding-left: 0; padding-right: 0; } } } 05-blocks/quote/_editor.scss000066600000006551152331644460011745 0ustar00.wp-block-quote { position: relative; border-left: none; margin: var(--global--spacing-vertical) auto var(--global--spacing-vertical) var(--global--spacing-horizontal); padding-left: 1em; font-family: var(--quote--font-family); font-size: var(--quote--font-size); font-style: var(--quote--font-style); font-weight: var(--quote--font-weight); line-height: var(--quote--line-height); p { font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; } strong { font-weight: var(--quote--font-weight-strong); } &:before { content: "\201C"; left: 8px; } .wp-block-quote__citation { color: currentColor; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; .has-background &, [class*="background-color"] &, [style*="background-color"] &, .wp-block-cover[style*="background-image"] & { color: currentColor; } } &:where(:not([style*="font-style"])) .wp-block-quote__citation { font-style: var(--quote--font-style-cite); } // The cite has a lighter font-weight than the rest of the quote. &:where(:not([style*="font-weight"])) .wp-block-quote__citation { font-weight: normal; } &.has-text-align-right { margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto; padding-right: 0; border-right: none; // Hide the left aligned quote. &:before { display: none; } // Align the quote left of the text. p:before { content: "\201D"; margin-right: 5px; } } &.has-text-align-center { margin: var(--global--spacing-vertical) auto; &:before { display: none; } } // The large style was removed in WordPress 6.0, the CSS is kept for backwards compatibility. &.is-large, &.is-style-large { padding-left: 0; /* Resetting margins to match _block-container.scss */ margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); p { font-size: var(--quote--font-size-large); font-style: var(--quote--font-style-large); line-height: var(--quote--line-height-large); } &:before { font-size: var(--quote--font-size-large); line-height: var(--quote--line-height-large); left: calc(-1 * var(--global--spacing-horizontal)); } &.has-text-align-right { // Hide the left aligned quote. &:before { display: none; } // Align the quote left of the text. p:before { content: "\201D"; font-size: var(--quote--font-size-large); font-weight: normal; line-height: var(--quote--line-height-large); margin-right: 10px; } } @include media(mobile-only) { padding-left: var(--global--spacing-horizontal); &:before { left: 0; } &.has-text-align-right { padding-left: 0; padding-right: var(--global--spacing-horizontal); &:before { right: 0; } } } } @include media(mobile-only) { padding-left: calc(0.5 * var(--global--spacing-horizontal)); &:before { left: 0; } &.has-text-align-right { padding-left: 0; padding-right: calc(0.5 * var(--global--spacing-horizontal)); &:before { right: 0; } } &.has-text-align-center { padding-left: 0; padding-right: 0; } } @include media(mobile) { margin-left: auto; &.has-text-align-right { margin-right: auto; } } } 05-blocks/query-loop/_style.scss000066600000000263152331644460012570 0ustar00.wp-block-query { &.has-background { padding: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { padding: var(--global--spacing-vertical); } } } 05-blocks/query-loop/_editor.scss000066600000000263152331644460012716 0ustar00.wp-block-query { &.has-background { padding: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { padding: var(--global--spacing-vertical); } } } 05-blocks/media-text/_style.scss000066600000001745152331644460012523 0ustar00.wp-block-media-text { &.alignfull { margin-top: 0; margin-bottom: 0; } a:focus img { outline-offset: -1px; } .wp-block-media-text__content { padding: var(--global--spacing-horizontal); @include media(tablet) { padding: var(--global--spacing-vertical); } > * { margin-top: calc(0.666 * var(--global--spacing-vertical)); margin-bottom: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } } // Block Options &.is-stacked-on-mobile .wp-block-media-text__content { @include media(mobile) { padding-top: var(--global--spacing-vertical); padding-bottom: var(--global--spacing-vertical); } } // Block Styles &.is-style-twentytwentyone-border { border: calc(3 * var(--separator--height)) solid var(--global--color-border); } } 05-blocks/media-text/_editor.scss000066600000000575152331644460012651 0ustar00.wp-block-media-text { [data-align="full"] & { margin-top: 0; margin-bottom: 0; } @include innerblock-margin-clear(".wp-block-media-text__content"); .wp-block-media-text__content { padding: var(--global--spacing-horizontal); } // Block Styles &.is-style-twentytwentyone-border { border: calc(3 * var(--separator--height)) solid var(--global--color-border); } } 05-blocks/navigation/_style.scss000066600000003536152331644460012621 0ustar00.wp-block-navigation { .wp-block-navigation-link { .wp-block-navigation-link__label { font-family: var(--primary-nav--font-family); font-size: var(--primary-nav--font-size); font-weight: var(--primary-nav--font-weight); } } .wp-block-navigation-link__submenu-icon { padding: 0; } // Top level navigation container. > .wp-block-navigation__container { .has-child { .wp-block-navigation-link { display: inherit; } .wp-block-navigation__container { border: none; left: 0; min-width: max-content; opacity: 0; padding: 0; position: inherit; top: inherit; .wp-block-navigation-link__submenu-icon { display: none; } } } > .has-child { > .wp-block-navigation__container { background: var(--global--color-background); margin: 0; padding: 0; position: absolute; top: 100%; border: 1px solid var(--primary-nav--border-color); &:before, &:after { content: ""; display: block; position: absolute; width: 0; top: -10px; left: var(--global--spacing-horizontal); border-style: solid; border-color: var(--primary-nav--border-color) transparent; border-width: 0 7px 10px 7px; } &:after { top: -9px; border-color: var(--global--color-background) transparent; } } } } &:not(.has-background) { .wp-block-navigation__container { background: var(--global--color-background); .wp-block-navigation__container { background: var(--global--color-background); } } } &:not(.has-text-color) { .wp-block-navigation-link { > a { &:hover, &:focus { color: var(--primary-nav--color-link-hover); } &:hover { text-decoration: underline; text-decoration-style: dotted; } } } .wp-block-navigation-link__content { color: currentColor; } } } 05-blocks/navigation/_editor.scss000066600000001330152331644460012735 0ustar00.wp-block-navigation { [data-block] { margin-top: revert; margin-bottom: revert; } .wp-block-navigation__container { background: var(--global--color-background); } .wp-block-navigation-link { .wp-block-navigation-link__label { font-family: var(--primary-nav--font-family); font-size: var(--primary-nav--font-size); font-weight: var(--primary-nav--font-weight); } } .has-child { .wp-block-navigation__container { box-shadow: var(--global--elevation); } } &:not(.has-text-color) { .wp-block-navigation-link { > a { &:hover, &:focus { color: var(--primary-nav--color-link-hover); } } } .wp-block-navigation-link__content { color: currentColor; } } } 05-blocks/cover/_style.scss000066600000005231152331644460011572 0ustar00.wp-block-cover, .wp-block-cover-image { &:not(.alignwide):not(.alignfull) { clear: both; } &.alignfull { margin-top: 0; margin-bottom: 0; } background-color: var(--cover--color-background); min-height: var(--cover--height); margin-top: inherit; margin-bottom: inherit; .wp-block-cover__inner-container, .wp-block-cover-image-text, .wp-block-cover-text { color: currentColor; // Uses text color specified with background-color options in 07-utilities\color-palette.scss margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); a:not(.wp-block-button__link):not(.wp-block-file__button) { color: currentColor; } .has-link-color a { color: var(--wp--style--color--link, var(--global--color-primary)); } } /* default & custom background-color */ &:not([class*="background-color"]) { .wp-block-cover__inner-container, .wp-block-cover-image-text, .wp-block-cover-text { color: var(--cover--color-foreground); } } /* Treating H2 separately to account for legacy /core styles */ h2 { font-size: var(--heading--font-size-h2); letter-spacing: var(--heading--letter-spacing-h2); line-height: var(--heading--line-height-h2); max-width: inherit; // undo opinionated styles text-align: inherit; // undo opinionated styles padding: 0; &.has-text-align-left { text-align: left; } &.has-text-align-center { text-align: center; } &.has-text-align-right { text-align: right; } } .wp-block-cover__inner-container { width: calc(100% - calc(2 * var(--global--spacing-vertical))); > * { margin-top: calc(0.666 * var(--global--spacing-vertical)); margin-bottom: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } } &.alignleft, &.alignright { margin-top: 0; > * { margin-top: calc(2 * var(--global--spacing-vertical)); margin-bottom: calc(2 * var(--global--spacing-vertical)); padding-left: var(--global--spacing-horizontal); padding-right: var(--global--spacing-horizontal); width: 100%; } } &.has-left-content, &.has-right-content { justify-content: center; } /* Block Styles */ &.is-style-twentytwentyone-border { border: calc(3 * var(--separator--height)) solid var(--global--color-border); } /* The background color class is used just for the overlay, and does not need to be applied to the inner container. */ &[class*="-background-color"][class] .wp-block-cover__inner-container { background-color: unset; } } 05-blocks/cover/_editor.scss000066600000003353152331644460011723 0ustar00.wp-block-cover, .wp-block-cover-image { &:not(.alignwide):not(.alignfull) { clear: both; } background-color: var(--cover--color-background); min-height: var(--cover--height); margin-top: inherit; margin-bottom: inherit; [data-align="full"] & { margin-top: 0; margin-bottom: 0; } @include innerblock-margin-clear(".wp-block-cover__inner-container"); .wp-block-cover__inner-container, .wp-block-cover-image-text, .wp-block-cover-text, .block-editor-block-list__block { color: currentColor; // uses text color specified with background-color options in /blocks/utilities/_style.scss a { color: currentColor; } .has-link-color a { color: var(--wp--style--color--link, var(--global--color-primary)); } } // Default & custom background-color &:not([class*="background-color"]) { .wp-block-cover__inner-container, .wp-block-cover-image-text, .wp-block-cover-text, .block-editor-block-list__block { color: var(--cover--color-foreground); } } // Treating H2 separately to account for legacy /core styles h2 { font-size: var(--heading--font-size-h2); letter-spacing: var(--heading--letter-spacing-h2); line-height: var(--heading--line-height-h2); padding: 0; text-align: inherit; &.has-text-align-left { text-align: left; } &.has-text-align-center { text-align: center; } &.has-text-align-right { text-align: right; } } // Block Styles &.is-style-twentytwentyone-border { border: calc(3 * var(--separator--height)) solid var(--global--color-border); } // The background color class is used just for the overlay, and does not need to be applied to the inner container. &[class*="-background-color"][class] .wp-block-cover__inner-container { background-color: unset; } } 05-blocks/latest-posts/_style.scss000066600000011312152331644460013113 0ustar00.wp-block-latest-posts { padding-left: 0; // Vertical margins logic &:not(.is-grid) > li { margin-top: calc(1.666 * var(--global--spacing-vertical)); margin-bottom: calc(1.666 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } .widget-area &:not(.is-grid) > li { margin-top: 0; margin-bottom: 0; } &.is-grid { word-wrap: break-word; word-break: break-word; > li { margin-bottom: var(--global--spacing-vertical); &:last-child { margin-bottom: 0; } } // Remove bottom margins in grid columns &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1), &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1) ~ li, &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1), &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1) ~ li, &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1), &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1) ~ li, &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1), &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1) ~ li, &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1), &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li { margin-bottom: 0; } } > li > * { margin-top: calc(0.333 * var(--global--spacing-vertical)); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } // Post title > li > a { display: inline-block; font-family: var(--latest-posts--title-font-family); font-size: var(--latest-posts--title-font-size); font-weight: var(--heading--font-weight); line-height: var(--global--line-height-heading); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); } .widget-area & > li > a { font-size: var(--global--font-size-sm); margin-bottom: 0; } // Post author .wp-block-latest-posts__post-author { color: var(--global--color-primary); font-size: var(--global--font-size-md); line-height: var(--global--line-height-body); } // Post date .wp-block-latest-posts__post-date { color: var(--global--color-primary); font-size: var(--global--font-size-xs); line-height: var(--global--line-height-body); [class*="inner-container"] &, .has-background & { color: currentColor; } } // Post content .wp-block-latest-posts__post-excerpt, .wp-block-latest-posts__post-full-content { font-family: var(--latest-posts--description-font-family); font-size: var(--latest-posts--description-font-size); line-height: var(--global--line-height-body); margin-top: calc(0.666 * var(--global--spacing-vertical)); } // Utility classes &.alignfull { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); .entry-content [class*="inner-container"] &, .entry-content .has-background & { padding-left: 0; padding-right: 0; } } // Block Styles &.is-style-twentytwentyone-latest-posts-dividers { border-top: calc(3 * var(--separator--height)) solid var(--global--color-border); border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border); &:not(.is-grid) > li, > li { padding-bottom: var(--global--spacing-vertical); border-bottom: var(--separator--height) solid var(--global--color-border); margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); &:last-child { padding-bottom: 0; border-bottom: none; } } &.is-grid { // Border moves up 1px to overlap the li borders in the last row. box-shadow: inset 0 -1px 0 0 var(--global--color-border); border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border); li { margin: 0; padding-top: var(--global--spacing-vertical); padding-right: var(--global--spacing-horizontal); &:last-child { padding-bottom: var(--global--spacing-vertical); } } // This is using a non-standard media query because it is directly overriding the gutenberg-provided widths. // https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/latest-posts/style.scss#L28-L34 @media screen and (min-width: 600px) { @for $i from 2 through 6 { &.columns-#{ $i } li { width: calc((100% / #{ $i })); } } } } } &.is-style-twentytwentyone-latest-posts-borders { li { border: calc(3 * var(--separator--height)) solid var(--global--color-border); padding: var(--global--spacing-vertical) var(--global--spacing-horizontal); &:last-child { padding-bottom: var(--global--spacing-vertical); } } &:not(.is-grid) li { margin-top: var(--global--spacing-horizontal); margin-bottom: var(--global--spacing-horizontal); } } } 05-blocks/latest-posts/_editor.scss000066600000007216152331644460013251 0ustar00.wp-block-latest-posts { padding-left: 0; // Vertical margins logic &:not(.is-grid) > li { margin-top: calc(1.666 * var(--global--spacing-vertical)); margin-bottom: calc(1.666 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } &.is-grid { word-wrap: break-word; word-break: break-word; > li { margin-bottom: var(--global--spacing-vertical); &:last-child { margin-bottom: 0; } } } > li > * { margin-top: calc(0.333 * var(--global--spacing-vertical)); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } // Post title > li > a { display: inline-block; font-family: var(--latest-posts--title-font-family); font-size: var(--latest-posts--title-font-size); font-weight: var(--heading--font-weight); line-height: var(--global--line-height-heading); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); } // Post author .wp-block-latest-posts__post-author { color: var(--global--color-primary); font-size: var(--global--font-size-md); line-height: var(--global--line-height-body); } // Post date .wp-block-latest-posts__post-date { color: var(--global--color-primary); font-size: var(--global--font-size-xs); line-height: var(--global--line-height-body); [class*="inner-container"] &, .has-background & { color: currentColor; } } // Post content .wp-block-latest-posts__post-excerpt, .wp-block-latest-posts__post-full-content { font-family: var(--latest-posts--description-font-family); font-size: var(--latest-posts--description-font-size); line-height: var(--global--line-height-body); margin-top: calc(0.666 * var(--global--spacing-vertical)); } // Block Styles &.is-style-twentytwentyone-latest-posts-dividers { border-top: calc(3 * var(--separator--height)) solid var(--global--color-border); border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border); &:not(.is-grid) > li, > li { padding-bottom: var(--global--spacing-vertical); border-bottom: var(--separator--height) solid var(--global--color-border); margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); &:last-child { padding-bottom: 0; border-bottom: none; } } &.is-grid { // Border moves up 1px to overlap the li borders in the last row. box-shadow: inset 0 -1px 0 0 var(--global--color-border); border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border); li { margin: 0; padding-top: var(--global--spacing-vertical); padding-right: var(--global--spacing-horizontal); &:last-child { padding-bottom: var(--global--spacing-vertical); } } // This is using a non-standard media query because it is directly overriding the gutenberg-provided widths. // https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/latest-posts/style.scss#L28-L34 @media screen and (min-width: 600px) { @for $i from 2 through 6 { &.columns-#{ $i } li { width: calc((100% / #{ $i })); } } } } } &.is-style-twentytwentyone-latest-posts-borders { li { border: calc(3 * var(--separator--height)) solid var(--global--color-border); padding: var(--global--spacing-vertical) var(--global--spacing-horizontal); &:last-child { padding-bottom: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } } &:not(.is-grid) li { margin-top: var(--global--spacing-horizontal); margin-bottom: var(--global--spacing-horizontal); } } } 05-blocks/button/_style.scss000066600000005256152331644460011776 0ustar00/** * Button */ .site .button, button, input[type="submit"], input[type="reset"], .wp-block-search .wp-block-search__button, .wp-block-button .wp-block-button__link, .wp-block-file a.wp-block-file__button { // Extend button style @include button-style(); } /** * Block Options */ .wp-block-button { // Target the default and filled button states. &:not(.is-style-outline) { .wp-block-button__link:not(:hover):not(:active) { // Text colors &:not(.has-text-color) { color: var(--global--color-background); // Nested .has-background & { color: var(--local--color-background, var(--global--color-background)); &.has-background { color: var(--global--color-primary); } } } // Background-colors &:not(.has-background) { background-color: var(--global--color-primary); // Nested .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)); } } } // Hover Button color should match parent element foreground color .wp-block-button__link:hover, .wp-block-button__link:active { border-color: currentColor !important; background-color: transparent !important; color: inherit !important; } } // Outline Style. &.is-style-outline { .wp-block-button__link:not(:hover):not(:active) { // Border colors &:not(.has-text-color), &:not(.has-background), &.has-background { border-color: currentColor; } // Text colors &:not(.has-text-color) { color: var(--global--color-primary); // Nested .has-background & { color: var(--local--color-primary, var(--global--color-primary)); } } &.has-background { // Nested .has-background &:not(.has-text-color) { color: inherit; } } // Background-colors &:not(.has-background) { background-color: transparent; } } .wp-block-button__link:hover, .wp-block-button__link:active { border-color: transparent !important; background-color: var(--global--color-primary) !important; color: var(--global--color-background) !important; .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)) !important; color: var(--local--color-background, var(--global--color-background)) !important; } .has-text-color & { color: var(--local--color-background, var(--global--color-background)) !important; } } } // Squared Style .is-style-squared .wp-block-button__link { border-radius: 0; } } .is-style-outline .wp-block-button__link[style*="radius"]:focus, .wp-block-button a.wp-block-button__link[style*="radius"]:focus { outline-offset: 2px; outline: 2px dotted var(--button--color-background); } 05-blocks/button/_editor.scss000066600000005305152331644460012117 0ustar00.wp-block-button__link { // Extend button style @include button-style(); } /** * Block Options */ .wp-block-button { // Target the default and filled button states. &:not(.is-style-outline) { .wp-block-button__link:not(:hover):not(:active) { // Text colors &:not(.has-text-color) { color: var(--global--color-background); // Nested .has-background & { color: var(--local--color-background, var(--global--color-background)); &.has-background { color: var(--global--color-primary); } } } // Background-colors &:not(.has-background) { background-color: var(--global--color-primary); // Nested .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)); } } } // Hover Button color should match parent element foreground color .wp-block-button__link:hover, .wp-block-button__link:active { border-color: currentColor !important; background-color: transparent !important; color: inherit !important; } // Remove :focus styles in the editor .wp-block-button__link:focus { outline-offset: inherit; outline: inherit; } } // Outline Style. &.is-style-outline { .wp-block-button__link:not(:hover):not(:active) { // Border colors &:not(.has-text-color), &:not(.has-background), &.has-background { border-color: currentColor; } // Text colors &:not(.has-text-color) { color: var(--global--color-primary); // Nested .has-background & { color: var(--local--color-primary, var(--global--color-primary)); } } &.has-background { // Nested .has-background &:not(.has-text-color) { color: inherit; } } // Background-colors &:not(.has-background) { background-color: transparent; } } // Hover Button color should match default button style .wp-block-button__link:hover, .wp-block-button__link:active { background-color: var(--global--color-primary) !important; border-color: transparent !important; color: var(--global--color-background) !important; .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)) !important; color: var(--local--color-background, var(--global--color-background)) !important; } .has-text-color & { color: var(--local--color-background, var(--global--color-background)) !important; } } // Remove :focus styles in the editor .wp-block-button__link:focus { outline-offset: inherit; outline: inherit; } } // Squared Style &.is-style-squared { border-radius: 0; } } .is-style-outline .wp-block-button__link[style*="radius"], .wp-block-button__link[style*="radius"] { outline-offset: 2px; } 05-blocks/paragraph/_style.scss000066600000000530152331644460012416 0ustar00p { line-height: var(--wp--typography--line-height, var(--global--line-height-body)); // inherits general font style set at &.has-background { padding: var(--global--spacing-unit); } // Override `color: inherit` from Core styles. &.has-text-color a { color: var(--wp--style--color--link, var(--global--color-primary)); } } 05-blocks/paragraph/_editor.scss000066600000000231152331644460012542 0ustar00p { line-height: var(--wp--typography--line-height, var(--global--line-height-body)); &.has-background { padding: var(--global--spacing-unit); } } 05-blocks/group/_style.scss000066600000003237152331644460011614 0ustar00.wp-block-group { // Start IE clearfix. // This hack is only necessary because we want to support IE11. // If we don't want to support IE11, then "display: flow-root" would suffice. display: flow-root; // stylelint-disable-line declaration-block-no-duplicate-properties // End IE clearfix. .wp-block-group__inner-container { margin-left: auto; margin-right: auto; > * { margin-top: calc(0.666 * var(--global--spacing-vertical)); margin-bottom: calc(0.666 * var(--global--spacing-vertical)); &.alignfull { @extend %responsive-alignfull-width-mobile; } @include media(mobile) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } } &.has-background { padding: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { padding: var(--global--spacing-vertical); } } // Block Styles &.is-style-twentytwentyone-border { border: calc(3 * var(--separator--height)) solid var(--global--color-border); padding: var(--global--spacing-vertical); } // Adjust alignfull items to account for left and right padding. &.has-background, &.is-style-twentytwentyone-border { .wp-block-group__inner-container > .alignfull, .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull { max-width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical))); width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical))); margin-left: calc(-1 * var(--global--spacing-vertical)); } } } 05-blocks/group/_editor.scss000066600000001533152331644460011737 0ustar00.wp-block-group { &.has-background { padding: var(--global--spacing-vertical); [data-align="full"] & { margin-top: 0; margin-bottom: 0; } } // Block Styles &.is-style-twentytwentyone-border { border: calc(3 * var(--separator--height)) solid var(--global--color-border); padding: var(--global--spacing-vertical); .wp-block-group__inner-container > [data-align="full"] { max-width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical))); width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical))); margin-left: calc(-1 * var(--global--spacing-vertical)); } } @include innerblock-margin-clear(".wp-block-group__inner-container"); } .wp-block-group .wp-block-group.has-background > .block-editor-block-list__layout > [data-align="full"] { margin: 0; width: 100%; } 05-blocks/heading/_style.scss000066600000002412152331644460012051 0ustar00h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { clear: both; font-family: var(--heading--font-family); font-weight: var(--heading--font-weight); strong { font-weight: var(--heading--font-weight-strong); } } h1, .h1 { font-size: var(--heading--font-size-h1); letter-spacing: var(--heading--letter-spacing-h1); line-height: var(--heading--line-height-h1); } h2, .h2 { font-size: var(--heading--font-size-h2); letter-spacing: var(--heading--letter-spacing-h2); line-height: var(--heading--line-height-h2); } h3, .h3 { font-size: var(--heading--font-size-h3); letter-spacing: var(--heading--letter-spacing-h3); line-height: var(--heading--line-height-h3); } h4, .h4 { font-size: var(--heading--font-size-h4); font-weight: var(--heading--font-weight-strong); letter-spacing: var(--heading--letter-spacing-h4); line-height: var(--heading--line-height-h4); } h5, .h5 { font-size: var(--heading--font-size-h5); font-weight: var(--heading--font-weight-strong); letter-spacing: var(--heading--letter-spacing-h5); line-height: var(--heading--line-height-h5); } h6, .h6 { font-size: var(--heading--font-size-h6); font-weight: var(--heading--font-weight-strong); letter-spacing: var(--heading--letter-spacing-h6); line-height: var(--heading--line-height-h6); } 05-blocks/heading/_editor.scss000066600000003227152331644460012204 0ustar00.wp-block-heading h1, h1, .h1, .wp-block-heading h2, h2, .h2, .wp-block-heading h3, h3, .h3, .wp-block-heading h4, h4, .h4, .wp-block-heading h5, h5, .h5, .wp-block-heading h6, h6, .h6 { clear: both; font-family: var(--heading--font-family); font-weight: var(--heading--font-weight); strong { font-weight: var(--heading--font-weight-strong); } &[style*="--wp--typography--line-height"] { line-height: var(--wp--typography--line-height, var(--global--line-height-body)); } } .wp-block-heading h1, h1, .h1 { font-size: var(--heading--font-size-h1); letter-spacing: var(--heading--letter-spacing-h1); line-height: var(--heading--line-height-h1); } .wp-block-heading h2, h2, .h2 { font-size: var(--heading--font-size-h2); letter-spacing: var(--heading--letter-spacing-h2); line-height: var(--heading--line-height-h2); } .wp-block-heading h3, h3, .h3 { font-size: var(--heading--font-size-h3); letter-spacing: var(--heading--letter-spacing-h3); line-height: var(--heading--line-height-h3); } .wp-block-heading h4, h4, .h4 { font-size: var(--heading--font-size-h4); font-weight: var(--heading--font-weight-strong); letter-spacing: var(--heading--letter-spacing-h4); line-height: var(--heading--line-height-h4); } .wp-block-heading h5, h5, .h5 { font-size: var(--heading--font-size-h5); font-weight: var(--heading--font-weight-strong); letter-spacing: var(--heading--letter-spacing-h5); line-height: var(--heading--line-height-h5); } .wp-block-heading h6, h6, .h6 { font-size: var(--heading--font-size-h6); font-weight: var(--heading--font-weight-strong); letter-spacing: var(--heading--letter-spacing-h6); line-height: var(--heading--line-height-h6); } 05-blocks/separator/_style.scss000066600000002354152331644460012457 0ustar00hr { border-style: none; border-bottom: var(--separator--height) solid var(--separator--border-color); clear: both; margin-left: auto; margin-right: auto; &.wp-block-separator { border-bottom: var(--separator--height) solid var(--separator--border-color); opacity: 1; &:not(.is-style-dots):not(.alignwide) { max-width: var(--responsive--aligndefault-width); } &:not(.is-style-dots) { &.alignwide { max-width: var(--responsive--alignwide-width); } &.alignfull { max-width: var(--responsive--alignfull-width); } } /** * Block Options */ &.is-style-twentytwentyone-separator-thick { border-bottom-width: calc(3 * var(--separator--height)); } &.is-style-dots { &.has-background, &.has-text-color { background-color: transparent !important; &:before { color: currentColor !important; } } &:before { color: var(--separator--border-color); font-size: var(--global--font-size-xl); letter-spacing: var(--global--font-size-sm); padding-left: var(--global--font-size-sm); } } .has-background &, [class*="background-color"] &, [style*="background-color"] &, .wp-block-cover[style*="background-image"] & { border-color: currentColor; } } } 05-blocks/separator/_editor.scss000066600000001660152331644460012604 0ustar00.wp-block-separator, hr { border-bottom: var(--separator--height) solid var(--separator--border-color); clear: both; opacity: 1; &[style*="text-align:right"], &[style*="text-align: right"] { border-right-color: var(--separator--border-color); } &:not(.is-style-dots) { max-width: var(--responsive--aligndefault-width); } [data-align="full"] > &, [data-align="wide"] > & { max-width: inherit; } &.is-style-twentytwentyone-separator-thick { border-bottom-width: calc(3 * var(--separator--height)); } &.is-style-dots { border-bottom: none; &.has-background, &.has-text-color { background-color: transparent !important; &:before { color: currentColor !important; } } &:before { color: var(--separator--border-color); } } .has-background &, [class*="background-color"] &, [style*="background-color"] &, .wp-block-cover[style*="background-image"] & { border-color: currentColor; } } 05-blocks/rss/_style.scss000066600000005277152331644460011275 0ustar00.wp-block-rss { padding-left: 0; > li { list-style: none; } // Vertical margins logic &:not(.is-grid) > li { margin-top: calc(1.666 * var(--global--spacing-vertical)); margin-bottom: calc(1.666 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } &.is-grid { > li { margin-bottom: var(--global--spacing-vertical); &:last-child { margin-bottom: 0; } } // Remove bottom margins in grid columns &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1), &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1) ~ li, &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1), &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1) ~ li, &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1), &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1) ~ li, &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1), &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1) ~ li, &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1), &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li { margin-bottom: 0; } } > li > * { margin-top: calc(0.333 * var(--global--spacing-vertical)); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } // Post title .wp-block-rss__item-title > a { display: inline-block; font-family: var(--latest-posts--title-font-family); font-size: var(--latest-posts--title-font-size); font-weight: var(--heading--font-weight); line-height: var(--global--line-height-heading); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); } // Post author .wp-block-rss__item-author { color: var(--global--color-primary); font-size: var(--global--font-size-md); line-height: var(--global--line-height-body); } // Post date .wp-block-rss__item-publish-date { color: var(--global--color-primary); font-size: var(--global--font-size-xs); line-height: var(--global--line-height-body); [class*="inner-container"] &, .has-background & { color: currentColor; } } // Post content .wp-block-rss__item-excerpt, .wp-block-rss__item-full-content { font-family: var(--latest-posts--description-font-family); font-size: var(--latest-posts--description-font-size); line-height: var(--global--line-height-body); margin-top: calc(0.666 * var(--global--spacing-vertical)); } // Utility classes &.alignfull { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); .entry-content [class*="inner-container"] &, .entry-content .has-background & { padding-left: 0; padding-right: 0; } } } 05-blocks/rss/_editor.scss000066600000005277152331644460011423 0ustar00.wp-block-rss { padding-left: 0; > li { list-style: none; } // Vertical margins logic &:not(.is-grid) > li { margin-top: calc(1.666 * var(--global--spacing-vertical)); margin-bottom: calc(1.666 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } &.is-grid { > li { margin-bottom: var(--global--spacing-vertical); &:last-child { margin-bottom: 0; } } // Remove bottom margins in grid columns &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1), &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1) ~ li, &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1), &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1) ~ li, &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1), &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1) ~ li, &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1), &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1) ~ li, &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1), &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li { margin-bottom: 0; } } > li > * { margin-top: calc(0.333 * var(--global--spacing-vertical)); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } // Post title .wp-block-rss__item-title > a { display: inline-block; font-family: var(--latest-posts--title-font-family); font-size: var(--latest-posts--title-font-size); font-weight: var(--heading--font-weight); line-height: var(--global--line-height-heading); margin-bottom: calc(0.333 * var(--global--spacing-vertical)); } // Post author .wp-block-rss__item-author { color: var(--global--color-primary); font-size: var(--global--font-size-md); line-height: var(--global--line-height-body); } // Post date .wp-block-rss__item-publish-date { color: var(--global--color-primary); font-size: var(--global--font-size-xs); line-height: var(--global--line-height-body); [class*="inner-container"] &, .has-background & { color: currentColor; } } // Post content .wp-block-rss__item-excerpt, .wp-block-rss__item-full-content { font-family: var(--latest-posts--description-font-family); font-size: var(--latest-posts--description-font-size); line-height: var(--global--line-height-body); margin-top: calc(0.666 * var(--global--spacing-vertical)); } // Utility classes &.alignfull { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); .entry-content [class*="inner-container"] &, .entry-content .has-background & { padding-left: 0; padding-right: 0; } } } 05-blocks/tag-clould/_style.scss000066600000000206152331644460012504 0ustar00.wp-block-tag-cloud { &.alignfull { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); } } 05-blocks/tag-clould/_editor.scss000066600000000103152331644460012626 0ustar00.wp-block-tag-cloud { &.aligncenter { text-align: center; } } 05-blocks/utilities/_style.scss000066600000005771152331644460012500 0ustar00/* Block Alignments */ /** * These selectors set the default max width for content appearing inside a post or page. */ .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), *[class*="inner-container"] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) { @extend %responsive-aligndefault-width; } /** * .alignleft */ .alignleft { /*rtl:ignore*/ text-align: left; margin-top: 0; } // Targeting the .entry-content class is necessary to ensure these styles // only apply when the block isn't nested. .entry-content > .alignleft { max-width: var(--responsive--aligndefault-width); @extend %responsive-alignleft; } @include media(mobile) { .alignleft { /*rtl:ignore*/ float: left; /*rtl:ignore*/ margin-right: var(--global--spacing-horizontal); margin-bottom: var(--global--spacing-vertical); } .entry-content > .alignleft { max-width: calc(50% - var(--responsive--alignleft-margin)); } } /** * .aligncenter */ .aligncenter { clear: both; display: block; float: none; margin-right: auto; margin-left: auto; text-align: center; } /** * .alignright */ .alignright { margin-top: 0; margin-bottom: var(--global--spacing-vertical); } // Targeting the .entry-content class is necessary to ensure these styles // only apply when the block isn't nested. .entry-content > .alignright { max-width: var(--responsive--aligndefault-width); @extend %responsive-alignright; } @include media(mobile) { .alignright { /*rtl:ignore*/ float: right; /*rtl:ignore*/ margin-left: var(--global--spacing-horizontal); } .entry-content > .alignright { max-width: calc(50% - var(--responsive--alignright-margin)); } } // Make sure siblings of floated elements are top-aligned when nested [class*="inner-container"] > .alignleft + *, [class*="inner-container"] > .alignright + * { margin-top: 0; } /** * .alignwide */ .alignwide { clear: both; @extend %responsive-alignwide-width; } .alignwide [class*="inner-container"] > .alignwide { @extend %responsive-alignwide-width-nested; } /** * .alignfull */ .alignfull { clear: both; @extend %responsive-alignfull-width-mobile; @extend %responsive-alignfull-width; } .alignfull [class*="inner-container"] > .alignwide { @extend %responsive-alignwide-width-nested; } // Content alignment .has-left-content { justify-content: flex-start; } .has-right-content { justify-content: flex-end; } // Parallax .has-parallax { background-attachment: fixed; } // Drop caps .has-drop-cap:not(:focus)::first-letter { font-family: var(--heading--font-family); font-weight: var(--heading--font-weight); line-height: 0.66; text-transform: uppercase; font-style: normal; float: left; margin: 0.1em 0.1em 0 0; font-size: calc(1.2 * var(--heading--font-size-h1)); } .has-drop-cap:not(:focus)::after { content: ""; display: table; clear: both; padding-top: 14px; } .desktop-only { display: none; @include media(mobile) { display: block; } } 05-blocks/utilities/_editor.scss000066600000006307152331644460012622 0ustar00/** * Editor Post Title * - Needs a special styles */ // Post title style .wp-block.editor-post-title__block { border-bottom: 3px solid var(--global--color-border); padding-bottom: calc(2 * var(--global--spacing-vertical)); margin-bottom: calc(3 * var(--global--spacing-vertical)); max-width: var(--responsive--alignwide-width); .editor-post-title__input { color: var(--global--color-secondary); font-family: var(--heading--font-family); font-size: var(--global--font-size-page-title); font-weight: var(--heading--font-weight-page-title); line-height: var(--heading--line-height-h1); } } // Editor UI font styles .wp-block.block-editor-default-block-appender > textarea { font-family: var(--global--font-secondary); font-size: var(--global--font-size-md); } // Gutenberg text color options .has-primary-color[class] { color: var(--global--color-primary); } .has-secondary-color[class] { color: var(--global--color-secondary); } // Gutenberg background-color options .has-background { a, p, h1, h2, h3, h4, h5, h6 { color: currentColor; } } .has-primary-background-color[class] { background-color: var(--global--color-primary); color: var(--global--color-background); } .has-secondary-background-color[class] { background-color: var(--global--color-secondary); color: var(--global--color-background); } .has-white-background-color[class] { background-color: var(--global--color-white); color: var(--global--color-secondary); } .has-black-background-color[class] { background-color: var(--global--color-black); color: var(--global--color-primary); } // Spacing Overrides [data-block]:where(:not(.wp-block-list-item)) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } // Block Alignments .wp-block { // Gutenberg injects a rule that limits the max width of .wp-block to 580px // This line overrides it to use the responsive spacing rules for default width content max-width: var(--responsive--aligndefault-width); // Use the theme's max-width for wide alignment. &[data-align="wide"], &.alignwide { max-width: var(--responsive--alignwide-width); } &[data-align="full"], &.alignfull { max-width: none; } } .alignleft { margin: 0; margin-right: var(--global--spacing-horizontal); } .alignright { margin: 0; margin-left: var(--global--spacing-horizontal); } // Drop cap .has-drop-cap:not(:focus)::first-letter { font-family: var(--heading--font-family); font-weight: var(--heading--font-weight); line-height: 0.66; text-transform: uppercase; font-style: normal; margin: 0.1em 0.1em 0 0; font-size: calc(1.2 * var(--heading--font-size-h1)); } @include media(mobile) { .wp-block[data-align="left"] > * { max-width: 290px; /*rtl:ignore*/ margin-right: var(--global--spacing-horizontal); } .wp-block[data-align="right"] > * { max-width: 290px; /*rtl:ignore*/ margin-left: var(--global--spacing-horizontal); } } // Remove the border of blockquotes inside the classic block. .wp-block-freeform.block-library-rich-text__tinymce blockquote { border: none; } // Adjust the position of the quote symbol for blockquotes inside the classic block. .wp-block-freeform.block-library-rich-text__tinymce blockquote:before { left: 5px; } 05-blocks/utilities/_font-sizes.scss000066600000002430152331644460013426 0ustar00// Gutenberg Font-size utility classes :root { .is-extra-small-text, .has-extra-small-font-size { font-size: var(--global--font-size-xs); } .is-small-text, .has-small-font-size { font-size: var(--global--font-size-sm); } .is-regular-text, .has-regular-font-size, .is-normal-font-size, .has-normal-font-size, .has-medium-font-size { font-size: var(--global--font-size-base); } .is-large-text, .has-large-font-size { font-size: var(--global--font-size-lg); line-height: var(--global--line-height-heading); } .is-larger-text, .has-larger-font-size, .is-extra-large-text, .has-extra-large-font-size { font-size: var(--global--font-size-xl); line-height: var(--global--line-height-heading); } .is-huge-text, .has-huge-font-size { font-size: var(--global--font-size-xxl); line-height: var(--global--line-height-heading); // This size is meant to mimic the page titles, so the font weight is reduced to match. font-weight: var(--heading--font-weight-page-title); } .is-gigantic-text, .has-gigantic-font-size { font-size: var(--global--font-size-xxxl); line-height: var(--global--line-height-heading); // This size is meant to mimic the page titles, so the font weight is reduced to match. font-weight: var(--heading--font-weight-page-title); } } 05-blocks/blocks-editor.scss000066600000002241152331644460011714 0ustar00// Block Styles for the Editor // - These styles replace key Gutenberg Block styles for fonts, colors, and // spacing with CSS-variables overrides in the Block Editor // - In the future the Block styles may get compiled to individual .css // files and conditionally loaded @import "button/editor"; @import "code/editor"; @import "cover/editor"; @import "columns/editor"; @import "file/editor"; @import "gallery/editor"; @import "group/editor"; @import "heading/editor"; @import "html/editor"; @import "image/editor"; @import "latest-comments/editor"; @import "latest-posts/editor"; @import "legacy/editor"; // "Blocks" from the legacy WP editor, ie: galleries, .button class, etc. @import "list/editor"; @import "media-text/editor"; @import "navigation/editor"; @import "paragraph/editor"; @import "preformatted/editor"; @import "pullquote/editor"; @import "query-loop/editor"; @import "quote/editor"; @import "rss/editor"; @import "search/editor"; @import "separator/editor"; @import "social-icons/editor"; @import "table/editor"; @import "tag-clould/editor"; @import "verse/editor"; @import "utilities/font-sizes"; @import "utilities/editor"; // Import LAST to cascade properly 05-blocks/pullquote/_style.scss000066600000004364152331644460012514 0ustar00.wp-block-pullquote { padding: calc(2 * var(--global--spacing-unit)) 0; text-align: center; border-width: var(--pullquote--border-width); border-bottom-style: solid; border-top-style: solid; color: currentColor; border-color: currentColor; position: relative; font-size: var(--pullquote--font-size); font-style: var(--pullquote--font-style); font-weight: 700; letter-spacing: var(--pullquote--letter-spacing); blockquote::before { color: currentColor; content: "\201C"; display: block; position: relative; // Override the absolute position. left: 0; font-size: 3rem; font-weight: 500; line-height: 1; } p { font-family: var(--pullquote--font-family); font-size: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0; } &:where(:not([style*="line-height"])) p { line-height: var(--pullquote--line-height); } a { color: currentColor; } .wp-block-pullquote__citation, cite, footer { color: currentColor; display: block; font-size: var(--global--font-size-xs); font-style: var(--pullquote--font-style); text-transform: none; } /** * Block Options */ &:not(.is-style-solid-color) { background: none; } &.alignleft:not(.is-style-solid-color) { blockquote:before, cite { text-align: center; } } &.alignwide > p, &.alignwide blockquote { max-width: var(--responsive--alignwide-width); } &.alignfull:not(.is-style-solid-color) > p, &.alignfull:not(.is-style-solid-color) blockquote { padding: 0 calc(2 * var(--global--spacing-unit)); } &.is-style-solid-color { color: var(--pullquote--color-foreground); padding: calc(2.5 * var(--global--spacing-unit)); border-width: var(--pullquote--border-width); border-style: solid; border-color: var(--pullquote--border-color); @media (min-width: 600px) { padding: calc(5 * var(--global--spacing-unit)); } blockquote::before { text-align: left; } blockquote { margin: 0; max-width: inherit; p { font-size: var(--pullquote--font-size); } } .wp-block-pullquote__citation, cite, footer { color: currentColor; } &.alignleft, &.alignright { padding: var(--global--spacing-unit); blockquote { max-width: initial; } } } } 05-blocks/pullquote/_editor.scss000066600000004311152331644460012632 0ustar00.wp-block-pullquote { padding: calc(2 * var(--global--spacing-unit)) 0; text-align: center; border-width: var(--pullquote--border-width); border-bottom-style: solid; border-top-style: solid; color: currentColor; border-color: currentColor; position: relative; font-size: var(--pullquote--font-size); font-style: var(--pullquote--font-style); font-weight: 700; letter-spacing: var(--pullquote--letter-spacing); blockquote::before { color: currentColor; content: "\201C"; display: block; position: relative; // Override the absolute position. left: 0; font-size: 3rem; font-weight: 500; line-height: 1; } p { font-family: var(--pullquote--font-family); font-size: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0; } &:where(:not([style*="line-height"])) p { line-height: var(--pullquote--line-height); } a { color: currentColor; } .wp-block-pullquote__citation, cite, footer { font-size: var(--global--font-size-xs); font-style: var(--pullquote--font-style); text-transform: none; } // Block Options &:not(.is-style-solid-color) { background: none; } &.is-style-solid-color { margin-left: auto; margin-right: auto; padding: calc(2.5 * var(--global--spacing-unit)); border-width: var(--pullquote--border-width); border-style: solid; border-color: var(--pullquote--border-color); @media ( min-width: 600px ) { padding: calc(5 * var(--global--spacing-unit)); } blockquote::before { text-align: left; } &.alignleft blockquote, &.alignright blockquote { padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); max-width: inherit; } blockquote { margin: 0; max-width: 100%; p { font-size: var(--pullquote--font-size); } } .wp-block-pullquote__citation, cite, footer { color: currentColor; } } } .wp-block[data-align="full"] { .wp-block-pullquote:not(.is-style-solid-color) { blockquote { padding: 0 calc(2 * var(--global--spacing-unit)); } } } .wp-block[data-align="left"], .wp-block[data-align="right"] { .wp-block-pullquote.is-style-solid-color { padding: var(--global--spacing-unit); } } 05-blocks/gallery/_style.scss000066600000001264152331644460012115 0ustar00.wp-block-gallery { margin: 0 auto; .blocks-gallery-image, .blocks-gallery-item { // On mobile and responsive viewports, we allow only 1 or 2 columns at the most. width: calc((100% - var(--global--spacing-unit)) / 2); figcaption { margin: 0; // Text color is always white to account for default gradient background color: var(--global--color-white); font-size: var(--global--font-size-xs); a { color: var(--global--color-white); &:focus { background-color: transparent; outline: 2px solid var(--wp--style--color--link, var(--global--color-primary)); text-decoration: none; } } } a:focus img { outline-offset: 2px; } } } 05-blocks/gallery/_editor.scss000066600000000155152331644460012241 0ustar00.wp-block-gallery { figcaption { margin-bottom: 0; a { color: var(--global--color-white); } } } 05-blocks/image/_style.scss000066600000003254152331644460011541 0ustar00.wp-block-image { text-align: center; figcaption { color: var(--global--color-primary); font-size: var(--global--font-size-xs); line-height: var(--global--line-height-body); margin-top: calc(0.5 * var(--global--spacing-unit)); margin-bottom: var(--global--spacing-unit); text-align: center; } .alignright { /*rtl:ignore*/ margin-left: var(--global--spacing-horizontal); /*rtl:ignore*/ margin-right: 0; } .alignleft { /*rtl:ignore*/ margin-right: var(--global--spacing-horizontal); /*rtl:ignore*/ margin-left: 0; } a:focus img { outline-offset: 2px; } } // Remove vertical margins from image block wrappers when floated .entry-content > *[class="wp-block-image"], .entry-content [class*="inner-container"] > *[class="wp-block-image"] { margin-top: 0; margin-bottom: 0; // Remove top margins from the following element when previous image block is floated + * { margin-top: 0; } } // Block Styles .wp-block-image.is-style-twentytwentyone-border img, .wp-block-image.is-style-twentytwentyone-image-frame img { border: calc(3 * var(--separator--height)) solid var(--global--color-border); } .wp-block-image.is-style-twentytwentyone-image-frame img { padding: var(--global--spacing-unit); } .entry-content { > .wp-block-image { @include media(mobile) { > .alignleft, > .alignright { max-width: 50%; } } @include media(mobile-only) { > .alignleft, > .alignright { margin-left: 0; margin-right: 0; &:after { content: ""; display: block; height: 1px; width: 1em; /*rtl:ignore*/ float: right; } } > .alignright:after { /*rtl:ignore*/ float: left; } } } } 05-blocks/image/_editor.scss000066600000001337152331644460011667 0ustar00/* Center image block by default in the editor */ .wp-block-image, .wp-block-image > div:not(.components-placeholder) { text-align: center; } [data-type="core/image"] .block-editor-block-list__block-edit figure.is-resized { margin: 0 auto; } /* Block Styles */ .wp-block-image.is-style-twentytwentyone-border img, .wp-block-image.is-style-twentytwentyone-image-frame img { border: calc(3 * var(--separator--height)) solid var(--global--color-border); } .wp-block-image.is-style-twentytwentyone-image-frame img { padding: var(--global--spacing-unit); } .wp-block[data-align="left"] > .wp-block-image { /*rtl:ignore*/ margin-left: 0; } .wp-block[data-align="right"] > .wp-block-image { /*rtl:ignore*/ margin-right: 0; } 05-blocks/file/_style.scss000066600000000347152331644460011376 0ustar00.wp-block-file { // Undo Gutenberg hover defaults a.wp-block-file__button:active, a.wp-block-file__button:focus, a.wp-block-file__button:hover { opacity: inherit; } a.wp-block-file__button { display: inline-block; } } 05-blocks/file/_editor.scss000066600000000672152331644460011525 0ustar00.wp-block-file { .wp-block-file__textlink { text-decoration: underline; text-decoration-style: solid; text-decoration-thickness: 1px; &:hover { text-decoration: underline; text-decoration-style: dotted; } } .wp-block-file__button { // Extend button style @include button-style(); display: inline-block; // Remove :focus styles in the editor &:focus { outline-offset: inherit; outline: inherit; } } } 05-blocks/html/_editor.scss000066600000000337152331644460011550 0ustar00[data-type="core/html"] textarea { // Make sure that the color is not white on white when a dark body background is used. color: var(--global--color-dark-gray); border-radius: 0; padding: var(--global--spacing-unit); } 05-blocks/video/_style.scss000066600000000504152331644460011560 0ustar00.wp-block-video { figcaption { color: var(--global--color-primary); font-size: var(--global--font-size-xs); margin-top: calc(0.5 * var(--global--spacing-unit)); margin-bottom: var(--global--spacing-unit); text-align: center; } } * > figure > video { max-width: unset; width: 100%; vertical-align: middle; } 05-blocks/latest-comments/_style.scss000066600000001453152331644460013575 0ustar00.wp-block-latest-comments { padding-left: 0; &:where(:not([class*="-font-size"]):not([style*="font-size"])) .wp-block-latest-comments__comment { font-size: var(--global--font-size-sm); } .wp-block-latest-comments__comment { line-height: var(--global--line-height-body); /* Vertical margins logic */ margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } .wp-block-latest-comments__comment-meta { font-family: var(--heading--font-family); } .wp-block-latest-comments__comment-date { color: inherit; font-size: inherit; } .wp-block-latest-comments__comment-excerpt p { font-size: inherit; line-height: var(--global--line-height-body); margin: 0; } } 05-blocks/latest-comments/_editor.scss000066600000001453152331644460013723 0ustar00.wp-block-latest-comments { padding-left: 0; &:where(:not([class*="-font-size"]):not([style*="font-size"])) .wp-block-latest-comments__comment { font-size: var(--global--font-size-sm); } .wp-block-latest-comments__comment { line-height: var(--global--line-height-body); /* Vertical margins logic */ margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } .wp-block-latest-comments__comment-meta { font-family: var(--heading--font-family); } .wp-block-latest-comments__comment-date { color: inherit; font-size: inherit; } .wp-block-latest-comments__comment-excerpt p { font-size: inherit; line-height: var(--global--line-height-body); margin: 0; } } 05-blocks/code/_style.scss000066600000000423152331644460011364 0ustar00.wp-block-code { border-color: var(--global--color-border); border-radius: 0; border-style: solid; border-width: 0.1rem; padding: var(--global--spacing-unit); code { color: var(--global--color-primary); white-space: pre; overflow-x: auto; display: block; } } 05-blocks/code/_editor.scss000066600000000406152331644460011513 0ustar00.wp-block-code code { white-space: pre !important; overflow-x: auto; } .wp-block-code { border-color: var(--global--color-border); border-radius: 0; border-style: solid; border-width: 0.1rem; padding: var(--global--spacing-unit); color: currentColor; } 05-blocks/search/_style.scss000066600000005462152331644460011727 0ustar00.wp-block-search { max-width: var(--responsive--aligndefault-width); &__button-only.aligncenter { .wp-block-search__inside-wrapper { justify-content: center; } } .wp-block-search__label { font-size: var(--form--font-size); font-weight: var(--form--label-weight); margin-bottom: calc(var(--global--spacing-vertical) / 3); } .wp-block-search__input { border: var(--form--border-width) solid var(--form--border-color); border-radius: var(--form--border-radius); color: var(--form--color-text); line-height: var(--form--line-height); max-width: inherit; margin-right: calc(-1 * var(--button--border-width)); // Override the default theme style for search input fields. margin-left: 0; padding: var(--form--spacing-unit); &:focus { color: var(--form--color-text); border-color: var(--form--border-color); } .has-background & { border-color: var(--local--color-primary, var(--global--color-primary)) !important; } } button.wp-block-search__button { margin-left: 0; line-height: 1; &.has-icon { padding: 6px calc(0.5 * var(--button--padding-horizontal)); svg { width: 40px; height: 40px; fill: currentColor; } } &:hover, &:active { .has-background & { background-color: var(--local--color-background, var(--global--color-background)) !important; color: var(--local--color-primary, var(--global--color-primary)) !important; } .has-text-color & { color: var(--local--color-primary, var(--global--color-primary)) !important; } } } &.wp-block-search__button-inside { .wp-block-search__inside-wrapper { background-color: var(--global--color-white); border: var(--form--border-width) solid var(--form--border-color); border-radius: var(--form--border-radius); padding: var(--form--border-width); .has-background & { border-color: var(--local--color-primary, var(--global--color-primary)) !important; } .wp-block-search__input { margin-left: 0; margin-right: 0; padding-left: var(--form--spacing-unit); // Add outline for focus styles to override default &:focus { color: var(--form--color-text); outline-offset: -2px; outline: 2px dotted var(--form--border-color); } } button.wp-block-search__button { padding: var(--button--padding-vertical) var(--button--padding-horizontal); // Search button always needs black contrast against white form background &:hover { color: var(--global--color-dark-gray); } .is-dark-theme & { color: var(--global--color-dark-gray); &:hover { background-color: var(--global--color-dark-gray); color: var(--global--color-white); } } &.has-icon { padding: 6px calc(0.5 * var(--button--padding-horizontal)); } } } } } .wp-block-search__button { box-shadow: none; } 05-blocks/search/_editor.scss000066600000005101152331644460012043 0ustar00.wp-block-search { max-width: var(--responsive--aligndefault-width); .wp-block-search__label { font-size: var(--form--font-size); font-weight: var(--form--label-weight); margin-bottom: calc(var(--global--spacing-vertical) / 3); } &.wp-block-search__button-inside .wp-block-search__inside-wrapper, .wp-block-search__input { border: var(--form--border-width) solid var(--form--border-color); border-radius: var(--form--border-radius); font-family: var(--form--font-family); font-size: var(--form--font-size); line-height: var(--form--line-height); max-width: inherit; margin-right: calc(-1 * var(--button--border-width)); padding: var(--form--spacing-unit); .is-dark-theme & { background: var(--global--color-white-90); } .has-background & { border-color: var(--local--color-primary, var(--global--color-primary)) !important; } } .wp-block-search__button.wp-block-search__button { @include button-style(); box-shadow: none; margin-left: 0; &.has-icon { padding: 6px calc(0.5 * var(--button--padding-horizontal)); display: inherit; svg { width: 40px; height: 40px; } } &:hover, &:active { .has-background & { background-color: var(--local--color-background, var(--global--color-background)) !important; color: var(--local--color-primary, var(--global--color-primary)) !important; } .has-text-color & { color: var(--local--color-primary, var(--global--color-primary)) !important; } } // Remove :focus styles in the editor &:focus { outline-offset: inherit; outline: inherit; } } &.wp-block-search__button-inside { .wp-block-search__inside-wrapper { padding: var(--form--border-width); } .wp-block-search__input { border: none; } &.wp-block-search__text-button, &.wp-block-search__icon-button { .wp-block-search__button { // Search button always needs black contrast against white form background &:hover { color: var(--global--color-dark-gray); } .is-dark-theme & { color: var(--global--color-dark-gray); &:hover { background-color: var(--global--color-dark-gray); color: var(--global--color-white); } } } } &.wp-block-search__text-button .wp-block-search__button { // Match the text button size with the icon button. padding: var(--button--padding-vertical) var(--button--padding-horizontal); } } } .wp-block[data-align="center"] > * { text-align: center; } .wp-block[data-align="center"] { .wp-block-search__button-only { .wp-block-search__inside-wrapper { justify-content: center; } } } 05-blocks/legacy/_style.scss000066600000001240152331644460011714 0ustar00.gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; a { display: block; } a:focus img { outline-offset: -2px; } .gallery-columns-2 & { max-width: 50%; } .gallery-columns-3 & { max-width: 33.33%; } .gallery-columns-4 & { max-width: 25%; } .gallery-columns-5 & { max-width: 20%; } .gallery-columns-6 & { max-width: 16.66%; } .gallery-columns-7 & { max-width: 14.28%; } .gallery-columns-8 & { max-width: 12.5%; } .gallery-columns-9 & { max-width: 11.11%; } } .gallery-caption { display: block; } // Legacy images, linked figure.wp-caption a:focus img { outline-offset: 2px; } 05-blocks/legacy/_editor.scss000066600000001010152331644460012035 0ustar00.gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; .gallery-columns-2 & { max-width: 50%; } .gallery-columns-3 & { max-width: 33.33%; } .gallery-columns-4 & { max-width: 25%; } .gallery-columns-5 & { max-width: 20%; } .gallery-columns-6 & { max-width: 16.66%; } .gallery-columns-7 & { max-width: 14.28%; } .gallery-columns-8 & { max-width: 12.5%; } .gallery-columns-9 & { max-width: 11.11%; } } .gallery-caption { display: block; } 05-blocks/blocks.scss000066600000002162152331644460010432 0ustar00// Blocks // - These styles replace key Gutenberg Block styles with font, color, and // spacing with CSS-variables overrides // - In the future the Block styles may get compiled to individual .css // files and conditionally loaded @import "audio/style"; @import "button/style"; @import "code/style"; @import "columns/style"; @import "cover/style"; @import "file/style"; @import "gallery/style"; @import "group/style"; @import "heading/style"; @import "image/style"; @import "latest-comments/style"; @import "latest-posts/style"; @import "legacy/style"; // "Blocks" from the legacy WP editor, ie: galleries, .button class, etc. @import "list/style"; @import "media-text/style"; @import "navigation/style"; @import "paragraph/style"; @import "preformatted/style"; @import "pullquote/style"; @import "query-loop/style"; @import "quote/style"; @import "rss/style"; @import "search/style"; @import "separator/style"; @import "social-icons/style"; @import "table/style"; @import "tag-clould/style"; @import "verse/style"; @import "video/style"; @import "utilities/font-sizes"; @import "utilities/style"; // Import LAST to cascade properly 05-blocks/_config.scss000066600000000257152331644460010564 0ustar00// Variable Configuration // - Import all config files for display in // the editor, customizer, and front end. @import "separator/config"; @import "utilities/config"; 05-blocks/audio/_style.scss000066600000000161152331644460011552 0ustar00.wp-block-audio { audio:focus { outline-offset: 5px; outline: 2px solid var(--global--color-primary); } } style-dark-mode.scss000066600000005133152331644460010460 0ustar00/* OS dark theme preference */ @media only screen { .is-dark-theme.is-dark-theme { --global--color-background: var(--global--color-dark-gray); --global--color-primary: var(--global--color-light-gray); --global--color-secondary: var(--global--color-light-gray); --button--color-text: var(--global--color-background); --button--color-text-hover: var(--global--color-secondary); --button--color-text-active: var(--global--color-secondary); --button--color-background: var(--global--color-secondary); --button--color-background-active: var(--global--color-background); --global--color-border: #9ea1a7; /* Block: Table */ --table--stripes-border-color: rgba(240, 240, 240, 0.15); --table--stripes-background-color: rgba(240, 240, 240, 0.15); } .is-dark-theme img { filter: brightness(.85) contrast(1.1); } .respect-color-scheme-preference.is-dark-theme body { background-color: var(--global--color-background); } #dark-mode-toggler { cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: var(--global--font-size-xs); padding: 0.5em; min-height: 44px; // A11y requirement for minimum clickable area. min-width: max-content; border: 2px solid currentColor; box-shadow: none; background: var(--button--color-text); color: var(--button--color-background); z-index: 9998; .no-js & { display: none; } &.fixed-bottom { position: fixed; bottom: 5px; // The bottom property has transition (see below). right: 5px; &.hide:not(:focus) { bottom: -80px; } } &.relative { position: absolute; height: 44px; top: calc(2.4 * var(--global--spacing-vertical) - 44px); right: calc(50vw - var(--responsive--alignwide-width) / 2 - 0.5em); .admin-bar & { top: calc(2.4 * var(--global--spacing-vertical) - 44px + 32px); @media only screen and (max-width: 782px) { top: calc(2.4 * var(--global--spacing-vertical) - 44px + 46px); } @media only screen and (max-width: 481px) { top: calc(2.4 * var(--global--spacing-vertical) - 44px + 26px); } } ~ nav { body:not(.primary-navigation-open) & { @media only screen and (max-width: 481px) { top: calc(44px + 44px); } } } } .primary-navigation-open & { display: none; } &:hover, &:focus { color: var(--button--color-background-active); border: 2px solid var(--button--color-text-active); background-color: var(--button--color-text-active); } .is-IE & { display: none; } &.fixed-bottom { @media (prefers-reduced-motion: no-preference) { transition: bottom 0.5s; } } } } 07-utilities/color-palette.scss000066600000020404152331644460012466 0ustar00// Gutenberg text color options .has-black-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-black, #000000); color: var(--local--color-primary); } color: var(--global--color-black); } .has-gray-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-gray, #000000); color: var(--local--color-primary); } color: var(--global--color-gray); } .has-dark-gray-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-dark-gray, #000000); color: var(--local--color-primary); } color: var(--global--color-dark-gray); } .has-green-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-green, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-green); } .has-blue-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-blue, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-blue); } .has-purple-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-purple, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-purple); } .has-red-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-red, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-red); } .has-orange-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-orange, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-orange); } .has-yellow-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-yellow, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-yellow); } .has-white-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-white, #FFFFFF); color: var(--local--color-primary); } color: var(--global--color-white); } // Gutenberg background-color options .has-background { a, p, h1, h2, h3, h4, h5, h6 { color: currentColor; } } .has-black-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-black, #000000); background-color: var(--local--color-background); } background-color: var(--global--color-black); } .has-dark-gray-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-dark-gray, #000000); background-color: var(--local--color-background); } background-color: var(--global--color-dark-gray); } .has-gray-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-gray, #000000); background-color: var(--local--color-background); } background-color: var(--global--color-gray); } .has-light-gray-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-light-gray, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-light-gray); } .has-green-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-green, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-green); } .has-blue-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-blue, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-blue); } .has-purple-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-purple, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-purple); } .has-red-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-red, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-red); } .has-orange-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-orange, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-orange); } .has-yellow-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-yellow, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-yellow); } .has-white-background-color[class] { // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-background: var(--global--color-white, #FFFFFF); background-color: var(--local--color-background); } background-color: var(--global--color-white); } .has-background:not(.has-text-color) { &.has-black-background-color[class], &.has-gray-background-color[class], &.has-dark-gray-background-color[class] { color: var(--global--color-white); // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-background, #FFFFFF); // Reverse the local foreground color in darkmode .is-dark-theme & { --local--color-primary: var(--global--color-primary, #000000); } color: var(--local--color-primary, var(--global--color-primary)); } } &.has-green-background-color[class], &.has-blue-background-color[class], &.has-purple-background-color[class], &.has-red-background-color[class], &.has-orange-background-color[class], &.has-yellow-background-color[class], &.has-white-background-color[class] { color: var(--global--color-dark-gray); // Localize CSS-variables to limit relationship scope > [class*="__inner-container"] { --local--color-primary: var(--global--color-primary, #000000); // Reverse the local foreground color in darkmode .is-dark-theme & { --local--color-primary: var(--global--color-background, #FFFFFF); } color: var(--local--color-primary, var(--global--color-primary)); } } } // Custom gradients .has-purple-to-yellow-gradient-background { background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-yellow)); } .has-yellow-to-purple-gradient-background { background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-purple)); } .has-green-to-yellow-gradient-background { background: linear-gradient(160deg, var(--global--color-green), var(--global--color-yellow)); } .has-yellow-to-green-gradient-background { background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-green)); } .has-red-to-yellow-gradient-background { background: linear-gradient(160deg, var(--global--color-red), var(--global--color-yellow)); } .has-yellow-to-red-gradient-background { background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-red)); } .has-purple-to-red-gradient-background { background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-red)); } .has-red-to-purple-gradient-background { background: linear-gradient(160deg, var(--global--color-red), var(--global--color-purple)); } 07-utilities/ie.scss000066600000000034152331644460010306 0ustar00// IE11 styles are removed. 07-utilities/print.scss000066600000006010152331644460011045 0ustar00/* Adding print support. The print styles are based on the the great work of Andreas Hecht in https://www.jotform.com/blog/css-perfect-print-stylesheet-98272/. */ /*-------------------------------------------------------------- >>> TABLE OF CONTENTS: ---------------------------------------------------------------- # Margins & paddings # Typography # Page breaks # Links # Visibility --------------------------------------------------------------*/ @media print { /* Margins & paddings */ @page { margin: 2cm; } .entry .entry-header, .entry, .single .site-main > article > .entry-footer { margin-top: 0; margin-bottom: 0; } .site-footer .site-info { margin: 0; } .site-header { padding: 0; } /* Fonts */ body { font: 13pt Georgia, "Times New Roman", Times, serif; // Fallback for browsers without CSS variables support. font: 13pt var(--global--font-secondary, Georgia, "Times New Roman", Times, serif); line-height: 1.3; background: #fff !important; color: #000; } // Override color settings that changes the text to white. .has-background-dark * { color: #000 !important; } h1, .entry-title, .singular .entry-title, .page-title { font-size: 22pt; font-weight: bold; } h2, h3, h4, .has-regular-font-size, .has-large-font-size, h2.author-title, p.author-bio, .comments-title, .archive-description { font-size: 14pt; margin-top: 25px; } .comment-meta, .comment-meta .comment-author .fn { font-size: 13pt; } /* Page breaks */ a { page-break-inside: avoid; } blockquote { page-break-inside: avoid; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; page-break-inside: avoid; } img { page-break-inside: avoid; page-break-after: avoid; } table, pre, figure { page-break-inside: avoid; } ul, ol, dl { page-break-before: avoid; } /* Links */ a:link, a:visited, a { background: transparent; font-weight: bold; text-decoration: underline; text-align: left; } a[href^="http"]:after { content: " < " attr(href) "> "; } a:after > img { content: ""; } article a[href^="#"]:after { content: ""; } a:not(:local-link):after { // stylelint-disable-line selector-pseudo-class-no-unknown content: " < " attr(href) "> "; } .entry-title a:after { content: "\a < " attr(href) "> "; white-space: pre; font-size: 14pt; } .cat-links a:after, .tags-links a:after, .byline a:after, .comment-metadata a:after, .wp-block-calendar a:after, .wp-block-tag-cloud a:after, .page-links a:after { content: ""; } /* Visibility */ .primary-navigation, .site-title + .primary-navigation, .footer-navigation, .entry-footer, .post-navigation, .navigation.pagination, .widget-area, .edit-link, .more-link, .comment-reply, .reply, .comment .comment-metadata .edit-link, .comment-respond, #dark-mode-toggler { display: none !important; } .entry .entry-content .wp-block-button .wp-block-button__link, .entry .entry-content .button, .entry .entry-content .wp-block-file__button { color: #000; background: none; } } 07-utilities/a11y.scss000066600000001423152331644460010467 0ustar00.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ word-wrap: normal !important; word-break: normal !important; } .skip-link:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip-path: none; color: #21759b; display: block; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } /* Do not show the outline on the skip link target. */ #content[tabindex="-1"]:focus { outline: 0; } 07-utilities/measure.scss000066600000000401152331644460011350 0ustar00// Measure // - The width of a line of text, in characters, is known as its measure. header *, main *, footer * { max-width: var(--global--spacing-measure); } html, body, div, header, nav, article, figure, hr, main, section, footer { max-width: none; } 04-elements/media.scss000066600000001430152331644460010567 0ustar00img { height: auto; max-width: 100%; vertical-align: middle; } /* Classic editor images */ .entry-content img { max-width: 100%; } /* Make sure embeds and iframes fit their containers. */ embed, iframe, object, video { max-width: 100%; } /* Media captions */ figcaption, .wp-caption, .wp-caption-text, .wp-block-embed figcaption { color: currentColor; font-size: var(--global--font-size-xs); line-height: var(--global--line-height-body); margin-top: calc(0.5 * var(--global--spacing-unit)); margin-bottom: var(--global--spacing-unit); text-align: center; .alignleft &, .alignright & { margin-bottom: 0; } } /* WP Smiley */ .page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin-bottom: 0; margin-top: 0; padding: 0; } 04-elements/forms.scss000066600000015655152331644460010654 0ustar00input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], .site textarea { border: var(--form--border-width) solid var(--form--border-color); border-radius: var(--form--border-radius); color: var(--form--color-text); line-height: var(--global--line-height-body); padding: var(--form--spacing-unit); // Gives a little more space for the outline offset. margin: 0 2px; max-width: 100%; &:focus { color: var(--form--color-text); outline-offset: 2px; outline: 2px dotted var(--form--border-color); } &:disabled { opacity: 0.7; } .is-dark-theme & { background: var(--global--color-white-90); } } // Reset the negative offset from normalize to make the thicker "border" work on focus. input[type="search"] { &:focus { outline-offset: -7px; .is-dark-theme & { outline-color: var(--global--color-background); } } } input[type="color"] { padding: calc(var(--form--spacing-unit) / 2); height: calc(4 * var(--form--spacing-unit)); } input[type="email"], input[type="url"] { /*rtl:ignore*/ direction: ltr; } select { border: var(--form--border-width) solid var(--form--border-color); color: var(--form--color-text); -moz-appearance: none; -webkit-appearance: none; appearance: none; line-height: var(--global--line-height-body); padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit); background: var(--global--color-white) url("data:image/svg+xml;utf8,") no-repeat; // stylelint-disable-line function-url-quotes background-position: right var(--form--spacing-unit) top 60%; &:focus { outline-offset: 2px; outline: 2px dotted var(--form--border-color); } .is-dark-theme & { background: var(--global--color-white-90) url("data:image/svg+xml;utf8,") no-repeat; // stylelint-disable-line function-url-quotes background-position: right var(--form--spacing-unit) top 60%; } } textarea { width: 100%; } label { font-size: var(--form--font-size); font-weight: var(--form--label-weight); margin-bottom: calc(var(--global--spacing-vertical) / 3); } /** https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/ https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker. License: MIT. */ @supports (-webkit-appearance: none) or (-moz-appearance: none) { input[type="checkbox"], input[type="radio"] { -webkit-appearance: none; -moz-appearance: none; position: relative; width: 25px; height: 25px; border: var(--form--border-width) solid var(--form--border-color); background: var(--global--color-white); &:disabled { opacity: 0.7; } .is-dark-theme & { background: var(--global--color-white-90); } } input[type="checkbox"] { &:focus { outline-offset: 2px; outline: 2px dotted var(--form--border-color); } &:after { content: ""; opacity: 0; display: block; left: 5px; top: 2px; position: absolute; width: 7px; height: 13px; border: 3px solid var(--form--color-text); border-top: 0; border-left: 0; transform: rotate(30deg); } &:checked { color: var(--form--color-text); &:after { opacity: 1; } } } input[type="radio"] { border-radius: 50%; &:focus { outline-offset: 2px; outline: 2px dotted var(--form--border-color); } &:after { content: ""; opacity: 0; display: block; left: 3px; top: 3px; position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--form--color-text); } &:checked { border: 4px solid var(--form--border-color); &:after { opacity: 1; } // Focus style for checked radio buttons. &:focus { outline-offset: 4px; outline: 2px dotted var(--form--border-color); } } } } input[type="checkbox"] + label, input[type="radio"] + label { display: inline-block; padding-left: 10px; font-size: var(--global--font-size-xs); vertical-align: top; } /** * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ */ @supports (-webkit-appearance: none) or (-moz-appearance: none) { input[type="range"] { -webkit-appearance: none; /* Hides the slider so that custom slider can be made */ width: 100%; /* Specific width is required for Firefox. */ height: 6px; background: var(--form--color-ranged); border-radius: 6px; outline-offset: 10px; &:disabled { opacity: 0.7; } } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; border: 3px solid var(--form--color-ranged); height: 44px; width: 44px; border-radius: 50%; background: var(--global--color-background); cursor: pointer; } input[type="range"]::-moz-range-thumb { border: 3px solid var(--form--color-ranged); height: 44px; width: 44px; border-radius: 50%; background: var(--global--color-background); cursor: pointer; box-sizing: border-box; } } input[type="range"]::-ms-track { width: 100%; height: 6px; border-radius: 6px; border-width: 19px 0; border-color: var(--global--color-background); background: transparent; color: transparent; cursor: pointer; } input[type="range"]::-ms-fill-upper { background: var(--form--color-ranged); border-radius: 6px; } input[type="range"]::-ms-fill-lower { background: var(--form--color-ranged); border-radius: 6px; } input[type="range"]::-ms-thumb { border: 3px solid var(--form--color-ranged); height: 44px; width: 44px; border-radius: 50%; background: var(--global--color-background); cursor: pointer; } fieldset { display: grid; border-color: var(--global--color-secondary); padding: var(--global--spacing-horizontal); legend { font-size: var(--global--font-size-lg); } input { &[type="submit"] { max-width: max-content; } &:not([type="submit"]) { margin-bottom: var(--global--spacing-unit); } &[type="radio"], &[type="checkbox"] { margin-bottom: 0; } &[type="radio"] + label, &[type="checkbox"] + label { font-size: var(--form--font-size); padding-left: 0; margin-bottom: var(--global--spacing-unit); } } } ::-moz-placeholder { // Firefox 19+ opacity: 1; } .post-password-message { font-size: var(--global--font-size-lg); } .post-password-form { display: flex; flex-wrap: wrap; &__label { width: 100%; margin-bottom: 0; } input[type="password"] { flex-grow: 1; margin-top: calc(var(--global--spacing-vertical) / 3); margin-right: calc(0.66 * var(--global--spacing-horizontal)); } &__submit { margin-top: calc(var(--global--spacing-vertical) / 3); @include media(tablet) { margin-left: calc(0.4 * var(--global--spacing-horizontal)); } } } 04-elements/forms-editor.scss000066600000001307152331644460012125 0ustar00select, select:focus { border: var(--form--border-width) solid var(--form--border-color); border-radius: var(--form--border-radius); color: var(--form--color-text); font-size: var(--form--font-size); -moz-appearance: none; -webkit-appearance: none; appearance: none; padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit); background: var(--global--color-white) url("data:image/svg+xml;utf8,") no-repeat; // stylelint-disable-line function-url-quotes background-position: right var(--form--spacing-unit) top 60%; } 04-elements/misc.scss000066600000000364152331644460010450 0ustar00/* Over here, place any elements that do not need to have their own file. */ b, strong { font-weight: 700; } dfn, cite, em, i { font-style: italic; } pre { white-space: pre; overflow-x: auto; } .entry-content > code { display: block; } 04-elements/links.scss000066600000003563152331644460010641 0ustar00/* * text-underline-offset doesn't work in Chrome at all 👎 * But looks nice in Safari/Firefox, so let's keep it and * maybe Chrome will support it soon. */ a { cursor: pointer; color: var(--wp--style--color--link, var(--global--color-primary)); text-underline-offset: 3px; text-decoration-skip-ink: all; } a:hover { text-decoration-style: dotted; text-decoration-skip-ink: none; } .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) { /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; text-decoration: underline 1px dotted currentColor; text-decoration-skip-ink: none; background: rgba(255, 255, 255, .9); // Change text color when the body background is dark. .is-dark-theme & { background: var(--global--color-black); color: var(--global--color-white); text-decoration: none; .meta-nav { color: var(--wp--style--color--link, var(--global--color-white)); } } // Change colors when the body background is white. .has-background-white & { background: rgba(0, 0, 0, .9); color: var(--wp--style--color--link, var(--global--color-white)); .meta-nav { color: var(--wp--style--color--link, var(--global--color-white)); } } &.skip-link { /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; outline-offset: -2px; &:focus { color: #21759b; background-color: #f1f1f1; } } &.custom-logo-link { background: none; } img { outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary)); } } // Enforce the custom link color even if a custom background color has been set. // The extra specificity here is required to override the background color styles. .has-background { // Target both current level and nested block. .has-link-color a, &.has-link-color a { color: var(--wp--style--color--link, var(--global--color-primary)); } } 04-elements/blockquote.scss000066600000002655152331644460011672 0ustar00blockquote { padding: 0; position: relative; margin: var(--global--spacing-vertical) 0 var(--global--spacing-vertical) var(--global--spacing-horizontal); > * { margin-top: var(--global--spacing-unit); margin-bottom: var(--global--spacing-unit); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } p { letter-spacing: var(--heading--letter-spacing-h4); font-family: var(--quote--font-family); font-size: var(--quote--font-size); font-style: var(--quote--font-style); font-weight: var(--quote--font-weight); line-height: var(--quote--line-height); } cite, footer { font-weight: normal; color: var(--global--color-primary); letter-spacing: var(--global--letter-spacing); } &.alignleft, &.alignright { padding-left: inherit; p { font-size: var(--heading--font-size-h5); max-width: inherit; width: inherit; } cite, footer { font-size: var(--global--font-size-xs); letter-spacing: var(--global--letter-spacing); } } strong { font-weight: var(--quote--font-weight-strong); } &:before { content: "\201C"; position: absolute; left: calc(-0.5 * var(--global--spacing-horizontal)); } .wp-block-quote__citation, cite, footer { color: var(--global--color-primary); font-style: var(--quote--font-style-cite); } @include media(mobile-only) { padding-left: calc(0.5 * var(--global--spacing-horizontal)); &:before { left: 0; } } } 06-components/editor.scss000066600000002177152331644460011362 0ustar00html { font-family: var(--global--font-secondary); line-height: var(--global--line-height-body); } body { --wp--typography--line-height: var(--global--line-height-body); color: var(--global--color-primary); background-color: var(--global--color-background); font-family: var(--global--font-secondary); font-size: var(--global--font-size-base); font-weight: normal; line-height: var(--global--line-height-body); -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } // Links styles .wp-block a { color: var(--wp--style--color--link, var(--global--color-primary)); &:hover { text-decoration-style: dotted; } &:focus { outline: 2px solid var(--wp--style--color--link, var(--global--color-primary)); text-decoration: none; } } // Enforce the custom link color even if a custom background color has been set. // The extra specificity here is required to override the background color styles. .has-background { // Target both current level and nested block. .has-link-color a, &.has-link-color a { color: var(--wp--style--color--link, var(--global--color-primary)); } } button, a { cursor: pointer; } 06-components/footer-navigation.scss000066600000002741152331644460013524 0ustar00 .footer-navigation { margin-top: calc(2 * var(--global--spacing-vertical)); margin-bottom: var(--global--spacing-vertical); color: var(--footer--color-text); font-size: var(--global--font-size-xs); font-family: var(--footer--font-family); } .footer-navigation-wrapper { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; padding-left: 0; li { display: inline; // This is to prevent hover styles from overlapping when the menu wraps. line-height: 3; a { padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding); color: var(--footer--color-link); &:link, &:visited, &:active { color: var(--footer--color-link); } &:hover { text-decoration: underline; text-decoration-style: dotted; text-decoration-skip-ink: none; color: var(--footer--color-link-hover); } &:focus { .is-dark-theme & { .svg-icon { fill: var(--wp--style--color--link, var(--global--color-background)); } } // Change colors when the body background is white. .has-background-white & { .svg-icon { fill: var(--wp--style--color--link, var(--global--color-white)); } } } } .svg-icon { vertical-align: middle; fill: var(--footer--color-link); &:hover { transform: scale(1.1); } @media (prefers-reduced-motion: no-preference) { transition: transform 0.1s ease; } } } .sub-menu-toggle, .menu-item-description { display: none; } } 06-components/404.scss000066600000000204152331644460010370 0ustar00.error404 main p { font-size: var(--global--font-size-lg); margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667); } 06-components/footer.scss000066600000003366152331644460011373 0ustar00// Footer .site-footer { padding-top: 0; padding-bottom: calc(1.7 * var(--global--spacing-vertical)); @extend %responsive-alignwide-width; // Increase the top vertical spacing when there is no widget area. .no-widgets & { margin-top: calc(6 * var(--global--spacing-vertical)); } @include media(mobile-only) { .no-widgets & { margin-top: calc(3 * var(--global--spacing-vertical)); } } } // Footer Branding .site-footer > .site-info { padding-top: var(--global--spacing-vertical); color: var(--footer--color-text); font-family: var(--footer--font-family); font-size: var(--footer--font-size); line-height: var(--global--line-height-body); border-top: 3px solid var(--global--color-border); .site-name { text-transform: var(--branding--title--text-transform); font-size: var(--branding--title--font-size); } .privacy-policy, .powered-by { margin-top: calc(0.5 * var(--global--spacing-vertical)); } @include media(desktop) { display: flex; align-items: center; .site-name { margin-right: calc(0.5 * var(--global--spacing-vertical)); } .privacy-policy, .powered-by { margin-top: initial; margin-left: auto; } .privacy-policy + .powered-by { margin-left: calc(0.5 * var(--global--spacing-vertical)); } } a { color: var(--footer--color-link); &:link, &:visited, &:active { color: var(--footer--color-link); } &:hover { color: var(--footer--color-link-hover); } &:focus { color: var(--footer--color-link-hover); .is-dark-theme & { color: var(--wp--style--color--link, var(--global--color-background)); } // Change colors when the body background is white. .has-background-white & { color: var(--wp--style--color--link, var(--global--color-white)); } } } } 06-components/single.scss000066600000000670152331644460011351 0ustar00.singular .entry-header { border-bottom: 3px solid var(--global--color-border); padding-bottom: calc(2 * var(--global--spacing-vertical)); margin-bottom: calc(3 * var(--global--spacing-vertical)); } .home .entry-header { border-bottom: none; padding-bottom: 0; margin-bottom: 0; } .singular .has-post-thumbnail .entry-header { border-bottom: none; padding-bottom: calc(1.3 * var(--global--spacing-vertical)); margin-bottom: 0; } 06-components/navigation.scss000066600000024231152331644460012226 0ustar00 // Navigation // Mobile menu toggles .menu-button-container { display: none; justify-content: space-between; position: absolute; right: 0; padding-top: calc(0.5 * var(--global--spacing-vertical)); padding-bottom: calc(0.25 * var(--global--spacing-vertical)); @include media(mobile-only) { display: flex; } // Override specificity from default button styles. #primary-mobile-menu { display: flex; margin-left: auto; padding: calc(var(--button--padding-vertical) - (0.25 * var(--global--spacing-unit))) calc(0.5 * var(--button--padding-horizontal)); font-size: var(--primary-nav--font-size-button); font-weight: var(--primary-nav--font-weight-button); background-color: transparent; border: none; color: var(--primary-nav--color-link); .dropdown-icon { display: flex; align-items: center; .svg-icon { margin-left: calc(0.25 * var(--global--spacing-unit)); } // Menu icon is off-center vertically to prevent blurry pixels. &.open .svg-icon { position: relative; top: -1px; } &.close { display: none; } } &[aria-expanded*="true"] { .dropdown-icon { &.open { display: none; } &.close { display: flex; .has-logo.has-title-and-tagline & { animation-name: twentytwentyone-close-button-transition; animation-duration: 0.3s; } } } } } // When the menu is open, hide the close button and show the hide button. .primary-navigation-open & { width: 100%; z-index: 500; background-color: var(--global--color-background); #primary-mobile-menu { position: static; } } } .primary-navigation { position: absolute; top: var(--global--admin-bar--height); right: 0; color: var(--primary-nav--color-text); font-size: var(--primary-nav--font-size); line-height: 1.15; margin-top: 0; margin-bottom: 0; // Mobile menu closed > .primary-menu-container { position: fixed; visibility: hidden; opacity: 0; top: 0; right: 0; bottom: 0; left: 0; // Height of the menu-button-container using font size, line height, and total padding, plus 5px so the focus of the first item is visible. padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px); padding-left: var(--global--spacing-unit); padding-right: var(--global--spacing-unit); padding-bottom: var(--global--spacing-horizontal); background-color: var(--global--color-background); transform: translateY(var(--global--spacing-vertical)); @media (prefers-reduced-motion: no-preference) { transition: all .15s ease-in-out; } @include media(mobile-only) { height: 100vh; z-index: 499; overflow-x: hidden; overflow-y: auto; border: 2px solid transparent; .has-logo.has-title-and-tagline & { position: fixed; transform: translateY(0) translateX(100%); } .admin-bar .has-logo.has-title-and-tagline & { top: var(--global--admin-bar--height); } .admin-bar & { height: calc(100vh - var(--global--admin-bar--height)); } &:focus { border: 2px solid var(--global--color-primary); } } } // Mobile menu open .primary-navigation-open & { @include media(mobile-only) { width: 100%; position: fixed; z-index: 2; // To be greater than the cover block and embeds. } > .primary-menu-container { position: relative; visibility: visible; opacity: 1; transform: translateY(0); } } .primary-navigation-open .has-logo.has-title-and-tagline & { @include media(mobile-only) { > .primary-menu-container { transform: translateX(0) translateY(0); } } } @include media(mobile) { position: relative; margin-left: auto; // Hide Mobile menu on desktop > .primary-menu-container { visibility: visible; opacity: 1; position: relative; padding: 0; background-color: transparent; overflow: initial; transform: none; } // Hide mobile menu toggle #toggle-menu { display: none; } // Hide sub-sub-menus > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded="false"] ~ ul { display: none; } // Don't adjust position when logged-in .admin-bar & { top: initial; > .primary-menu-container { top: initial; } } } // Menu list wrapper > div > .menu-wrapper { display: flex; justify-content: flex-start; flex-wrap: wrap; list-style: none; margin: 0; max-width: none; padding-left: 0; position: relative; @include media(mobile-only) { padding-bottom: 100px; ul { padding-left: 0; } } li { display: block; position: relative; width: 100%; @include media(mobile) { margin: 0; width: inherit; &:last-child { margin-right: 0; } } } // Sub-menu buttons .sub-menu-toggle { display: flex; height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px); width: 44px; padding: 0; justify-content: center; align-items: center; background: transparent; color: currentColor; border: none; &:focus { outline: 2px solid var(--wp--style--color--link, var(--global--color-primary)); } @include media(mobile-only) { display: none; } .icon-plus, .icon-minus { height: 100%; display: flex; align-items: center; svg { margin-top: -1px; } } .icon-minus { display: none; } // When the sub-menu is open, display the minus icon &[aria-expanded="true"] { .icon-minus { display: flex; } .icon-plus { display: none; } } } // Sub-menus Flyout > li > .sub-menu { position: relative; @include media(mobile) { @media (prefers-reduced-motion: no-preference) { transition: all 0.5s ease; } } @include media(mobile) { left: 0; margin: 0; min-width: max-content; position: absolute; top: 100%; padding-top: 3px; z-index: 88888; &:before, &:after { content: ""; display: block; position: absolute; width: 0; top: -10px; left: var(--global--spacing-horizontal); border-style: solid; border-color: var(--primary-nav--border-color) transparent; border-width: 0 7px 10px 7px; } &:after { top: -9px; border-color: var(--global--color-background) transparent; } li { background: var(--global--color-background); } &.submenu-reposition-left { /* rtl:ignore */ left: 0; /* rtl:ignore */ right: auto; &:before, &:after { /* rtl:ignore */ left: var(--global--spacing-horizontal); /* rtl:ignore */ right: auto; } } &.submenu-reposition-right { /* rtl:ignore */ right: 0; /* rtl:ignore */ left: auto; &:before, &:after { /* rtl:ignore */ left: auto; /* rtl:ignore */ right: var(--global--spacing-horizontal); } } } } } // Top-level Item Link Colors .primary-menu > .menu-item:hover > a { color: var(--primary-nav--color-link-hover); } .primary-menu-container { @include media(mobile) { // Better align with the site title when the menu wraps. margin-right: calc(0px - var(--primary-nav--padding)); margin-left: calc(0px - var(--primary-nav--padding)); // Top-level Menu Item > ul > .menu-item { display: flex; > a { padding-left: var(--primary-nav--padding); padding-right: var(--primary-nav--padding); + .sub-menu-toggle { margin-left: calc(5px - var(--primary-nav--padding)); } } } } } // Menu Item Link a { display: block; font-family: var(--primary-nav--font-family-mobile); font-size: var(--primary-nav--font-size-mobile); font-weight: var(--primary-nav--font-weight); padding: var(--primary-nav--padding) 0; text-decoration: none; @include media(mobile) { display: block; font-family: var(--primary-nav--font-family); font-size: var(--primary-nav--font-size); font-weight: var(--primary-nav--font-weight); } + svg { fill: var(--primary-nav--color-text); } &:hover, &:link, &:visited { color: var(--primary-nav--color-link-hover); } &:hover { text-decoration: underline; text-decoration-style: dotted; } &:focus { position: relative; z-index: 99999; // Ensure focus styles appear above absolute positioned elements outline-offset: 0; text-decoration-thickness: 2px; } } .current-menu-item > a:first-child, .current_page_item > a:first-child { text-decoration: underline; text-decoration-style: solid; &:hover { text-decoration: underline; text-decoration-style: dotted; } } // Sub-menu depth indicators + text styles .sub-menu { margin: 0; padding: 0; list-style: none; margin-left: var(--primary-nav--padding); border: 1px solid var(--primary-nav--border-color); .sub-menu { border: none; } // Sub-menu items om wide screens. @include media(mobile) { // For nested sub-menus, don't duplicate the padding > .menu-item > .sub-menu { padding: 0; } } .menu-item { @include media(mobile-only) { &:last-child { margin-bottom: 0; } } > a { padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding); display: block; font-size: var(--primary-nav--font-size-sub-menu-mobile); font-style: var(--primary-nav--font-style-sub-menu-mobile); @include media(mobile) { font-size: var(--primary-nav--font-size-sub-menu); font-style: var(--primary-nav--font-style); } } } } // Show top-level sub-menu indicators above mobile-breakpoint-only .menu-item-has-children { > .svg-icon { display: none; } @include media(mobile) { > .svg-icon { display: inline-block; height: 100%; } .sub-menu .svg-icon { display: none; } } } .menu-item-description { display: block; clear: both; font-size: var(--global--font-size-xs); text-transform: none; line-height: 1.7; > span { display: inline-block; } } } // Keep the menu pinned to the top when the menu is open. @include media(mobile-only) { .lock-scrolling .site { position: fixed; max-width: 100%; width: 100%; } } // Close button animation for when a custom logo is present. @keyframes twentytwentyone-close-button-transition { from { opacity: 0; } to { opacity: 1; } } 06-components/widgets.scss000066600000005271152331644460011540 0ustar00.widget-area { @extend %responsive-alignwide-width; margin-top: calc(6 * var(--global--spacing-vertical)); padding-bottom: calc(var(--global--spacing-vertical) / 3); color: var(--footer--color-text); font-size: var(--footer--font-size); font-family: var(--footer--font-family); @include media(laptop) { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: calc(2 * var(--global--spacing-horizontal)); } @include media(wide) { grid-template-columns: repeat(3, 1fr); } @include media(mobile-only) { margin-top: calc(3 * var(--global--spacing-vertical)); } .wp-block-social-links { &.alignright { margin-top: var(--global--spacing-vertical); justify-content: flex-end; } &.alignleft { margin-top: var(--global--spacing-vertical); } } &:after { content: ""; display: table; clear: both; } } .widget { h1, h2, h3, h4, h5, h6 { font-weight: var(--widget--font-weight-title); line-height: var(--widget--line-height-title); } h1 { font-size: var(--global--font-size-md); } h2 { font-size: var(--global--font-size-sm); } h3 { font-size: var(--global--font-size-xs); } h4 { font-size: var(--global--font-size-xs); } h5 { font-size: var(--global--font-size-xs); } h6 { font-size: var(--global--font-size-xs); } ul { list-style-type: none; padding: 0; li { line-height: var(--widget--line-height-list); } &.sub-menu, &.children { margin-left: var(--widget--spacing-menu); } .sub-menu-toggle { display: none; } } a { color: var(--footer--color-link); text-decoration: underline; text-decoration-style: solid; text-decoration-color: currentColor; &:link, &:visited, &:active { color: var(--footer--color-link); } &:hover { color: var(--footer--color-link-hover); text-decoration-style: dotted; } } } // Search widget styles .search-form { display: flex; flex-wrap: wrap; margin: auto; max-width: var(--responsive--aligndefault-width); > label { width: 100%; margin-bottom: 0; font-weight: var(--form--label-weight); } .search-field { flex-grow: 1; max-width: inherit; margin-top: calc(var(--global--spacing-vertical) / 3); margin-right: calc(0.66 * var(--global--spacing-horizontal)); } .search-submit { margin-top: calc(var(--global--spacing-vertical) / 3); margin-left: 10px; } } .widget_search > .search-form { .search-field { margin-right: calc(-1 * var(--button--border-width)); -webkit-appearance: none; margin-bottom: calc(0.5 * var(--global--spacing-vertical)); } .search-submit { margin-left: 0; margin-bottom: calc(0.5 * var(--global--spacing-vertical)); } } .widget_rss a.rsswidget .rss-widget-icon { display: none; } 06-components/header.scss000066600000010064152331644460011316 0ustar00// Site header .site-header { @extend %responsive-alignwide-width; display: flex; align-items: flex-start; flex-wrap: wrap; row-gap: var(--global--spacing-vertical); // Add space in case the menu wraps below the site branding. .wp-custom-logo & { align-items: center; } @include media(mobile) { padding-top: calc(var(--global--spacing-vertical) / 0.75); // 40px } @include media(desktop) { padding-top: calc(2.4 * var(--global--spacing-vertical)); // 60px } } // Site branding .site-branding { color: var(--branding--color-text); margin-right: 140px; &:last-child { margin-right: 0; width: 100%; text-align: center; } @include media(mobile) { margin-right: initial; margin-top: calc(var(--primary-nav--padding) - 0.3em); // Align the baseline of the site title with the primary menu } } // Site title .site-title { color: var(--branding--color-link); font-family: var(--branding--title--font-family); font-size: var(--branding--title--font-size-mobile); letter-spacing: normal; text-transform: var(--branding--title--text-transform); line-height: var(--global--line-height-heading); margin-bottom: calc(var(--global--spacing-vertical) / 6); a { color: currentColor; font-weight: var(--branding--title--font-weight); &:link, &:visited, &:active { color: currentColor; } &:hover, &:focus { color: var(--branding--color-link-hover); } } @include media(mobile) { font-size: var(--branding--title--font-size); } } // Site description .site-description { color: currentColor; font-family: var(--branding--description--font-family); font-size: var(--branding--description--font-size); line-height: 1.4; } .site-title > a { text-decoration-color: var(--global--color-secondary); } // Site logo .site-logo { margin: calc(var(--global--spacing-vertical) / 2) 0; .site-header > & { width: 100%; padding-bottom: calc(var(--global--spacing-vertical) * 1.5); border-bottom: 1px solid; text-align: center; } .custom-logo { margin-left: auto; margin-right: auto; max-width: var(--branding--logo--max-width-mobile); max-height: var(--branding--logo--max-height-mobile); height: auto; display: inline-block; width: auto; } @include media(mobile) { .custom-logo { max-width: var(--branding--logo--max-width); max-height: var(--branding--logo--max-height); height: auto; width: auto; } } } @include media(mobile-only) { .site-header { &.has-logo { &:not(.has-title-and-tagline) { &.has-menu { .site-logo { position: absolute; padding-top: calc(0.5 * var(--global--spacing-vertical)); margin-top: 0; top: var(--global--admin-bar--height); .primary-navigation-open & { display: none; } img { max-height: calc(var(--button--padding-vertical) - (0.25 * var(--global--spacing-unit)) + 1.7em); } } } } &.has-title-and-tagline { align-items: flex-start; &.has-menu { justify-content: space-between; .site-branding { max-width: calc(100% - 160px); } } .site-branding { margin-right: 0; } body:not(.primary-navigation-open) & { &:after { display: none; } .primary-navigation { position: relative; top: 0; } .menu-button-container { position: relative; padding-top: 0; margin-top: calc(0px - var(--button--padding-vertical) + (0.25 * var(--global--spacing-unit))); #primary-mobile-menu { // The 4.5px here is to offset the icon size horizontally // (the icon's width is larger than the path's width and has extra space on the sides). padding-left: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px); padding-right: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px); margin-right: calc(0px - var(--global--spacing-horizontal) * 0.6); } } } } } &:not(.has-logo) { &.has-title-and-tagline { .site-branding { margin-right: 0; max-width: calc(100% - 160px); } } } &:not(.has-menu) { justify-content: center; } } } 06-components/posts-and-pages.scss000066600000000725152331644460013076 0ustar00.sticky { // This class is required to pass ThemeCheck. } .no-results.not-found > *:first-child { margin-bottom: calc(3 * var(--global--spacing-vertical)); } // Styling for wp_link_pages. .page-links { clear: both; .post-page-numbers { display: inline-block; margin-left: calc(0.66 * var(--global--spacing-unit)); margin-right: calc(0.66 * var(--global--spacing-unit)); min-width: 44px; min-height: 44px; &:first-child { margin-left: 0; } } } 06-components/archives.scss000066600000002004152331644460011665 0ustar00.page-title { font-size: var(--global--font-size-page-title); } h1.page-title, h2.page-title { font-weight: var(--heading--font-weight-page-title); } h1.page-title { line-height: var(--heading--line-height-h1); } .page-header { border-bottom: 3px solid var(--global--color-border); padding-bottom: calc(2 * var(--global--spacing-vertical)); } .archive, .search, .blog { .content-area { .format-aside, .format-status, .format-link { .entry-content { font-size: var(--global--font-size-lg); } } } .format-image, .format-gallery, .format-video { .entry-content { margin-top: calc(2 * var(--global--spacing-vertical)); } } .entry-footer { .cat-links, .tags-links { display: block; } } &.logged-in { .entry-footer { .posted-on { margin-right: calc(0.5 * var(--global--spacing-unit)); } } } } .archive-description { margin-top: var(--global--spacing-vertical); font-size: var(--global--font-size-xl); line-height: var(--global--line-height-heading); } 06-components/search.scss000066600000000135152331644460011331 0ustar00.search-no-results .page-content { margin-top: calc(3 * var(--global--spacing-vertical)); } 06-components/comments.scss000066600000010664152331644460011721 0ustar00/** * Comments Wrapper */ .comments-area { > * { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } &.show-avatars { .avatar { border-radius: 50%; position: absolute; top: 10px; } .fn { display: inline-block; padding-left: 85px; } .comment-metadata { padding: 8px 0 9px 85px; } } } /** * Comment Title */ .comments-title, .comment-reply-title { font-size: var(--heading--font-size-h2); letter-spacing: var(--heading--letter-spacing-h2); } .comment-reply-title { display: flex; justify-content: space-between; small { a { font-family: var(--global--font-secondary); font-size: var(--global--font-size-xs); font-style: normal; font-weight: normal; letter-spacing: normal; } } } /* Nested comment reply title*/ .comment .comment-respond .comment-reply-title { font-size: var(--global--font-size-lg); } /** * Comment Lists */ .comment-list { padding-left: 0; list-style: none; > li { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } } .comment-list .children { list-style: none; padding-left: 0; > li { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } } .comment-list .depth-2, .comment-list .depth-3 { @include media(mobile) { padding-left: calc(4 * var(--global--spacing-horizontal)); } } /** * Comment Meta */ .comment-meta { .comment-author { line-height: var(--global--line-height-heading); margin-bottom: calc(0.25 * var(--global--spacing-unit)); @include media(mobile) { margin-bottom: 0; padding-right: 0; } .fn { font-family: var(--global--font-secondary); font-weight: normal; font-size: var(--global--font-size-lg); hyphens: auto; word-wrap: break-word; word-break: break-word; } } .comment-metadata { color: var(--global--color-primary); font-size: var(--global--font-size-xs); padding: 8px 0 9px 0; .edit-link { margin-left: var(--global--spacing-horizontal); } } @include media(mobile) { margin-right: inherit; .comment-author { max-width: inherit; } } } .reply { font-size: var(--global--font-size-sm); line-height: var(--global--line-height-heading); } .bypostauthor { display: block; } .says { display: none; } .pingback .url, .trackback .url { font-family: var(--global--font-primary); } // Comment body .comment-body { position: relative; margin-bottom: calc(1.7 * var(--global--spacing-vertical)); > * { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } .reply { margin: 0; } } .comment-content { word-wrap: break-word; } // Pingbacks & Trackbacks .pingback .comment-body, .trackback .comment-body { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } .comment-respond { margin-top: var(--global--spacing-vertical); } .comment-respond > * { margin-top: var(--global--spacing-unit); margin-bottom: var(--global--spacing-unit); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; &.comment-form { margin-bottom: var(--global--spacing-vertical); } } } .comment-author { padding-top: 3px; .url { color: currentColor; } } .comment-form { display: flex; flex-wrap: wrap; > * { flex-basis: 100%; } .comment-notes { font-size: var(--global--font-size-sm); } .comment-form-url, .comment-form-comment { width: 100%; } .comment-form-author, .comment-form-email { flex-basis: 0; flex-grow: 1; @include media(mobile-only) { flex-basis: 100%; } } .comment-form-cookies-consent > label, .comment-notes { font-size: var(--global--font-size-xs); font-weight: normal; } } .comment-form > p { margin-bottom: var(--global--spacing-unit); &:first-of-type { margin-top: 0; } &:last-of-type { margin-bottom: 0; } label, input[type="email"], input[type="text"], input[type="url"], textarea { display: block; font-size: var(--global--font-size-sm); margin-bottom: calc(.5 * var(--global--spacing-unit)); width: 100%; font-weight: var(--form--label-weight); } &.comment-form-cookies-consent { display: flex; } @include media(mobile) { &.comment-form-author { margin-right: calc(1.5 * var(--global--spacing-horizontal)); } &.comment-notes, &.logged-in-as { display: block; } } } 06-components/pagination.scss000066600000010337152331644460012222 0ustar00/* Next/Previous navigation */ // All navigation .navigation { color: var(--global--color-primary); a { color: var(--global--color-primary); text-decoration: none; &:hover { color: var(--global--color-primary-hover); text-decoration: underline; text-decoration-style: dotted; } &:focus { color: var(--global--color-secondary); } &:active { color: var(--global--color-primary); } } .nav-links { > * { min-width: 44px; min-height: 44px; } .nav-next a, .nav-previous a { display: flex; flex-direction: column; } .dots { text-align: center; } @include media(tablet) { display: flex; justify-content: center; flex-wrap: wrap; .nav-next, .nav-previous { flex: 0 1 auto; margin-bottom: inherit; margin-top: inherit; max-width: calc(50% - (0.5 * var(--global--spacing-unit))); } .nav-next { text-align: right; } } } .svg-icon { display: inline-block; fill: currentColor; vertical-align: middle; position: relative; } .nav-previous .svg-icon, .prev .svg-icon { top: -2px; margin-right: calc(0.25 * var(--global--spacing-unit)); } .nav-next .svg-icon, .next .svg-icon { top: -1px; margin-left: calc(0.25 * var(--global--spacing-unit)); } } // Singular navigation .post-navigation { margin: var(--global--spacing-vertical) auto; @include media(desktop) { margin: var(--global--spacing-vertical) auto; } @extend %responsive-alignwide-width; .meta-nav { line-height: var(--global--line-height-body); color: var(--global--color-primary); } .post-title { display: inline-block; font-family: var(--global--font-primary); font-size: var(--global--font-size-lg); font-weight: var(--pagination--font-weight-strong); line-height: var(--global--line-height-heading); @include media(desktop) { margin: 5px calc(24px + (0.25 * var(--global--spacing-unit))) 0; } } .nav-links { @include media(mobile) { justify-content: space-between; } } .nav-next, .nav-previous { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } } // Index/archive navigation .pagination, .comments-pagination { border-top: 3px solid var(--global--color-border); padding-top: var(--global--spacing-vertical); margin: var(--global--spacing-vertical) auto; @include media(desktop) { margin: var(--global--spacing-vertical) auto; } @extend %responsive-alignwide-width; // Resets the top margin added to the .nav-links items below. .nav-links { margin-top: calc(-1 * var(--global--spacing-vertical)); a:hover { color: var(--pagination--color-link-hover); } .is-dark-theme & { a:active, a:hover:active, a:hover:focus { color: var(--global--color-background); } } .has-background-white & { a:active, a:hover:active, a:hover:focus { color: var(--global--color-white); } } } .nav-links > * { color: var(--pagination--color-text); font-family: var(--pagination--font-family); font-size: var(--pagination--font-size); font-weight: var(--pagination--font-weight); margin-top: var(--global--spacing-vertical); margin-left: calc(0.66 * var(--global--spacing-unit)); margin-right: calc(0.66 * var(--global--spacing-unit)); &.current { text-decoration: underline; } &:not(.dots):not(.current):hover { text-decoration-style: dotted; } &:first-child { margin-left: 0; } &:last-child { margin-right: 0; } &.next { margin-left: auto; } &.prev { margin-right: auto; } } @include media(desktop-only) { .nav-links { display: flex; flex-wrap: wrap; } .page-numbers { display: none; &.prev, &.next { display: inline-block; flex: 0 1 auto; } } } @include media(mobile-only) { .nav-short { display: none; } } } // Comments pagination .comments-pagination { padding-top: calc(0.66 * var(--global--spacing-vertical)); margin: calc(3 * var(--global--spacing-vertical)) auto; @include media(desktop) { margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto; } .nav-links > * { font-size: var(--global--font-size-md); } } 06-components/entry.scss000066600000010001152331644460011216 0ustar00.entry-title { color: var(--entry-header--color); font-size: var(--entry-header--font-size); letter-spacing: var(--heading--letter-spacing-h2); line-height: var(--heading--line-height-h2); overflow-wrap: break-word; a { color: var(--entry-header--color-link); text-underline-offset: 0.15em; &:hover { color: var(--entry-header--color-hover); } &:focus { color: var(--entry-header--color-focus); } &:active { color: var(--entry-header--color-link); } } } .singular .entry-title { font-size: var(--global--font-size-page-title); } h1.entry-title { line-height: var(--heading--line-height-h1); font-weight: var(--heading--font-weight-page-title); } /** * Entry Content */ .entry-content, .entry-summary { font-family: var(--entry-content--font-family); } .entry-content { p { word-wrap: break-word; } // Overwrite iframe embeds that have inline styles. > iframe[style] { margin: var(--global--spacing-vertical) 0 !important; max-width: 100% !important; } // Classic editor audio embeds. .wp-audio-shortcode { @extend %responsive-aligndefault-width; } } .entry-footer { color: var(--global--color-primary); clear: both; float: none; font-size: var(--global--font-size-xs); display: block; > span { display: inline-block; } a { color: currentColor; &:hover, &:focus { color: var(--global--color-primary-hover); } &:active { color: currentColor; } } } // Extra specificity to override rules in _vertical-margins.scss .site-main > article > .entry-footer { margin-top: var(--global--spacing-vertical); padding-top: var(--global--spacing-unit); padding-bottom: calc(3 * var(--global--spacing-vertical)); border-bottom: var(--separator--height) solid var(--separator--border-color); } body:not(.single) .site-main > article:last-of-type .entry-footer { border-bottom: var(--separator--height) solid transparent; } .single .site-main > article > .entry-footer { margin-top: calc(3.4 * var(--global--spacing-vertical)); margin-bottom: calc(3.4 * var(--global--spacing-vertical)); padding-bottom: 0; padding-top: calc(0.8 * var(--global--spacing-vertical)); border-top: 3px solid var(--separator--border-color); border-bottom: var(--separator--height) solid transparent; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: calc(2 * var(--global--spacing-horizontal)); .post-taxonomies, .full-size-link { justify-content: flex-end; text-align: right; } .full-size-link:first-child:last-child { grid-column: span 2; } .posted-on, .byline, .cat-links, .tags-links { display: block; } @include media(mobile-only) { display: block; .full-size-link { display: block; } .post-taxonomies, .full-size-link { text-align: left; } } } /** * Post Thumbnails */ .post-thumbnail { @extend %responsive-aligndefault-width; text-align: center; .entry-header &, .singular & { @extend %responsive-alignwide-width-nested; } .wp-post-image { display: block; width: auto; max-width: 100%; margin-left: auto; margin-right: auto; margin-top: calc(2 * var(--global--spacing-vertical)); } } /** * Author */ .author-bio { position: relative; font-size: var(--global--font-size-xs); max-width: var(--responsive--aligndefault-width); .site-main > article > & { margin-top: calc(2 * var(--global--spacing-vertical)); } // Avatars are optional and can be turned off. &.show-avatars { .avatar { display: inline-block; vertical-align: top; border-radius: 50%; } .author-bio-content { display: inline-block; padding-left: var(--global--spacing-horizontal); max-width: calc(var(--responsive--aligndefault-width) - 90px); } } .author-bio-content { .author-title { font-family: var(--entry-author-bio--font-family); font-size: var(--entry-author-bio--font-size); display: inline; } .author-description { font-size: var(--global--font-size-xs); margin-top: calc(0.5 * var(--global--spacing-vertical)); margin-bottom: calc(0.5 * var(--global--spacing-vertical)); } } } style-editor.scss000066600000001033152331644460010076 0ustar00/** * These styles should be loaded by the Block Editor only */ @import "01-settings/fonts"; @import "01-settings/global"; @import "02-tools/mixins"; @import "02-tools/functions"; @import "03-generic/breakpoints"; // Add relevant styles from "04-elements/misc" b, strong { font-weight: 700; } @import "04-elements/blockquote"; @import "04-elements/media"; @import "04-elements/forms-editor"; @import "04-elements/links"; @import "05-blocks/blocks-editor"; @import "06-components/editor"; @import "07-utilities/color-palette"; 03-generic/vertical-margins.scss000066600000007170152331644460012565 0ustar00/** * Site Structure * * - Set vertical margins and responsive widths on * top-level wrappers and content wrappers * - `--global--width-content` is a responsive variable * - See: globals/_global-width-responsive.scss */ /** * Top Level Wrappers (header, main, footer) * - Set vertical padding and horizontal margins */ .site-header, .site-main, .widget-area, .site-footer { padding-top: var(--global--spacing-vertical); padding-bottom: var(--global--spacing-vertical); margin-left: auto; margin-right: auto; } .site-header { padding-top: calc(0.75 * var(--global--spacing-vertical)); padding-bottom: calc(2 * var(--global--spacing-vertical)); @include media(mobile) { padding-bottom: calc(3 * var(--global--spacing-vertical)); } } /** * Site-main children wrappers * - Add double vertical margins here for clearer hierarchy */ .site-main > * { margin-top: calc(3 * var(--global--spacing-vertical)); margin-bottom: calc(3 * var(--global--spacing-vertical)); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } /** * Set the default maximum responsive content-width */ .default-max-width { @extend %responsive-aligndefault-width; } /** * Set the wide maximum responsive content-width */ .wide-max-width { @extend %responsive-alignwide-width; } /** * Set the full maximum responsive content-width */ .full-max-width { @extend %responsive-alignfull-width-mobile; @extend %responsive-alignfull-width; } /* * Block & non-gutenberg content wrappers * - Set margins */ .entry-header, .post-thumbnail, .entry-content, .entry-footer, .author-bio { margin-top: var(--global--spacing-vertical); margin-right: auto; margin-bottom: var(--global--spacing-vertical); margin-left: auto; } /* * Block & non-gutenberg content wrapper children * - Sets spacing-vertical margin logic */ .site-main > article > *, // apply vertical margins to article level .site-main > .not-found > *, // apply vertical margins to article level .entry-content > *, [class*="inner-container"] > *, .wp-block-template-part > *, .wp-block-post-template :where(li > *) { // using :where keeps specificity low. margin-top: calc(0.666 * var(--global--spacing-vertical)); margin-bottom: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } .site-footer > *, .widget-area > * { margin-top: calc(0.666 * var(--global--spacing-vertical)); margin-bottom: calc(0.666 * var(--global--spacing-vertical)); @include media(mobile) { margin-top: var(--global--spacing-vertical); margin-bottom: var(--global--spacing-vertical); } } /* * Block & non-gutenberg content wrapper children * - Sets spacing-unit margins */ //.site-header > *, // Removed, to align site title and menu. .entry-header > *, .post-thumbnail > *, .page-content > *, .comment-content > *, .widget > * { margin-top: var(--global--spacing-unit); margin-bottom: var(--global--spacing-unit); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } /* * .entry-content children specific controls * - Adds special margin overrides for alignment utility classes */ .entry-content > * { &.alignleft, &.alignright, &.alignleft:first-child + *, &.alignright:first-child + *, &.alignfull.has-background { margin-top: 0; } &:last-child, &.alignfull.has-background { margin-bottom: 0; } // Reset alignleft and alignright margins after alignfull &.alignfull + .alignleft, &.alignfull + .alignright { margin-top: var(--global--spacing-vertical); } } 03-generic/normalize.scss000066600000013710152331644460011313 0ustar00/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Render the `main` element consistently in IE. */ main { display: block; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; text-decoration-thickness: 1px; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration-style: dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } 03-generic/reset.scss000066600000002020152331644460010425 0ustar00/** * Reset specific elements to make them easier to style in other contexts. */ html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, form, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { padding: 0; margin: 0; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } /** * Apply generic border-box to all elements. * See: * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ html { /* Apply border-box across the entire page. */ box-sizing: border-box; // HTML resets font-family: var(--global--font-secondary); line-height: var(--global--line-height-body); } /** * Relax the definition a bit, to allow components to override it manually. */ * { &, &::before, &::after { box-sizing: inherit; } } // body resets body { font-size: var(--global--font-size-base); font-weight: normal; color: var(--global--color-primary); text-align: left; background-color: var(--global--color-background); } button { cursor: pointer; } 03-generic/breakpoints.scss000066600000011111152331644460011625 0ustar00/** * Responsive Styles */ /** * Required Variables */ $default_width: 610px; $max_content_width: 1240px; $breakpoint_sm: 482px; $breakpoint_md: 592px; $breakpoint_lg: 652px; $breakpoint_xl: 822px; $breakpoint_xxl: 1024px; // Responsive breakpoints mixin @mixin media( $res ) { @if mobile-only == $res { @media only screen and (max-width: #{$breakpoint_sm - 0.02}) { @content; } } @if mobile == $res { @media only screen and (min-width: #{$breakpoint_sm}) { @content; } } @if tablet-only == $res { @media only screen and (max-width: #{$breakpoint_md - 0.02}) { @content; } } @if tablet == $res { @media only screen and (min-width: #{$breakpoint_md}) { @content; } } @if laptop-only == $res { @media only screen and (max-width: #{$breakpoint_lg - 0.02}) { @content; } } @if laptop == $res { @media only screen and (min-width: #{$breakpoint_lg}) { @content; } } @if desktop-only == $res { @media only screen and (max-width: #{$breakpoint_xl - 0.02}) { @content; } } @if desktop == $res { @media only screen and (min-width: #{$breakpoint_xl}) { @content; } } @if wide-only == $res { @media only screen and (max-width: #{$breakpoint_xxl - 0.02}) { @content; } } @if wide == $res { @media only screen and (min-width: #{$breakpoint_xxl}) { @content; } } } /** * Root Media Query Variables */ :root { --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6); --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal)); --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal)); --responsive--alignfull-width: 100%; --responsive--alignright-margin: var(--global--spacing-horizontal); --responsive--alignleft-margin: var(--global--spacing-horizontal); } @include media(mobile) { :root { --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), #{$default_width}); --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal)); --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width))); --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width))); } } @include media(desktop) { :root { --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), #{$default_width}); --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), #{$max_content_width}); } } /** * Extends */ %responsive-aligndefault-width { max-width: var(--responsive--aligndefault-width); margin-left: auto; margin-right: auto; } %responsive-alignwide-width { max-width: var(--responsive--alignwide-width); margin-left: auto; margin-right: auto; } %responsive-alignfull-width-mobile { max-width: var(--responsive--alignfull-width); width: var(--responsive--alignfull-width); margin-left: auto; margin-right: auto; } @include media(mobile) { %responsive-alignfull-width { max-width: var(--responsive--alignfull-width); width: auto; margin-left: auto; margin-right: auto; } } %responsive-alignwide-width-nested { margin-left: auto; margin-right: auto; width: var(--responsive--alignwide-width); max-width: var(--responsive--alignfull-width); } %responsive-alignfull-width-nested { margin-left: auto; margin-right: auto; width: calc(var(--responsive--alignfull-width) - calc(2 * var(--responsive--spacing-horizontal))); max-width: var(--responsive--alignfull-width); } @include media(desktop) { %responsive-alignfull-width-nested { margin-left: auto; margin-right: auto; width: calc(var(--responsive--alignfull-width) - calc(4 * var(--responsive--spacing-horizontal))); max-width: var(--responsive--alignfull-width); } } %responsive-alignleft-mobile { /*rtl:ignore*/ margin-left: 0; /*rtl:ignore*/ margin-right: var(--responsive--spacing-horizontal); } @include media(mobile) { %responsive-alignleft { /*rtl:ignore*/ margin-left: var(--responsive--alignleft-margin); /*rtl:ignore*/ margin-right: var(--global--spacing-horizontal); } } %responsive-alignright-mobile { /*rtl:ignore*/ margin-left: var(--responsive--spacing-horizontal); /*rtl:ignore*/ margin-right: 0; } @include media(mobile) { %responsive-alignright { /*rtl:ignore*/ margin-left: var(--global--spacing-horizontal); /*rtl:ignore*/ margin-right: var(--responsive--alignright-margin); } } // Output .default-max-width { @extend %responsive-aligndefault-width; } .wide-max-width { @extend %responsive-alignwide-width; } .full-max-width { @extend %responsive-alignfull-width; } 03-generic/clearings.scss000066600000000673152331644460011266 0ustar00.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after { content: ""; display: table; table-layout: fixed; } .clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after { clear: both; } 02-tools/mixins.scss000066600000004355152331644460010352 0ustar00// Responsive breakpoints mixin @mixin add_variables( $view: frontend ) { @if frontend == $view { :root { @content; } } @if editor == $view { :root, body { @content; } } } // Button style // - Applies button styles to blocks and elements that share them. @mixin button-style() { border: var(--button--border-width) solid transparent; border-radius: var(--button--border-radius); cursor: pointer; font-weight: var(--button--font-weight); font-family: var(--button--font-family); font-size: var(--button--font-size); line-height: var(--button--line-height); padding: var(--button--padding-vertical) var(--button--padding-horizontal); text-decoration: none; // Standard Button Color Relationship Logic &:not(:hover):not(:active) { // Text colors &:not(.has-text-color) { color: var(--global--color-background); // Nested .has-background & { color: var(--local--color-background, var(--global--color-primary)); &.has-background { color: var(--global--color-primary); } } } // Background-colors &:not(.has-background) { background-color: var(--global--color-primary); // Nested .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)); } } } // Hover Button color should match parent element foreground color &:hover, &:active { background-color: transparent; border-color: currentColor; color: inherit; } // Focus Button outline color should always match the current text color &:focus { outline-offset: -6px; outline: 2px dotted currentColor; } // Disabled Button colors &:disabled { background-color: var(--global--color-white-50); border-color: var(--global--color-white-50); color: var(--button--color-text-active); } } @mixin innerblock-margin-clear($container) { // Clear the top margin for the first-child. > #{$container} > *:first-child { margin-top: 0; } // Last child that is not the appender. > #{$container} > *:last-child:not(.block-list-appender) { margin-bottom: 0; } // When selected, the last item becomes the second last because of the appender. &.has-child-selected > #{$container} > *:nth-last-child(2), &.is-selected > #{$container} > *:nth-last-child(2) { margin-bottom: 0; } } 02-tools/functions.scss000066600000011045152331644460011045 0ustar00// Remove the unit of a length // @param {Number} $number - Number to remove unit from // @return {Number} - Unitless number @function strip-unit($number) { @if type-of($number) == "number" and not unitless($number) { @return $number / ($number * 0 + 1); } @return $number; } // ---- // Sass (v3.3.14) // Compass (v1.0.0.rc.1) // ---- @function pow($x, $y) { $ret: 1; @if $y > 0 { @for $i from 1 through $y { $ret: $ret * $x; } } @else { @for $i from $y to 0 { $ret: $ret / $x; } } @return $ret; } // Map deep get // @author Hugo Giraudel // @access public // @param {Map} $map - Map // @param {Arglist} $keys - Key chain // @return {*} - Desired value // // Example: // $m-breakpoint: map-deep-get($__prefix-default-config, "layouts", "M"); @function map-deep-get($map, $keys...) { @each $key in $keys { $map: map-get($map, $key); } @return $map; } // Deep set function to set a value in nested maps // @author Hugo Giraudel // @access public // @param {Map} $map - Map // @param {List} $keys - Key chaine // @param {*} $value - Value to assign // @return {Map} // // Example: // $__prefix-default-config: map-deep-set($__prefix-default-config, "layouts" "M", 650px); @function map-deep-set($map, $keys, $value) { $maps: ($map); $result: null; // If the last key is a map already // Warn the user we will be overriding it with $value @if type-of(nth($keys, -1)) == "map" { @warn "The last key you specified is a map; it will be overridden with `#{$value}`."; } // If $keys is a single key // Just merge and return @if length($keys) == 1 { @return map-merge($map, ($keys: $value)); } // Loop from the first to the second to last key from $keys // Store the associated map to this key in the $maps list // If the key doesn't exist, throw an error @for $i from 1 through length($keys) - 1 { $current-key: nth($keys, $i); $current-map: nth($maps, -1); $current-get: map-get($current-map, $current-key); @if $current-get == null { @error "Key `#{$key}` doesn't exist at current level in map."; } $maps: append($maps, $current-get); } // Loop from the last map to the first one // Merge it with the previous one @for $i from length($maps) through 1 { $current-map: nth($maps, $i); $current-key: nth($keys, $i); $current-val: if($i == length($maps), $value, $result); $result: map-merge($current-map, ($current-key: $current-val)); } // Return result @return $result; } // jQuery-style extend function // - Child themes can use this function to `reset` the values in // config maps without editing the `master` Sass files. // - src: https://www.sitepoint.com/extra-map-functions-sass/ // - About `map-merge()`: // - - only takes 2 arguments // - - is not recursive // @param {Map} $map - first map // @param {ArgList} $maps - other maps // @param {Bool} $deep - recursive mode // @return {Map} // Examples: // $grid-configuration-default: ( // 'columns': 12, // 'layouts': ( // 'small': 800px, // 'medium': 1000px, // 'large': 1200px, // ), // ); // $grid-configuration-custom: ( // 'layouts': ( // 'large': 1300px, // 'huge': 1500px // ), // ); // $grid-configuration-user: ( // 'direction': 'ltr', // 'columns': 16, // 'layouts': ( // 'large': 1300px, // 'huge': 1500px // ), // ); // $deep: false // $grid-configuration: map-extend($grid-configuration-default, $grid-configuration-custom, $grid-configuration-user); // --> ("columns": 16, "layouts": (("large": 1300px, "huge": 1500px)), "direction": "ltr") // $deep: true // $grid-configuration: map-extend($grid-configuration-default, $grid-configuration-custom, $grid-configuration-user, true); // --> ("columns": 16, "layouts": (("small": 800px, "medium": 1000px, "large": 1300px, "huge": 1500px)), "direction": "ltr") @function map-extend($map, $maps.../*, $deep */) { $last: nth($maps, -1); $deep: $last == true; $max: if($deep, length($maps) - 1, length($maps)); // Loop through all maps in $maps... @for $i from 1 through $max { // Store current map $current: nth($maps, $i); // If not in deep mode, simply merge current map with map @if not $deep { $map: map-merge($map, $current); } @else { // If in deep mode, loop through all tuples in current map @each $key, $value in $current { // If value is a nested map and same key from map is a nested map as well @if type-of($value) == "map" and type-of(map-get($map, $key)) == "map" { // Recursive extend $value: map-extend(map-get($map, $key), $value, true); } // Merge current tuple with map $map: map-merge($map, ($key: $value)); } } } @return $map; } style.scss000066600000011746152331644460006626 0ustar00@import "01-settings/file-header"; /** * SETTINGS * File-header..........The file header for the themes style.css file. * Fonts................Any font files, if the project needs specific fonts. * Global...............Project-specific, globally available variables. * * TOOLS * Functions............Global functions. * Mixins...............Global mixins. * * GENERIC * Normalize.css........Normalise browser defaults. * Breakpoints..........Mixins and variables for responsive styles * Vertical-margins.....Vertical spacing for the main components. * Reset................Reset specific elements to make them easier to style in other contexts. * Clearings............Clearings for the main components. * * ELEMENTS * Blockquote...........Default blockquote. * Forms................Element-level form styling. * Headings.............H1–H6 * Links................Default links. * Lists................Default lists. * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video. * * BLOCKS * Audio................Specific styles for the audio block. * Button...............Specific styles for the button block. * Code.................Specific styles for the code block. * Columns..............Specific styles for the columns block. * Cover................Specific styles for the cover block. * File.................Specific styles for the file block. * Gallery..............Specific styles for the gallery block. * Group................Specific styles for the group block. * Heading..............Specific styles for the heading block. * Image................Specific styles for the image block. * Latest comments......Specific styles for the latest comments block. * Latest posts.........Specific styles for the latest posts block. * Legacy...............Specific styles for the legacy gallery. * List.................Specific styles for the list block. * Media text...........Specific styles for the media and text block. * Navigation...........Specific styles for the navigation block. * Paragraph............Specific styles for the paragraph block. * Pullquote............Specific styles for the pullquote block. * Quote................Specific styles for the quote block. * Search...............Specific styles for the search block. * Separator............Specific styles for the separator block. * Table................Specific styles for the table block. * Poetry (Verse).......Specific styles for the poetry block. * Video................Specific styles for the video block. * Utilities............Block alignments. * * COMPONENTS * Header...............Header styles. * Footer...............Footer styles. * Comments.............Comment styles. * Archives.............Archive styles. * 404..................404 styles. * Search...............Search styles. * Navigation...........Navigation styles. * Footer Navigation....Footer Navigation styles. * Pagination...........Pagination styles. * Single...............Single page and post styles. * Posts and pages......Misc, sticky post styles. * Entry................Entry, author biography. * Widget...............Widget styles. * Editor...............Editor styles. * * UTILITIES * A11y.................Screen reader text, prefers reduced motion etc. * Color Palette........Classes for the color palette colors. * Editor Font Sizes....Editor Font Sizes. * Measure..............The width of a line of text, in characters. */ // Print................Print styles /* Categories 01 to 03 are the basics. */ @import "01-settings/fonts"; @import "01-settings/global"; @import "02-tools/mixins"; @import "02-tools/functions"; @import "03-generic/normalize"; @import "03-generic/breakpoints"; @import "03-generic/vertical-margins"; @import "03-generic/reset"; @import "03-generic/clearings"; /* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */ @import "04-elements/blockquote"; @import "04-elements/forms"; @import "04-elements/media"; @import "04-elements/misc"; @import "04-elements/links"; /* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */ @import "05-blocks/blocks"; /* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */ @import "06-components/header"; @import "06-components/footer"; @import "06-components/single"; @import "06-components/posts-and-pages"; @import "06-components/entry"; @import "06-components/archives"; @import "06-components/404"; @import "06-components/search"; @import "06-components/comments"; @import "06-components/navigation"; @import "06-components/footer-navigation"; @import "06-components/pagination"; @import "06-components/widgets"; /* Category 07 is for any utility classes that are not assigned to a specific component. */ @import "07-utilities/a11y"; @import "07-utilities/color-palette"; @import "07-utilities/measure";