diff --git a/api/collections/fields/_article.yml b/api/collections/fields/_article.yml index e4ba93d..d862918 100644 --- a/api/collections/fields/_article.yml +++ b/api/collections/fields/_article.yml @@ -18,6 +18,7 @@ subFields: - name: public type: boolean meta: + filter: true label: de: Veröffentlicht en: Public @@ -27,24 +28,26 @@ subFields: - name: publish_date type: object meta: - label: + label: de: Datum der Veröffentlichung en: Release Date css: "grid grid-50" subFields: - name: from - type: date + type: string meta: + widget: date inputProps: - type: "datetime-local" + type: "datetime-local" label: de: Datum (ab) en: Date (from) - name: until - type: date + type: string meta: + widget: date inputProps: - type: "datetime-local" + type: "datetime-local" label: de: Datum (bis) en: Date (until) @@ -198,137 +201,159 @@ subFields: en: Appearance defaultValue: ["_self"] choices: - - { id: "top", name: { de: "Artikelbild oben (volle Breite)", en: "Article picture top (full width)" } } - - { id: "right", name: { de: "Artikelbild rechts (volle Höhe)", en: "Article picture right (full height)" } } - - { id: "bottom", name: { de: "Artikelbild unten (volle Breite)", en: "Article picture left (full width)" } } - - { id: "left", name: { de: "Artikelbild links (volle Höhe)", en: "Article picture left (full height)" } } - - { id: "after-teaser", name: { de: "Artikelbild unter Teaser (volle Breite)" , en: "Article picture under teaser (full width)" } } + - { + id: "top", + name: { de: "Artikelbild oben (volle Breite)", en: "Article picture top (full width)" }, + } + - { + id: "right", + name: { de: "Artikelbild rechts (volle Höhe)", en: "Article picture right (full height)" }, + } + - { + id: "bottom", + name: { de: "Artikelbild unten (volle Breite)", en: "Article picture left (full width)" }, + } + - { + id: "left", + name: { de: "Artikelbild links (volle Höhe)", en: "Article picture left (full height)" }, + } + - { + id: "after-teaser", + name: + { + de: "Artikelbild unter Teaser (volle Breite)", + en: "Article picture under teaser (full width)", + }, + } - { id: "top-left", name: { de: "Artikelbild oben links", en: "Article picture above left" } } - { id: "top-right", name: { de: "Artikelbild oben rechts", en: "Article picture above right" } } - { id: "bottom-left", name: { de: "Artikelbild unten links", en: "Article picture below left" } } - - { id: "bottom-right", name: { de: "Artikelbild unten rechts", en: "Article picture below right" } } + - { + id: "bottom-right", + name: { de: "Artikelbild unten rechts", en: "Article picture below right" }, + } - name: margin type: object meta: label: { de: "Abstand nach außen (Margin)", en: "Distance to the outside (Margin)" } subFields: - - name: top - type: string - meta: - widget: select - label: - de: Oben - en: Top - choices: - - { id: "", name: "Kein Abstand" } - - { id: "mt-xs", name: "Sehr kleiner Abstand" } - - { id: "mt-sm", name: "Kleiner Abstand" } - - { id: "mt-md", name: "Normal" } - - { id: "mt-lg", name: "Großer Abstand" } - - { id: "mt-xl", name: "Sehr großer Abstand" } - - name: right - type: string - meta: - widget: select - label: - de: Rechts - en: Right - choices: - - { id: "", name: "Kein Abstand" } - - { id: "mr-xs", name: "Sehr kleiner Abstand" } - - { id: "mr-sm", name: "Kleiner Abstand" } - - { id: "mr-md", name: "Normal" } - - { id: "mr-lg", name: "Großer Abstand" } - - { id: "mr-xl", name: "Sehr großer Abstand" } - - name: bottom - type: string - meta: - widget: select - label: - de: Unten - en: Bottom - choices: - - { id: "", name: "Kein Abstand" } - - { id: "mb-xs", name: "Sehr kleiner Abstand" } - - { id: "mb-sm", name: "Kleiner Abstand" } - - { id: "mb-md", name: "Normal" } - - { id: "mb-lg", name: "Großer Abstand" } - - { id: "mb-xl", name: "Sehr großer Abstand" } - - name: left - type: string - meta: - widget: select - label: - de: Links - en: Left - choices: - - { id: "", name: "Kein Abstand" } - - { id: "ml-xs", name: "Sehr kleiner Abstand" } - - { id: "ml-sm", name: "Kleiner Abstand" } - - { id: "ml-md", name: "Normal" } - - { id: "ml-lg", name: "Großer Abstand" } - - { id: "ml-xl", name: "Sehr großer Abstand" } + - name: top + type: string + meta: + widget: select + label: + de: Oben + en: Top + choices: + - { id: "", name: "Kein Abstand" } + - { id: "mt-xs", name: "Sehr kleiner Abstand" } + - { id: "mt-sm", name: "Kleiner Abstand" } + - { id: "mt-md", name: "Normal" } + - { id: "mt-lg", name: "Großer Abstand" } + - { id: "mt-xl", name: "Sehr großer Abstand" } + - name: right + type: string + meta: + widget: select + label: + de: Rechts + en: Right + choices: + - { id: "", name: "Kein Abstand" } + - { id: "mr-xs", name: "Sehr kleiner Abstand" } + - { id: "mr-sm", name: "Kleiner Abstand" } + - { id: "mr-md", name: "Normal" } + - { id: "mr-lg", name: "Großer Abstand" } + - { id: "mr-xl", name: "Sehr großer Abstand" } + - name: bottom + type: string + meta: + widget: select + label: + de: Unten + en: Bottom + choices: + - { id: "", name: "Kein Abstand" } + - { id: "mb-xs", name: "Sehr kleiner Abstand" } + - { id: "mb-sm", name: "Kleiner Abstand" } + - { id: "mb-md", name: "Normal" } + - { id: "mb-lg", name: "Großer Abstand" } + - { id: "mb-xl", name: "Sehr großer Abstand" } + - name: left + type: string + meta: + widget: select + label: + de: Links + en: Left + choices: + - { id: "", name: "Kein Abstand" } + - { id: "ml-xs", name: "Sehr kleiner Abstand" } + - { id: "ml-sm", name: "Kleiner Abstand" } + - { id: "ml-md", name: "Normal" } + - { id: "ml-lg", name: "Großer Abstand" } + - { id: "ml-xl", name: "Sehr großer Abstand" } - name: padding type: object meta: label: { de: "Abstand nach innen (Padding)", en: "Distance inside (Padding)" } subFields: - - name: top - type: string - meta: - widget: select - label: - de: Oben - en: Top - choices: - - { id: "", name: "Kein Abstand" } - - { id: "pt-xs", name: "Sehr kleiner Abstand" } - - { id: "pt-sm", name: "Kleiner Abstand" } - - { id: "pt-md", name: "Normal" } - - { id: "pt-lg", name: "Großer Abstand" } - - { id: "pt-xl", name: "Sehr großer Abstand" } - - name: right - type: string - meta: - widget: select - label: - de: Rechts - en: Right - choices: - - { id: "", name: "Kein Abstand" } - - { id: "pr-xs", name: "Sehr kleiner Abstand" } - - { id: "pr-sm", name: "Kleiner Abstand" } - - { id: "pr-md", name: "Normal" } - - { id: "pr-lg", name: "Großer Abstand" } - - { id: "pr-xl", name: "Sehr großer Abstand" } - - name: bottom - type: string - meta: - widget: select - label: - de: Unten - en: Bottom - choices: - - { id: "", name: "Kein Abstand" } - - { id: "pb-xs", name: "Sehr kleiner Abstand" } - - { id: "pb-sm", name: "Kleiner Abstand" } - - { id: "pb-md", name: "Normal" } - - { id: "pb-lg", name: "Großer Abstand" } - - { id: "pb-xl", name: "Sehr großer Abstand" } - - name: left - type: string - meta: - widget: select - label: - de: Links - en: Left - choices: - - { id: "", name: "Kein Abstand" } - - { id: "pl-xs", name: "Sehr kleiner Abstand" } - - { id: "pl-sm", name: "Kleiner Abstand" } - - { id: "pl-md", name: "Normal" } - - { id: "pl-lg", name: "Großer Abstand" } - - { id: "pl-xl", name: "Sehr großer Abstand" } + - name: top + type: string + meta: + widget: select + label: + de: Oben + en: Top + choices: + - { id: "", name: "Kein Abstand" } + - { id: "pt-xs", name: "Sehr kleiner Abstand" } + - { id: "pt-sm", name: "Kleiner Abstand" } + - { id: "pt-md", name: "Normal" } + - { id: "pt-lg", name: "Großer Abstand" } + - { id: "pt-xl", name: "Sehr großer Abstand" } + - name: right + type: string + meta: + widget: select + label: + de: Rechts + en: Right + choices: + - { id: "", name: "Kein Abstand" } + - { id: "pr-xs", name: "Sehr kleiner Abstand" } + - { id: "pr-sm", name: "Kleiner Abstand" } + - { id: "pr-md", name: "Normal" } + - { id: "pr-lg", name: "Großer Abstand" } + - { id: "pr-xl", name: "Sehr großer Abstand" } + - name: bottom + type: string + meta: + widget: select + label: + de: Unten + en: Bottom + choices: + - { id: "", name: "Kein Abstand" } + - { id: "pb-xs", name: "Sehr kleiner Abstand" } + - { id: "pb-sm", name: "Kleiner Abstand" } + - { id: "pb-md", name: "Normal" } + - { id: "pb-lg", name: "Großer Abstand" } + - { id: "pb-xl", name: "Sehr großer Abstand" } + - name: left + type: string + meta: + widget: select + label: + de: Links + en: Left + choices: + - { id: "", name: "Kein Abstand" } + - { id: "pl-xs", name: "Sehr kleiner Abstand" } + - { id: "pl-sm", name: "Kleiner Abstand" } + - { id: "pl-md", name: "Normal" } + - { id: "pl-lg", name: "Großer Abstand" } + - { id: "pl-xl", name: "Sehr großer Abstand" } - name: link type: object meta: diff --git a/api/collections/prototype_articles.yml b/api/collections/prototype_articles.yml new file mode 100644 index 0000000..b412841 --- /dev/null +++ b/api/collections/prototype_articles.yml @@ -0,0 +1,103 @@ +######################################################################## +# Articles +######################################################################## + +name: prototype_articles +uploadPath: ../media/prototype_articles +meta: + # Navigationseintrag in der Admin-UI + label: { de: "PROTOTYPE TEST - Artikel auf der Seite", en: "PROTOTYPE TEST -Page articles" } + # Icon (Material UI) für den Navigationseintrag + muiIcon: file-document-edit-outline + # Standardsortierung der Liste + defaultSort: { field: "article.general.sort", order: "ASC" } + # Admin-Backend Ansichten + defaultImageFilter: s + views: + # Mobile Darstellung + - type: simpleList + mediaQuery: "(max-width:599px)" + primaryText: path + columns: + - article.general.public + - article.content.title + - article.general.position + - article.general.sort + # Desktop + - type: table + mediaQuery: "(min-width:600px)" + columns: + - article.general.public + - article.content.title + - article.general.position + - article.general.sort + +imageFilter: + xs: + - fit: true + height: 90 + width: 90 + resampling: "lancos" + quality: 60 + s: + - fit: true + height: 300 + width: 300 + resampling: "lancos" + quality: 60 + m: + - fit: true + height: 600 + width: 600 + resampling: "lancos" + quality: 60 + l: + - fit: true + height: 1200 + width: 1200 + resampling: "lancos" + quality: 60 + xl: + - fit: true + height: 2000 + width: 2000 + resampling: "lancos" + quality: 60 + +permissions: + public: + methods: + get: true + post: false + put: false + delete: false + user: + methods: + get: true + post: true + put: true + delete: true + # token als Zusatzsicherung gegen Spam, mehr siehe Hook + "token:${PUBLIC_TOKEN}": + methods: + get: false + post: false + put: false + delete: false + +# hooks: +# post: +# create: +# type: javascript +# file: hooks/article/post_create.js +# put: +# update: +# type: javascript +# file: hooks/article/put_return.js +# delete: +# return: +# type: javascript +# file: hooks/article/delete_return.js + +fields: + - !include fields/_article.yml \ No newline at end of file diff --git a/src/components/PrototypeArticle.svelte b/src/components/PrototypeArticle.svelte new file mode 100644 index 0000000..eaf0886 --- /dev/null +++ b/src/components/PrototypeArticle.svelte @@ -0,0 +1,95 @@ + + +{#if a.general.public} +
+ {#if !a.layout.variant || a.layout.variant === "top-left"} + {#if a.general.categories} +
+ {#each a.general.categories || [] as c} + + {/each} +
+ {/if} + {#if a.content.types.contentMedia.mediaFiles} +
+ {#each a.content.types.contentMedia.mediaFiles || [] as image} + + {#if image?.file?.path} + {getImageSrc(image)} + + {/if} + {#if image?.caption} +
{image?.caption}
+ {/if} + {/each} +
+ {/if} + + {#if a.content.title} +
{a.content.title}
+ {/if} + {#if a.content.subtitle} +
{a.content.subtitle}
+ {/if} + {#if a.content.types.teaser} +
+ {@html a.content.types.teaser} +
+ {/if} + {#if details && a.content.types.details} +
+ {@html a.content.types.details} +
+ {/if} + {#if a.link.url} + + {a.link.text ? a.link.text : a.link.url} + + {/if} + {#if a.content.types.contentAttachments.attachments} +
+ {#each a.content.types.contentAttachments.attachments || [] as attachment} + + {attachment.title ? attachment.title : attachment.file.path} + + {/each} +
+ {/if} + {/if} +
+{/if} diff --git a/src/components/routes/PrototypeArticles.svelte b/src/components/routes/PrototypeArticles.svelte new file mode 100644 index 0000000..b4ee197 --- /dev/null +++ b/src/components/routes/PrototypeArticles.svelte @@ -0,0 +1,31 @@ + + +
+
+
+ +
+ {#each articles || [] as article} + + {/each} +
+ +
+
+ +
+
+
diff --git a/src/css/prototype-article.less b/src/css/prototype-article.less new file mode 100644 index 0000000..fe2a19b --- /dev/null +++ b/src/css/prototype-article.less @@ -0,0 +1,5 @@ +.p_article { + font-size: 14px; + border: 1px solid #000; + padding: 20px; +} diff --git a/src/css/theme/components/appointment.less b/src/css/theme/components/appointment.less new file mode 100644 index 0000000..da8f4d6 --- /dev/null +++ b/src/css/theme/components/appointment.less @@ -0,0 +1,8 @@ +.appointment { + background: @secondary; + color: @on-secondary; + border-radius: 50px; + font-size: 18px; + text-align: center; + padding: @space-xs @space-sm; +} diff --git a/src/css/theme/components/article.less b/src/css/theme/components/article.less new file mode 100644 index 0000000..86355b9 --- /dev/null +++ b/src/css/theme/components/article.less @@ -0,0 +1,211 @@ +article, +.article { + font-size: 20px; + border-radius: 10px; + overflow-wrap: anywhere; + + strong { + color: @secondary; + font-weight: 600; + } + + &.top, + &.top-of-content, + &.end-of-content { + box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2); + border-radius: 10px; + background-color: @surface; + color: @on-surface; + display: flex; + flex-direction: column; + + .article-image { + min-height: 200px; + background-size: cover; + background-position: top center; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + display: flex; + flex-direction: column; + justify-content: flex-end; + padding: 10px 20px; + color: #f1ebe4; + text-shadow: 0 2px 10px #000; + overflow-wrap: anywhere; + flex-grow: 1; + } + + .article-title { + font-size: 32px; + font-weight: 600; + overflow-wrap: anywhere; + } + + .article-subtitle { + font-size: 20px; + overflow-wrap: anywhere; + } + + .article-content { + padding: 20px; + overflow-wrap: anywhere; + + .article-subtitle { + font-size: @font-size-default; + } + } + + &.end-of-content { + .article-image { + height: 400px; + } + } + + .article-link { + background: @primary; + color: @on-primary; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + height: 44px; + font-size: 20px; + font-weight: 700; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + } + } + + ul { + list-style-type: none; + padding-left: 0px; + + li { + background-image: url("../css/theme/components/img/arrow-right-3.png"); + background-repeat: no-repeat; + + line-height: 30px; + padding-left: 35px; + color: @primary; + font-weight: 700; + font-size: 20px; + } + } + + .article-content { + strong { + color: @primary; + font-weight: 600; + } + + .article-title:not(h1) { + color: @primary; + font-size: 32px; + font-weight: 700; + margin-bottom: @space-sm; + } + + .article-subtitle { + color: @secondary; + font-size: 20px; + font-weight: 700; + margin-bottom: @space-md; + } + } + + &.content { + margin-bottom: @space-lg; + + .article-link { + border: 1px solid @primary; + border-bottom: 3px solid #c4253e; + color: @primary; + font-size: 18px; + font-weight: 700; + padding: 5px 10px; + border-radius: 10px; + transition: @transition-default; + display: inline-flex; + justify-content: center; + align-items: center; + gap: @space-sm; + text-decoration: none; + cursor: pointer; + + &:hover { + background: @on-primary; + color: @primary; + box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2); + } + } + } + + &.end-of-content { + .article-image { + justify-content: flex-start; + + .article-title { + margin-top: 20px; + color: #fff; + font-family: "Caveat", sans-serif; + text-shadow: none; + font-size: 72px; + line-height: 72px; + font-weight: 700; + padding-right: 10%; + } + .article-subtitle { + color: #fff; + font-family: "Caveat", sans-serif; + text-shadow: none; + font-size: 32px; + font-weight: 700; + } + } + } + + &.article-details { + img { + border-radius: 10px; + width: 300px; + display: inline-block; + + &.layout-1 { + float: left; + margin: 0 @space-md @space-md 0; + } + &.layout-2 { + float: right; + margin: 0 0 @space-md @space-md; + } + } + + .article-subtitle { + font-size: 24px; + } + + .article-link { + margin-top: @space-lg; + border: 1px solid @primary; + border-bottom: 3px solid #c4253e; + color: @primary; + font-size: 18px; + font-weight: 700; + padding: 5px 10px; + border-radius: 10px; + transition: @transition-default; + display: inline-flex; + justify-content: center; + align-items: center; + gap: @space-sm; + text-decoration: none; + cursor: pointer; + + &:hover { + background: @on-primary; + color: @primary; + box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2); + } + } + } +} diff --git a/src/css/theme/components/audio.less b/src/css/theme/components/audio.less new file mode 100644 index 0000000..fe14b12 --- /dev/null +++ b/src/css/theme/components/audio.less @@ -0,0 +1,18 @@ +.audioToggle { + position: fixed; + right: 17px; + bottom: 17px; + width: 80px; + height: 80px; + border-radius: 100%; + padding: 15px; + background-color: @secondary; + z-index: 1000; + cursor: pointer; +} + +audio { + position: absolute; + top: -9999px; + left: -9999px; +} diff --git a/src/css/theme/components/carousel.less b/src/css/theme/components/carousel.less new file mode 100644 index 0000000..76c7c78 --- /dev/null +++ b/src/css/theme/components/carousel.less @@ -0,0 +1,137 @@ +.carousel { + width: 100%; + height: 695px; + + .carousel-slide { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-size: cover; + + .container { + height: 100%; + } + + img { + position: absolute; + right: 0; + bottom: 0; + + @media (max-width: 1200px) { + display: none; + } + } + + .content { + color: #fff; + text-shadow: 0 2px 10px #000; + font-weight: 700; + position: absolute; + top: 17rem; + left: 0; + + @media (max-width: 768px) { + top: 10rem; + } + + .headline { + font-family: "Caveat", sans-serif; + text-shadow: rgb(196, 37, 62) 6px 0px 0px, + rgb(196, 37, 62) 5.91686px 0.995377px 0px, + rgb(196, 37, 62) 5.66974px 1.96317px 0px, + rgb(196, 37, 62) 5.2655px 2.87655px 0px, + rgb(196, 37, 62) 4.71532px 3.71022px 0px, + rgb(196, 37, 62) 4.03447px 4.44106px 0px, + rgb(196, 37, 62) 3.24181px 5.04883px 0px, + rgb(196, 37, 62) 2.35931px 5.51667px 0px, + rgb(196, 37, 62) 1.41143px 5.83163px 0px, + rgb(196, 37, 62) 0.424423px 5.98497px 0px, + rgb(196, 37, 62) -0.574341px 5.97245px 0px, + rgb(196, 37, 62) -1.55719px 5.79441px 0px, + rgb(196, 37, 62) -2.49688px 5.45578px 0px, + rgb(196, 37, 62) -3.36738px 4.96596px 0px, + rgb(196, 37, 62) -4.14455px 4.33852px 0px, + rgb(196, 37, 62) -4.80686px 3.59083px 0px, + rgb(196, 37, 62) -5.33596px 2.74364px 0px, + rgb(196, 37, 62) -5.71718px 1.8204px 0px, + rgb(196, 37, 62) -5.93995px 0.84672px 0px, + rgb(196, 37, 62) -5.99811px -0.150428px 0px, + rgb(196, 37, 62) -5.89004px -1.14341px 0px, + rgb(196, 37, 62) -5.61874px -2.1047px 0px, + rgb(196, 37, 62) -5.19172px -3.00766px 0px, + rgb(196, 37, 62) -4.62082px -3.82727px 0px, + rgb(196, 37, 62) -3.92186px -4.54081px 0px, + rgb(196, 37, 62) -3.11421px -5.12852px 0px, + rgb(196, 37, 62) -2.22026px -5.57409px 0px, + rgb(196, 37, 62) -1.26477px -5.86518px 0px, + rgb(196, 37, 62) -0.274238px -5.99373px 0px, + rgb(196, 37, 62) 0.723898px -5.95617px 0px, + rgb(196, 37, 62) 1.70197px -5.75355px 0px, + rgb(196, 37, 62) 2.63288px -5.39147px 0px, + rgb(196, 37, 62) 3.49082px -4.87998px 0px, + rgb(196, 37, 62) 4.25202px -4.23324px 0px, + rgb(196, 37, 62) 4.89538px -3.46919px 0px, + rgb(196, 37, 62) 5.40307px -2.60899px 0px, + rgb(196, 37, 62) 5.76102px -1.67649px 0px, + rgb(196, 37, 62) 5.95932px -0.697531px 0px, 0 2px 20px #000; + line-height: 70px; + color: #fff; + font-weight: 700; + font-size: 96px; + + @media (max-width: 768px) { + font-size: 72px; + } + } + + .text { + font-size: 32px; + font-family: "Nunito", sans-serif; + margin-left: @space-md; + } + + ul.text { + list-style-type: none; + padding-left: 30px; + + li { + font-size: 32px; + font-family: "Nunito", sans-serif; + text-shadow: rgb(196, 37, 62) 3px 0px 0px, + rgb(196, 37, 62) 2.83487px 0.981584px 0px, + rgb(196, 37, 62) 2.35766px 1.85511px 0px, + rgb(196, 37, 62) 1.62091px 2.52441px 0px, + rgb(196, 37, 62) 0.705713px 2.91581px 0px, + rgb(196, 37, 62) -0.287171px 2.98622px 0px, + rgb(196, 37, 62) -1.24844px 2.72789px 0px, + rgb(196, 37, 62) -2.07227px 2.16926px 0px, + rgb(196, 37, 62) -2.66798px 1.37182px 0px, + rgb(196, 37, 62) -2.96998px 0.42336px 0px, + rgb(196, 37, 62) -2.94502px -0.571704px 0px, + rgb(196, 37, 62) -2.59586px -1.50383px 0px, + rgb(196, 37, 62) -1.96093px -2.27041px 0px, + rgb(196, 37, 62) -1.11013px -2.78704px 0px, + rgb(196, 37, 62) -0.137119px -2.99686px 0px, + rgb(196, 37, 62) 0.850987px -2.87677px 0px, + rgb(196, 37, 62) 1.74541px -2.43999px 0px, + rgb(196, 37, 62) 2.44769px -1.73459px 0px, + rgb(196, 37, 62) 2.88051px -0.838247px 0px, + 0 2px 20px #000; + font-weight: 700; + + &:before { + content: "»"; + position: absolute; + left: -30px; + } + + @media (max-width: 768px) { + font-size: 24px; + } + } + } + } + } +} diff --git a/src/css/theme/components/cc-bar.less b/src/css/theme/components/cc-bar.less new file mode 100644 index 0000000..e6a02e9 --- /dev/null +++ b/src/css/theme/components/cc-bar.less @@ -0,0 +1,8 @@ +#ccBarButtons #ccBarShowMoreButton { + color: @primary !important; +} + +#ccBar ul li input[type="checkbox"]:checked ~ label:before { + background: @primary !important; + top: 1px; +} diff --git a/src/css/theme/components/content.less b/src/css/theme/components/content.less new file mode 100644 index 0000000..6fa4819 --- /dev/null +++ b/src/css/theme/components/content.less @@ -0,0 +1,29 @@ +.top-of-content { + *[class^="col"] { + margin-bottom: @space-md; + } + + display: flex; + justify-content: space-around; + align-items: stretch; + gap: @space-lg; + + article { + width: 33%; + } + + @media (max-width: 992px) { + flex-direction: column; + + article { + width: 100%; + } + } +} + +.wave-top { + height: 54px; + margin-top: -54px; + background-image: url("../css/theme/components/img/wave_header_top.png"); + background-repeat: repeat-x; +} diff --git a/src/css/theme/components/event.less b/src/css/theme/components/event.less new file mode 100644 index 0000000..a990c3d --- /dev/null +++ b/src/css/theme/components/event.less @@ -0,0 +1,64 @@ +.event { + border-radius: 10px; + box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2); + font-size: @font-size-default; + + .event-header { + background: @primary; + color: @on-primary; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + display: flex; + justify-content: flex-start; + align-items: center; + gap: @space-md; + padding: 5px 10px; + } + + .event-content { + padding: @space-sm; + display: flex; + justify-content: flex-start; + align-items: flex-start; + gap: @space-lg; + flex-wrap: wrap; + background-color: #fff; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + + strong { + color: @secondary; + font-weight: 600; + } + + img { + width: 300px; + border-radius: 5px; + } + + .event-title { + color: @primary; + font-size: 20px; + font-weight: 600; + line-height: 22px; + } + + .event-subtitle { + font-size: 20px; + } + + @media (max-width: 992px) { + flex-direction: column; + + img { + width: 100%; + } + } + } + + &.sidebar { + .event-content { + gap: @space-md; + } + } +} diff --git a/src/css/theme/components/footer.less b/src/css/theme/components/footer.less new file mode 100644 index 0000000..7e91461 --- /dev/null +++ b/src/css/theme/components/footer.less @@ -0,0 +1,14 @@ +footer { + padding: 20px 0; + color: @secondary; + + a { + color: @secondary; + } + + .wave { + height: 54px; + background-repeat: repeat-x; + background-image: url("../css/theme/components/img/wave_footer_top.png"); + } +} diff --git a/src/css/theme/components/forms.less b/src/css/theme/components/forms.less new file mode 100644 index 0000000..614275f --- /dev/null +++ b/src/css/theme/components/forms.less @@ -0,0 +1,46 @@ +form { + input, + textarea { + border: 1px solid @secondary; + background: #fff; + color: @on-background; + padding: @space-md; + width: 100%; + max-width: 100%; + border-radius: @space-sm; + transition: all 0.2s ease-in-out; + + &[readonly] { + opacity: 0.5; + } + } + + textarea { + height: 200px; + } + + button { + background: @primary; + color: @on-primary; + padding: @space-md @space-lg; + border: 1px solid @primary; + border-radius: @space-sm; + transition: all 0.2s ease-in-out; + cursor: pointer; + + &:hover { + border: 1px solid #fff; + box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.5); + } + + &[disabled] { + opacity: 0.5; + } + } + + .error { + background: @error; + color: @on-error; + padding: @space-md; + } +} diff --git a/src/css/theme/components/general.less b/src/css/theme/components/general.less new file mode 100755 index 0000000..1a12937 --- /dev/null +++ b/src/css/theme/components/general.less @@ -0,0 +1,16 @@ +html, +body { + background: @background; + color: @on-background; + font-size: @font-size-default; + font-weight: @font-weight-default; + font-family: "Nunito", sans-serif; + width: 100%; + height: 100%; +} + +img { + &.rounded { + border-radius: @radius-half; + } +} diff --git a/src/css/theme/components/grid.less b/src/css/theme/components/grid.less new file mode 100755 index 0000000..f34424e --- /dev/null +++ b/src/css/theme/components/grid.less @@ -0,0 +1,188 @@ +// Settings + +@container_width: 1200px; +@columns: 12; +@main_padding: 15px; + +// Grid + +.container { + margin: auto; + width: @container_width; + padding: 0 @main_padding; + + @media (max-width: 576px) { + width: 90%; + } + @media (min-width: 576px) { + width: 540px; + } + @media (min-width: 768px) { + width: 720px; + } + @media (min-width: 992px) { + width: 960px; + } + @media (min-width: 1200px) { + width: 1140px; + } + @media (min-width: 1400px) { + width: 1320px; + } +} + +// Mixins + +.order(@val) { + order: @val; + -moz-order: @val; + -webkit-order: @val; +} + +// Row / Col + +.row { + display: flex; + display: -webkit-flex; + flex-wrap: wrap; + margin: 0px -@main_padding; + &.centerrow { + each(range(@columns), { + .col-@{value}, .col-xs-@{value}, .col-sm-@{value}, .col-md-@{value}, .col-lg-@{value} { + align-items: center; + justify-content: center; + } + }); + } + &.fullwidth { + margin: 0px; + } + .col { + flex: none; + padding: 0px @main_padding; + width: 100%; + + .right { + text-align: right; + justify-content: flex-end; + } + } +} + +each(range(@columns), { + .col-@{value}, .col-xs-@{value}, .col-sm-@{value}, .col-md-@{value}, .col-lg-@{value} { + flex:none; + position:relative; + min-height:1px; + padding:0px @main_padding; + width:100%; + display:flex; + display:-webkit-flex; + flex-direction: column; + flex-wrap:wrap; + + &.right { + display: flex; + justify-content: flex-end; + + & > * { + margin-left: auto; + } + } + } + .order-@{value} { + .order(@value); + } +}); + +// Set Column Width on breakpoints +.loop (@val) { + each(range(@columns), { + .col-@{val}-@{value} { + width: (100% / @columns * @value); + } + .order-@{val}-@{value} { + .order(@value); + } + }); +} + +.col-0 { + display: none; +} +each(range(@columns), { + .col-@{value} { + width: (100% / @columns * @value); + } + .order-@{value} { + .order(@value); + } +}); + +@media screen and (min-width: 500px) { + .row .col { + width: 50%; + flex: none; + } + .row .col-xs-0 { + display: none; + } + .loop(xs); +} + +@media screen and (min-width: 768px) { + .row .col { + width: 33.3333333%; + flex: none; + } + .row .col-sm-0 { + display: none; + } + .loop(sm); +} + +@media screen and (min-width: 1050px) { + .row .col-md-0 { + display: none; + } + .loop(md); +} + +@media screen and (min-width: 1250px) { + .row .col { + flex: 1; + width: auto; + } + .row .col-lg-0 { + display: none; + } + .loop(lg); +} + +// Hidden + +@media screen and (max-width: 576px) { + .hidden-xs { + display: none !important; + } +} +@media screen and (max-width: 768px) { + .hidden-sm { + display: none !important; + } +} +@media screen and (max-width: 992px) { + .hidden-md { + display: none !important; + } +} +@media screen and (max-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +@media screen and (max-width: 1400px) { + .hidden-xl { + display: none !important; + } +} diff --git a/src/css/theme/components/header.less b/src/css/theme/components/header.less new file mode 100755 index 0000000..007ddb9 --- /dev/null +++ b/src/css/theme/components/header.less @@ -0,0 +1,127 @@ +header { + position: fixed; + width: 100%; + top: 0; + left: 0; + right: 0; + z-index: 1000; + transition: all 1s ease-in-out; + + .brand { + margin-top: -@space-md; + + @media (max-width: 992px) { + display: block; + height: 100px; + margin: @space-md 0; + } + + @media (max-width: 768px) { + display: block; + height: 60px; + margin: @space-md 0; + } + + img { + width: auto; + height: 100%; + } + } + + .service-bar { + background-color: @primary; + color: @on-primary; + border-bottom-left-radius: @radius-default; + border-bottom-right-radius: @radius-default; + height: 29px; + line-height: 29px; + padding: 0 20px; + + @media (max-width: 992px) { + display: none; + } + } + + nav { + ul { + padding: 0 20px; + margin-top: 50px; + list-style: none; + transition: all 1s ease-in-out; + + li { + a { + font-size: 20px; + color: #fff; + font-weight: 700; + text-decoration: none; + + &:hover { + color: @primary; + text-decoration: none; + } + + &.active { + color: @primary; + } + } + } + } + + &.show { + display: block; + } + } + + &.scroll { + background: rgba(0, 0, 0, 0.7); + padding-bottom: @space-lg; + + @media (max-width: 992px) { + padding-bottom: 0; + } + } + + @media (max-width: 992px) { + background: rgba(0, 0, 0, 0.7); + } +} + +.top-article { + .wave-bottom { + height: 200px; + margin-top: -33px; + background-image: url("../css/theme/components/img/wave_header_bottom.png"); + background-repeat: repeat-x; + } + + & > .articles { + z-index: 1; + margin-right: 120px; + margin-left: 120px; + display: flex; + justify-content: space-around; + align-items: stretch; + gap: @space-lg; + margin-top: -80px; + margin-bottom: -120px; + + article { + width: 33%; + } + + @media (max-width: 1200px) { + flex-direction: column; + margin-right: @space-xl; + margin-left: @space-xl; + + article { + width: 100%; + } + } + } + + *[class^="col"] { + margin-top: @space-md; + } +} diff --git a/src/css/theme/components/img/arrow-right-3.png b/src/css/theme/components/img/arrow-right-3.png new file mode 100644 index 0000000..2ac9aec Binary files /dev/null and b/src/css/theme/components/img/arrow-right-3.png differ diff --git a/src/css/theme/components/img/wave_footer_top.png b/src/css/theme/components/img/wave_footer_top.png new file mode 100644 index 0000000..51aa439 Binary files /dev/null and b/src/css/theme/components/img/wave_footer_top.png differ diff --git a/src/css/theme/components/img/wave_header_bottom.png b/src/css/theme/components/img/wave_header_bottom.png new file mode 100644 index 0000000..f288bff Binary files /dev/null and b/src/css/theme/components/img/wave_header_bottom.png differ diff --git a/src/css/theme/components/img/wave_header_top.png b/src/css/theme/components/img/wave_header_top.png new file mode 100644 index 0000000..e48a459 Binary files /dev/null and b/src/css/theme/components/img/wave_header_top.png differ diff --git a/src/css/theme/components/layout.less b/src/css/theme/components/layout.less new file mode 100755 index 0000000..7a6cfb1 --- /dev/null +++ b/src/css/theme/components/layout.less @@ -0,0 +1,287 @@ +@space-xs: 0.25rem; +@space-sm: 0.5rem; +@space-md: 1rem; +@space-lg: 2rem; +@space-xl: 3rem; + +.layout { + display: flex; + flex-direction: row; + + &.layout-nowrap { + white-space: nowrap; + } + + &.layout-action { + cursor: pointer; + } + + & > *:not([type="checkbox"]):not([type="radio"]) { + max-width: 100%; + } + + &.layout-gap-xs { + gap: @space-xs; + } + + &.layout-gap-sm { + gap: @space-sm; + } + + &.layout-gap-md { + gap: @space-md; + } + + &.layout-gap-lg { + gap: @space-lg; + } + + &.layout-gap-xl { + gap: @space-xl; + } + + &.layout-vertical { + flex-direction: column; + } + + &.layout-stretch { + flex-grow: 1; + } + + &.layout-wrap { + flex-wrap: wrap; + + & > .layout { + flex-grow: 1; + } + } + + &.justify-content-start { + justify-content: start; + } + + &.justify-content-center { + justify-content: center; + } + + &.justify-content-space-between { + justify-content: space-between; + } + + &.justify-content-space-around { + justify-content: space-around; + } + + &.justify-content-end { + justify-content: end; + } + + &.align-items-start { + align-items: start; + } + + &.align-items-center { + align-items: center; + } + + &.align-items-end { + align-items: end; + } + + &.align-items-stretch { + align-items: stretch; + } + + &.align-self-start { + align-self: start; + + @media (max-width: 768px) { + &:not(.layout-nowrap) { + flex-direction: column; + } + } + } + + &.align-self-center { + align-self: center; + } + + &.align-self-end { + align-self: end; + } + + &.align-self-stretch { + align-self: stretch; + } + + .layout-scrollable { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow-y: auto; + } +} + +.p-xs { + padding: @space-xs; +} +.p-sm { + padding: @space-sm; +} +.p-md { + padding: @space-md; +} +.p-lg { + padding: @space-lg; +} +.p-xl { + padding: @space-xl; +} + +.pt-xs { + padding-top: @space-xs; +} +.pr-xs { + padding-right: @space-xs; +} +.pb-xs { + padding-bottom: @space-xs; +} +.pl-xs { + padding-left: @space-xs; +} + +.pt-sm { + padding-top: @space-sm; +} +.pr-sm { + padding-right: @space-sm; +} +.pb-sm { + padding-bottom: @space-sm; +} +.pl-sm { + padding-left: @space-sm; +} + +.pt-md { + padding-top: @space-md; +} +.pr-md { + padding-right: @space-md; +} +.pb-md { + padding-bottom: @space-md; +} +.pl-md { + padding-left: @space-md; +} + +.pt-lg { + padding-top: @space-lg; +} +.pr-lg { + padding-right: @space-lg; +} +.pb-lg { + padding-bottom: @space-lg; +} +.pl-lg { + padding-left: @space-lg; +} + +.pt-xl { + padding-top: @space-xl; +} +.pr-xl { + padding-right: @space-xl; +} +.pb-xl { + padding-bottom: @space-xl; +} +.pl-xl { + padding-left: @space-xl; +} + +.m-xs { + margin: @space-xs; +} +.m-sm { + margin: @space-sm; +} +.m-md { + margin: @space-md; +} +.m-lg { + margin: @space-lg; +} +.m-xl { + margin: @space-xl; +} + +.mt-xs { + margin-top: @space-xs; +} +.mr-xs { + margin-right: @space-xs; +} +.mb-xs { + margin-bottom: @space-xs; +} +.ml-xs { + margin-left: @space-xs; +} + +.mt-sm { + margin-top: @space-sm; +} +.mr-sm { + margin-right: @space-sm; +} +.mb-sm { + margin-bottom: @space-sm; +} +.ml-sm { + margin-left: @space-sm; +} + +.mt-md { + margin-top: @space-md; +} +.mr-md { + margin-right: @space-md; +} +.mb-md { + margin-bottom: @space-md; +} +.ml-md { + margin-left: @space-md; +} + +.mt-lg { + margin-top: @space-lg; +} +.mr-lg { + margin-right: @space-lg; +} +.mb-lg { + margin-bottom: @space-lg; +} +.ml-lg { + margin-left: @space-lg; +} + +.mt-xl { + margin-top: @space-xl; +} +.mr-xl { + margin-right: @space-xl; +} +.mb-xl { + margin-bottom: @space-xl; +} +.ml-xl { + margin-left: @space-xl; +} diff --git a/src/css/theme/components/navigation.less b/src/css/theme/components/navigation.less new file mode 100644 index 0000000..8ac5650 --- /dev/null +++ b/src/css/theme/components/navigation.less @@ -0,0 +1,30 @@ +nav { + @media (max-width: 992px) { + display: none; + } + + &.mobile { + display: none; + } + + ul { + li { + @media (max-width: 768px) { + display: block; + width: 100%; + } + } + } +} + +.navToggle { + display: none; + cursor: pointer; + width: 32px; + height: 32px; + align-self: center; + + @media (max-width: 992px) { + display: block; + } +} diff --git a/src/css/theme/components/sidebar.less b/src/css/theme/components/sidebar.less new file mode 100644 index 0000000..4908a1d --- /dev/null +++ b/src/css/theme/components/sidebar.less @@ -0,0 +1,42 @@ +.sidebar { + .contact-info { + color: @primary; + font-size: 18px; + font-weight: 600; + } + + .today { + padding: 5px 20px; + border-radius: 25px; + border: solid 3px #000; + font-weight: 700; + } + + .lastPageUpdate { + text-align: center; + + .lastPageUpdate-date { + font-weight: 700; + font-size: 18px; + margin-top: @space-xs; + } + } + + .visitor-counter { + h3 { + margin-bottom: @space-xs; + } + table { + width: 100% !important; + max-width: 100% !important; + display: block !important; + td { + width: 100%; + font-family: "Nunito", sans-serif; + font-size: @font-size-default; + line-height: auto; + padding: @space-xs 0; + } + } + } +} diff --git a/src/css/theme/components/typo.less b/src/css/theme/components/typo.less new file mode 100644 index 0000000..e7a1e44 --- /dev/null +++ b/src/css/theme/components/typo.less @@ -0,0 +1,46 @@ +a { + color: @on-background; + text-decoration: none; + transition: @transition-default; + + &:hover { + color: @primary; + text-decoration: underline; + } +} + +a { + color: @primary; +} + +h1, +.h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + color: @primary; + font-weight: 700; + line-height: 1.2; +} + +h1, +.h1 { + font-size: 32px; +} + +h2, +.h2 { + font-size: 24px; +} + +h3, +.h3 { + font-size: 24px; +} diff --git a/src/css/theme/fonts.less b/src/css/theme/fonts.less new file mode 100755 index 0000000..0176bc3 --- /dev/null +++ b/src/css/theme/fonts.less @@ -0,0 +1,52 @@ +// Font - NUNITO + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 300; + src: url("../fonts/nunito/nunito-v22-latin-300.woff2") format("woff2"); +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: url("../fonts/nunito/nunito-v22-latin-regular.woff2") format("woff2"); +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 600; + src: url("../fonts/nunito/nunito-v22-latin-600.woff2") format("woff2"); +} + +@font-face { + font-family: "Nunito"; + font-style: italic; + font-weight: 700; + src: url("../fonts/nunito/nunito-v22-latin-700italic.woff2") format("woff2"); +} + +// Font - CAVEAT + +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 400; + src: url("../fonts/caveat/caveat-v14-latin-regular.woff2") format("woff2"); +} + +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 600; + src: url("../fonts/caveat/caveat-v14-latin-600.woff2") format("woff2"); +} + +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 700; + src: url("../fonts/caveat/caveat-v14-latin-700.woff2") format("woff2"); +} diff --git a/src/css/theme/main.less b/src/css/theme/main.less new file mode 100644 index 0000000..3ec2756 --- /dev/null +++ b/src/css/theme/main.less @@ -0,0 +1,46 @@ +// Variables + +@background: #f1ebe4; +@on-background: #352a1c; + +@primary: #c4253e; +@on-primary: #fff; + +@secondary: #bda082; +@on-secondary: #fff; + +@surface: #fff; +@on-surface: #352a1c; + +@error: @primary; +@on-error: #fff; + +@font-size-default: 14px; +@font-weight-default: 400; + +@radius-default: 25px; +@radius-half: 12px; + +@transition-default: all 0.2s ease-in-out; + +// CSS Definitions + +@import "fonts"; +@import "reset"; + +@import "components/general"; +@import "components/typo"; +@import "components/layout"; +@import "components/grid"; +@import "components/content"; +@import "components/sidebar"; +@import "components/article"; +@import "components/event"; +@import "components/header"; +@import "components/footer"; +@import "components/carousel"; +@import "components/navigation"; +@import "components/appointment"; +@import "components/cc-bar"; +@import "components/audio"; +@import "components/forms"; diff --git a/src/css/theme/reset.less b/src/css/theme/reset.less new file mode 100644 index 0000000..23a118c --- /dev/null +++ b/src/css/theme/reset.less @@ -0,0 +1,77 @@ +* { + position: relative; +} + +/* Box sizing rules */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/* Remove default margin */ +body, +h1, +h2, +h3, +h4, +p, +figure, +blockquote, +dl, +dd { + margin: 0; +} + +/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */ +ul[role="list"], +ol[role="list"] { + list-style: none; +} + +/* Set core root defaults */ +html:focus-within { + scroll-behavior: smooth; +} + +/* Set core body defaults */ +body { + min-height: 100vh; + text-rendering: optimizeSpeed; + line-height: 1.5; +} + +/* A elements that don't have a class get default styles */ +a:not([class]) { + text-decoration-skip-ink: auto; +} + +/* Make images easier to work with */ +img, +picture { + max-width: 100%; + display: block; +} + +/* Inherit fonts for inputs and buttons */ +input, +button, +textarea, +select { + font: inherit; +} + +/* Remove all animations and transitions for people that prefer not to see them */ +@media (prefers-reduced-motion: reduce) { + html:focus-within { + scroll-behavior: auto; + } + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} diff --git a/src/fonts/caveat/caveat-v14-latin-600.eot b/src/fonts/caveat/caveat-v14-latin-600.eot new file mode 100644 index 0000000..2904164 Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-600.eot differ diff --git a/src/fonts/caveat/caveat-v14-latin-600.svg b/src/fonts/caveat/caveat-v14-latin-600.svg new file mode 100644 index 0000000..a5d8000 --- /dev/null +++ b/src/fonts/caveat/caveat-v14-latin-600.svg @@ -0,0 +1,794 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/caveat/caveat-v14-latin-600.ttf b/src/fonts/caveat/caveat-v14-latin-600.ttf new file mode 100644 index 0000000..722b5e7 Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-600.ttf differ diff --git a/src/fonts/caveat/caveat-v14-latin-600.woff b/src/fonts/caveat/caveat-v14-latin-600.woff new file mode 100644 index 0000000..305f91f Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-600.woff differ diff --git a/src/fonts/caveat/caveat-v14-latin-600.woff2 b/src/fonts/caveat/caveat-v14-latin-600.woff2 new file mode 100644 index 0000000..481d41c Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-600.woff2 differ diff --git a/src/fonts/caveat/caveat-v14-latin-700.eot b/src/fonts/caveat/caveat-v14-latin-700.eot new file mode 100644 index 0000000..43cb75f Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-700.eot differ diff --git a/src/fonts/caveat/caveat-v14-latin-700.svg b/src/fonts/caveat/caveat-v14-latin-700.svg new file mode 100644 index 0000000..4daa600 --- /dev/null +++ b/src/fonts/caveat/caveat-v14-latin-700.svg @@ -0,0 +1,791 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/caveat/caveat-v14-latin-700.ttf b/src/fonts/caveat/caveat-v14-latin-700.ttf new file mode 100644 index 0000000..93de838 Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-700.ttf differ diff --git a/src/fonts/caveat/caveat-v14-latin-700.woff b/src/fonts/caveat/caveat-v14-latin-700.woff new file mode 100644 index 0000000..a374352 Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-700.woff differ diff --git a/src/fonts/caveat/caveat-v14-latin-700.woff2 b/src/fonts/caveat/caveat-v14-latin-700.woff2 new file mode 100644 index 0000000..2fb8268 Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-700.woff2 differ diff --git a/src/fonts/caveat/caveat-v14-latin-regular.eot b/src/fonts/caveat/caveat-v14-latin-regular.eot new file mode 100644 index 0000000..8c1f9dc Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-regular.eot differ diff --git a/src/fonts/caveat/caveat-v14-latin-regular.svg b/src/fonts/caveat/caveat-v14-latin-regular.svg new file mode 100644 index 0000000..2a78c6f --- /dev/null +++ b/src/fonts/caveat/caveat-v14-latin-regular.svg @@ -0,0 +1,793 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/caveat/caveat-v14-latin-regular.ttf b/src/fonts/caveat/caveat-v14-latin-regular.ttf new file mode 100644 index 0000000..cd63b3c Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-regular.ttf differ diff --git a/src/fonts/caveat/caveat-v14-latin-regular.woff b/src/fonts/caveat/caveat-v14-latin-regular.woff new file mode 100644 index 0000000..349399f Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-regular.woff differ diff --git a/src/fonts/caveat/caveat-v14-latin-regular.woff2 b/src/fonts/caveat/caveat-v14-latin-regular.woff2 new file mode 100644 index 0000000..f30152c Binary files /dev/null and b/src/fonts/caveat/caveat-v14-latin-regular.woff2 differ diff --git a/src/fonts/nunito/nunito-v22-latin-300.eot b/src/fonts/nunito/nunito-v22-latin-300.eot new file mode 100755 index 0000000..2e16ccc Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-300.eot differ diff --git a/src/fonts/nunito/nunito-v22-latin-300.svg b/src/fonts/nunito/nunito-v22-latin-300.svg new file mode 100755 index 0000000..b475681 --- /dev/null +++ b/src/fonts/nunito/nunito-v22-latin-300.svg @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/nunito/nunito-v22-latin-300.ttf b/src/fonts/nunito/nunito-v22-latin-300.ttf new file mode 100755 index 0000000..77e9fc3 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-300.ttf differ diff --git a/src/fonts/nunito/nunito-v22-latin-300.woff b/src/fonts/nunito/nunito-v22-latin-300.woff new file mode 100755 index 0000000..ff9661c Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-300.woff differ diff --git a/src/fonts/nunito/nunito-v22-latin-300.woff2 b/src/fonts/nunito/nunito-v22-latin-300.woff2 new file mode 100755 index 0000000..7baaf48 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-300.woff2 differ diff --git a/src/fonts/nunito/nunito-v22-latin-600.eot b/src/fonts/nunito/nunito-v22-latin-600.eot new file mode 100755 index 0000000..a918138 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-600.eot differ diff --git a/src/fonts/nunito/nunito-v22-latin-600.svg b/src/fonts/nunito/nunito-v22-latin-600.svg new file mode 100755 index 0000000..9b5274d --- /dev/null +++ b/src/fonts/nunito/nunito-v22-latin-600.svg @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/nunito/nunito-v22-latin-600.ttf b/src/fonts/nunito/nunito-v22-latin-600.ttf new file mode 100755 index 0000000..a7450c2 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-600.ttf differ diff --git a/src/fonts/nunito/nunito-v22-latin-600.woff b/src/fonts/nunito/nunito-v22-latin-600.woff new file mode 100755 index 0000000..126bb02 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-600.woff differ diff --git a/src/fonts/nunito/nunito-v22-latin-600.woff2 b/src/fonts/nunito/nunito-v22-latin-600.woff2 new file mode 100755 index 0000000..3b7d540 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-600.woff2 differ diff --git a/src/fonts/nunito/nunito-v22-latin-700italic.eot b/src/fonts/nunito/nunito-v22-latin-700italic.eot new file mode 100755 index 0000000..574f63c Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-700italic.eot differ diff --git a/src/fonts/nunito/nunito-v22-latin-700italic.svg b/src/fonts/nunito/nunito-v22-latin-700italic.svg new file mode 100755 index 0000000..bd4a282 --- /dev/null +++ b/src/fonts/nunito/nunito-v22-latin-700italic.svg @@ -0,0 +1,426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/nunito/nunito-v22-latin-700italic.ttf b/src/fonts/nunito/nunito-v22-latin-700italic.ttf new file mode 100755 index 0000000..d8f6e12 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-700italic.ttf differ diff --git a/src/fonts/nunito/nunito-v22-latin-700italic.woff b/src/fonts/nunito/nunito-v22-latin-700italic.woff new file mode 100755 index 0000000..7b5dc72 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-700italic.woff differ diff --git a/src/fonts/nunito/nunito-v22-latin-700italic.woff2 b/src/fonts/nunito/nunito-v22-latin-700italic.woff2 new file mode 100755 index 0000000..e23f0aa Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-700italic.woff2 differ diff --git a/src/fonts/nunito/nunito-v22-latin-regular.eot b/src/fonts/nunito/nunito-v22-latin-regular.eot new file mode 100755 index 0000000..9194b49 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-regular.eot differ diff --git a/src/fonts/nunito/nunito-v22-latin-regular.svg b/src/fonts/nunito/nunito-v22-latin-regular.svg new file mode 100755 index 0000000..442a61b --- /dev/null +++ b/src/fonts/nunito/nunito-v22-latin-regular.svg @@ -0,0 +1,410 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fonts/nunito/nunito-v22-latin-regular.ttf b/src/fonts/nunito/nunito-v22-latin-regular.ttf new file mode 100755 index 0000000..e4c8edc Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-regular.ttf differ diff --git a/src/fonts/nunito/nunito-v22-latin-regular.woff b/src/fonts/nunito/nunito-v22-latin-regular.woff new file mode 100755 index 0000000..964a308 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-regular.woff differ diff --git a/src/fonts/nunito/nunito-v22-latin-regular.woff2 b/src/fonts/nunito/nunito-v22-latin-regular.woff2 new file mode 100755 index 0000000..b089f27 Binary files /dev/null and b/src/fonts/nunito/nunito-v22-latin-regular.woff2 differ