mirror of
https://github.com/theoludwig/theoludwig.git
synced 2025-05-29 22:37:44 +02:00
refactor: usage of Tailwind CSS (WIP)
This commit is contained in:
@ -1,12 +0,0 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"next/babel",
|
||||
{
|
||||
"styled-jsx": {
|
||||
"plugins": ["@styled-jsx/plugin-sass"]
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
4
.vscode/extensions.json
vendored
4
.vscode/extensions.json
vendored
@ -2,11 +2,11 @@
|
||||
"recommendations": [
|
||||
"divlo.vscode-styled-jsx-syntax",
|
||||
"divlo.vscode-styled-jsx-languageserver",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"standard.vscode-standard",
|
||||
"mikestead.dotenv",
|
||||
"editorconfig.editorconfig",
|
||||
"coenraads.bracket-pair-colorizer",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"syler.sass-indented"
|
||||
"davidanson.vscode-markdownlint"
|
||||
]
|
||||
}
|
||||
|
@ -1,4 +1,8 @@
|
||||
import { useTheme } from 'next-themes'
|
||||
|
||||
export const Arrow: React.FC = () => {
|
||||
const { theme } = useTheme()
|
||||
|
||||
return (
|
||||
<svg
|
||||
width='12'
|
||||
@ -9,7 +13,7 @@ export const Arrow: React.FC = () => {
|
||||
>
|
||||
<path
|
||||
d='M9.8024 0.292969L5.61855 4.58597L1.43469 0.292969L0.0566406 1.70697L5.61855 7.41397L11.1805 1.70697L9.8024 0.292969Z'
|
||||
fill='#fff'
|
||||
fill={theme === 'dark' ? '#fff' : '#181818'}
|
||||
/>
|
||||
</svg>
|
||||
)
|
||||
|
117
components/Header/SwitchTheme.tsx
Normal file
117
components/Header/SwitchTheme.tsx
Normal file
@ -0,0 +1,117 @@
|
||||
import { useTheme } from 'next-themes'
|
||||
|
||||
export const SwitchTheme: React.FC = () => {
|
||||
const { theme, setTheme } = useTheme()
|
||||
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
className='toggle-button'
|
||||
onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}
|
||||
>
|
||||
<div className='toggle-theme-button'>
|
||||
<div className='toggle-track'>
|
||||
<div className='toggle-track-check'>
|
||||
<span className='toggle_Dark'>🌜</span>
|
||||
</div>
|
||||
<div className='toggle-track-x'>
|
||||
<span className='toggle_Light'>🌞</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className='toggle-thumb' />
|
||||
<input
|
||||
type='checkbox'
|
||||
aria-label='Dark mode toggle'
|
||||
className='toggle-screenreader-only'
|
||||
defaultChecked
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style jsx>
|
||||
{`
|
||||
.toggle-button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.toggle-theme-button {
|
||||
touch-action: pan-x;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
user-select: none;
|
||||
}
|
||||
.toggle-track {
|
||||
width: 50px;
|
||||
height: 24px;
|
||||
padding: 0;
|
||||
border-radius: 30px;
|
||||
background-color: #4d4d4d;
|
||||
transition: all 0.2s ease;
|
||||
color: #fff;
|
||||
}
|
||||
.toggle-track-check {
|
||||
position: absolute;
|
||||
width: 14px;
|
||||
height: 10px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
margin-top: auto;
|
||||
margin-bottom: auto;
|
||||
line-height: 0;
|
||||
left: 8px;
|
||||
opacity: ${theme === 'dark' ? 1 : 0};
|
||||
transition: opacity 0.25s ease;
|
||||
}
|
||||
.toggle-track-x {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
margin-top: auto;
|
||||
margin-bottom: auto;
|
||||
line-height: 0;
|
||||
right: 10px;
|
||||
opacity: ${theme === 'dark' ? 0 : 1};
|
||||
}
|
||||
.toggle_Dark,
|
||||
.toggle_Light {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
height: 10px;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
width: 10px;
|
||||
}
|
||||
.toggle-thumb {
|
||||
position: absolute;
|
||||
left: ${theme === 'dark' ? '27px' : '0px'};
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border: 1px solid #4d4d4d;
|
||||
border-radius: 50%;
|
||||
background-color: #fafafa;
|
||||
box-sizing: border-box;
|
||||
transition: all 0.25s ease;
|
||||
top: 1px;
|
||||
color: #fff;
|
||||
}
|
||||
.toggle-screenreader-only {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
`}
|
||||
</style>
|
||||
</>
|
||||
)
|
||||
}
|
@ -2,6 +2,7 @@ import Link from 'next/link'
|
||||
import Image from 'next/image'
|
||||
|
||||
import { Language } from './Language'
|
||||
import { SwitchTheme } from './SwitchTheme'
|
||||
|
||||
export const Header: React.FC = () => {
|
||||
return (
|
||||
@ -24,6 +25,7 @@ export const Header: React.FC = () => {
|
||||
</Link>
|
||||
<div className='navbar__buttons'>
|
||||
<Language />
|
||||
<SwitchTheme />
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
3481
package-lock.json
generated
3481
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -48,10 +48,9 @@
|
||||
"html-react-parser": "1.2.6",
|
||||
"next": "10.1.3",
|
||||
"next-pwa": "5.2.15",
|
||||
"next-themes": "0.0.14",
|
||||
"next-translate": "1.0.6",
|
||||
"nodemailer": "6.5.0",
|
||||
"normalize.css": "8.0.1",
|
||||
"nprogress": "0.2.0",
|
||||
"react": "17.0.2",
|
||||
"react-component-form": "1.3.0",
|
||||
"react-dom": "17.0.2",
|
||||
@ -61,9 +60,7 @@
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "12.1.1",
|
||||
"@commitlint/config-conventional": "12.1.1",
|
||||
"@fullhuman/postcss-purgecss": "4.0.3",
|
||||
"@lhci/cli": "0.7.1",
|
||||
"@styled-jsx/plugin-sass": "3.0.0",
|
||||
"@testing-library/jest-dom": "5.12.0",
|
||||
"@testing-library/react": "11.2.6",
|
||||
"@types/jest": "26.0.23",
|
||||
@ -73,6 +70,7 @@
|
||||
"@types/react": "17.0.4",
|
||||
"@types/styled-jsx": "2.2.8",
|
||||
"@types/validator": "13.1.3",
|
||||
"autoprefixer": "10.2.5",
|
||||
"babel-jest": "26.6.3",
|
||||
"dockerfilelint": "1.8.0",
|
||||
"editorconfig-checker": "4.0.2",
|
||||
@ -81,8 +79,8 @@
|
||||
"markdownlint-cli": "0.27.1",
|
||||
"node-mocks-http": "1.10.1",
|
||||
"postcss": "8.2.13",
|
||||
"sass": "1.32.11",
|
||||
"semantic-release": "17.4.2",
|
||||
"tailwindcss": "2.1.2",
|
||||
"ts-standard": "10.0.0",
|
||||
"typescript": "4.2.4"
|
||||
}
|
||||
|
@ -1,32 +1,23 @@
|
||||
import { useEffect } from 'react'
|
||||
import { AppProps } from 'next/app'
|
||||
import Router from 'next/router'
|
||||
import NProgress from 'nprogress'
|
||||
import { ThemeProvider } from 'next-themes'
|
||||
import useTranslation from 'next-translate/useTranslation'
|
||||
import UniversalCookie from 'universal-cookie'
|
||||
|
||||
import 'normalize.css/normalize.css'
|
||||
import 'tailwindcss/tailwind.css'
|
||||
import '@fontsource/montserrat/400.css'
|
||||
import '@fontsource/montserrat/500.css'
|
||||
import '@fontsource/montserrat/600.css'
|
||||
import '@fontsource/montserrat/700.css'
|
||||
|
||||
import 'styles/grid.scss'
|
||||
import 'styles/general.scss'
|
||||
import 'styles/nprogress.scss'
|
||||
|
||||
import { Header } from 'components/Header'
|
||||
import { Footer } from 'components/Footer'
|
||||
import { useEffect } from 'react'
|
||||
|
||||
const universalCookie = new UniversalCookie()
|
||||
|
||||
/** how long in seconds, until the cookie expires (10 years) */
|
||||
const COOKIE_MAX_AGE = 10 * 365.25 * 24 * 60 * 60
|
||||
|
||||
Router.events.on('routeChangeStart', () => NProgress.start())
|
||||
Router.events.on('routeChangeComplete', () => NProgress.done())
|
||||
Router.events.on('routeChangeError', () => NProgress.done())
|
||||
|
||||
const MyApp = ({ Component, pageProps }: AppProps): JSX.Element => {
|
||||
const { lang } = useTranslation()
|
||||
|
||||
@ -38,13 +29,13 @@ const MyApp = ({ Component, pageProps }: AppProps): JSX.Element => {
|
||||
}, [lang])
|
||||
|
||||
return (
|
||||
<>
|
||||
<ThemeProvider attribute='class' defaultTheme='dark'>
|
||||
<Header />
|
||||
<main className='content container'>
|
||||
<Component {...pageProps} />
|
||||
</main>
|
||||
<Footer />
|
||||
</>
|
||||
</ThemeProvider>
|
||||
)
|
||||
}
|
||||
|
||||
|
31
pages/_document.tsx
Normal file
31
pages/_document.tsx
Normal file
@ -0,0 +1,31 @@
|
||||
import Document, {
|
||||
Html,
|
||||
Head,
|
||||
Main,
|
||||
NextScript,
|
||||
DocumentContext,
|
||||
DocumentInitialProps
|
||||
} from 'next/document'
|
||||
|
||||
class MyDocument extends Document {
|
||||
static async getInitialProps (
|
||||
ctx: DocumentContext
|
||||
): Promise<DocumentInitialProps> {
|
||||
const initialProps = await Document.getInitialProps(ctx)
|
||||
return initialProps
|
||||
}
|
||||
|
||||
render (): JSX.Element {
|
||||
return (
|
||||
<Html>
|
||||
<Head />
|
||||
<body className='dark:bg-gray-800'>
|
||||
<Main />
|
||||
<NextScript />
|
||||
</body>
|
||||
</Html>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default MyDocument
|
@ -1,15 +1,6 @@
|
||||
module.exports = {
|
||||
plugins: [
|
||||
[
|
||||
'@fullhuman/postcss-purgecss',
|
||||
{
|
||||
content: [
|
||||
'./pages/**/*.{js,jsx,ts,tsx}',
|
||||
'./components/**/*.{js,jsx,ts,tsx}'
|
||||
],
|
||||
defaultExtractor: (content) => content.match(/[\w-/:]+(?<!:)/g) || [],
|
||||
safelist: ['html', 'body']
|
||||
}
|
||||
]
|
||||
]
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
|
@ -1,95 +0,0 @@
|
||||
:root {
|
||||
--border-header-footer: 3px rgba(255, 255, 255, 0.7) solid;
|
||||
--color-primary: #ffd800;
|
||||
--color-text-1: rgb(222, 222, 222);
|
||||
--color-text-2: #b2bac2;
|
||||
--color-background: #181818;
|
||||
--color-shadow: rgba(255, 255, 255, 0.2);
|
||||
--header-height: 79px;
|
||||
}
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#__next {
|
||||
display: flex;
|
||||
flex-flow: column wrap;
|
||||
min-height: 100vh;
|
||||
padding-top: var(--header-height);
|
||||
}
|
||||
html {
|
||||
line-height: initial;
|
||||
}
|
||||
body {
|
||||
background-color: var(--color-background);
|
||||
color: var(--color-text-1);
|
||||
font-family: 'Montserrat', 'Arial', 'sans-serif';
|
||||
font-weight: 400;
|
||||
font-size: 18px;
|
||||
}
|
||||
.content {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
transition: opacity 400ms ease-out;
|
||||
}
|
||||
p {
|
||||
font-size: 18px;
|
||||
line-height: 1.9;
|
||||
}
|
||||
.color-primary {
|
||||
color: var(--color-primary);
|
||||
}
|
||||
a,
|
||||
.important {
|
||||
color: var(--color-primary);
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.row-padding {
|
||||
padding: 15px 50px 15px 50px;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center;
|
||||
word-break: break-word;
|
||||
}
|
||||
.justify-content-center {
|
||||
justify-content: center;
|
||||
}
|
||||
.align-items-center {
|
||||
align-items: center;
|
||||
}
|
||||
.d-none {
|
||||
display: none !important;
|
||||
}
|
||||
.paragraph-color {
|
||||
color: var(--color-text-2);
|
||||
}
|
||||
b,
|
||||
strong {
|
||||
font-weight: 500;
|
||||
}
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
@media (max-width: 576px) {
|
||||
.content {
|
||||
width: 100% !important;
|
||||
}
|
||||
.row-padding {
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
710
styles/grid.scss
710
styles/grid.scss
@ -1,710 +0,0 @@
|
||||
/*
|
||||
* Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
|
||||
* Edited by Divlo (col, col-sm, col-md, col-lg, col-xl) and 24 columns (no offsets)
|
||||
*/
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.container-fluid {
|
||||
width: 100%;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.container {
|
||||
max-width: 540px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 576px) {
|
||||
.container {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.container {
|
||||
max-width: 720px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.container {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
max-width: 1140px;
|
||||
}
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-right: -15px;
|
||||
margin-left: -15px;
|
||||
}
|
||||
|
||||
.col-1,
|
||||
.col-2,
|
||||
.col-3,
|
||||
.col-4,
|
||||
.col-5,
|
||||
.col-6,
|
||||
.col-7,
|
||||
.col-8,
|
||||
.col-9,
|
||||
.col-10,
|
||||
.col-11,
|
||||
.col-12,
|
||||
.col-13,
|
||||
.col-14,
|
||||
.col-15,
|
||||
.col-16,
|
||||
.col-17,
|
||||
.col-18,
|
||||
.col-19,
|
||||
.col-20,
|
||||
.col-21,
|
||||
.col-22,
|
||||
.col-23,
|
||||
.col-24,
|
||||
.col-sm-1,
|
||||
.col-sm-2,
|
||||
.col-sm-3,
|
||||
.col-sm-4,
|
||||
.col-sm-5,
|
||||
.col-sm-6,
|
||||
.col-sm-7,
|
||||
.col-sm-8,
|
||||
.col-sm-9,
|
||||
.col-sm-10,
|
||||
.col-sm-11,
|
||||
.col-sm-12,
|
||||
.col-sm-13,
|
||||
.col-sm-14,
|
||||
.col-sm-15,
|
||||
.col-sm-16,
|
||||
.col-sm-17,
|
||||
.col-sm-18,
|
||||
.col-sm-19,
|
||||
.col-sm-20,
|
||||
.col-sm-21,
|
||||
.col-sm-22,
|
||||
.col-sm-23,
|
||||
.col-sm-24,
|
||||
.col-md-1,
|
||||
.col-md-2,
|
||||
.col-md-3,
|
||||
.col-md-4,
|
||||
.col-md-5,
|
||||
.col-md-6,
|
||||
.col-md-7,
|
||||
.col-md-8,
|
||||
.col-md-9,
|
||||
.col-md-10,
|
||||
.col-md-11,
|
||||
.col-md-12,
|
||||
.col-md-13,
|
||||
.col-md-14,
|
||||
.col-md-15,
|
||||
.col-md-16,
|
||||
.col-md-17,
|
||||
.col-md-18,
|
||||
.col-md-19,
|
||||
.col-md-20,
|
||||
.col-md-21,
|
||||
.col-md-22,
|
||||
.col-md-23,
|
||||
.col-md-24,
|
||||
.col-lg-1,
|
||||
.col-lg-2,
|
||||
.col-lg-3,
|
||||
.col-lg-4,
|
||||
.col-lg-5,
|
||||
.col-lg-6,
|
||||
.col-lg-7,
|
||||
.col-lg-8,
|
||||
.col-lg-9,
|
||||
.col-lg-10,
|
||||
.col-lg-11,
|
||||
.col-lg-12,
|
||||
.col-lg-13,
|
||||
.col-lg-14,
|
||||
.col-lg-15,
|
||||
.col-lg-16,
|
||||
.col-lg-17,
|
||||
.col-lg-18,
|
||||
.col-lg-19,
|
||||
.col-lg-20,
|
||||
.col-lg-21,
|
||||
.col-lg-22,
|
||||
.col-lg-23,
|
||||
.col-lg-24,
|
||||
.col-xl-1,
|
||||
.col-xl-2,
|
||||
.col-xl-3,
|
||||
.col-xl-4,
|
||||
.col-xl-5,
|
||||
.col-xl-6,
|
||||
.col-xl-7,
|
||||
.col-xl-8,
|
||||
.col-xl-9,
|
||||
.col-xl-10,
|
||||
.col-xl-11,
|
||||
.col-xl-12,
|
||||
.col-xl-13,
|
||||
.col-xl-14,
|
||||
.col-xl-15,
|
||||
.col-xl-16,
|
||||
.col-xl-17,
|
||||
.col-xl-18,
|
||||
.col-xl-19,
|
||||
.col-xl-20,
|
||||
.col-xl-21,
|
||||
.col-xl-22,
|
||||
.col-xl-23,
|
||||
.col-xl-24 {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
/* col- */
|
||||
.col-1 {
|
||||
flex: 0 0 4.16667%;
|
||||
max-width: 4.16667%;
|
||||
}
|
||||
|
||||
.col-2 {
|
||||
flex: 0 0 8.33333%;
|
||||
max-width: 8.33333%;
|
||||
}
|
||||
|
||||
.col-3 {
|
||||
flex: 0 0 12.5%;
|
||||
max-width: 12.5%;
|
||||
}
|
||||
|
||||
.col-4 {
|
||||
flex: 0 0 16.66667%;
|
||||
max-width: 16.66667%;
|
||||
}
|
||||
|
||||
.col-5 {
|
||||
flex: 0 0 20.83333%;
|
||||
max-width: 20.83333%;
|
||||
}
|
||||
|
||||
.col-6 {
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
|
||||
.col-7 {
|
||||
flex: 0 0 29.16667%;
|
||||
max-width: 29.16667%;
|
||||
}
|
||||
|
||||
.col-8 {
|
||||
flex: 0 0 33.33333%;
|
||||
max-width: 33.33333%;
|
||||
}
|
||||
|
||||
.col-9 {
|
||||
flex: 0 0 37.5%;
|
||||
max-width: 37.5%;
|
||||
}
|
||||
|
||||
.col-10 {
|
||||
flex: 0 0 41.66667%;
|
||||
max-width: 41.66667%;
|
||||
}
|
||||
|
||||
.col-11 {
|
||||
flex: 0 0 45.83333%;
|
||||
max-width: 45.83333%;
|
||||
}
|
||||
|
||||
.col-12 {
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.col-13 {
|
||||
flex: 0 0 54.16667%;
|
||||
max-width: 54.16667%;
|
||||
}
|
||||
|
||||
.col-14 {
|
||||
flex: 0 0 58.33333%;
|
||||
max-width: 58.33333%;
|
||||
}
|
||||
|
||||
.col-15 {
|
||||
flex: 0 0 62.5%;
|
||||
max-width: 62.5%;
|
||||
}
|
||||
|
||||
.col-16 {
|
||||
flex: 0 0 66.66667%;
|
||||
max-width: 66.66667%;
|
||||
}
|
||||
|
||||
.col-17 {
|
||||
flex: 0 0 70.83333%;
|
||||
max-width: 70.83333%;
|
||||
}
|
||||
|
||||
.col-18 {
|
||||
flex: 0 0 75%;
|
||||
max-width: 75%;
|
||||
}
|
||||
|
||||
.col-19 {
|
||||
flex: 0 0 79.16667%;
|
||||
max-width: 79.16667%;
|
||||
}
|
||||
|
||||
.col-20 {
|
||||
flex: 0 0 83.33333%;
|
||||
max-width: 83.33333%;
|
||||
}
|
||||
|
||||
.col-21 {
|
||||
flex: 0 0 87.5%;
|
||||
max-width: 87.5%;
|
||||
}
|
||||
|
||||
.col-22 {
|
||||
flex: 0 0 91.66667%;
|
||||
max-width: 91.66667%;
|
||||
}
|
||||
|
||||
.col-23 {
|
||||
flex: 0 0 95.83333%;
|
||||
max-width: 95.83333%;
|
||||
}
|
||||
|
||||
.col-24 {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* col-sm */
|
||||
@media (min-width: 576px) {
|
||||
.col-sm-1 {
|
||||
flex: 0 0 4.16667%;
|
||||
max-width: 4.16667%;
|
||||
}
|
||||
.col-sm-2 {
|
||||
flex: 0 0 8.33333%;
|
||||
max-width: 8.33333%;
|
||||
}
|
||||
.col-sm-3 {
|
||||
flex: 0 0 12.5%;
|
||||
max-width: 12.5%;
|
||||
}
|
||||
.col-sm-4 {
|
||||
flex: 0 0 16.66667%;
|
||||
max-width: 16.66667%;
|
||||
}
|
||||
.col-sm-5 {
|
||||
flex: 0 0 20.83333%;
|
||||
max-width: 20.83333%;
|
||||
}
|
||||
.col-sm-6 {
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.col-sm-7 {
|
||||
flex: 0 0 29.16667%;
|
||||
max-width: 29.16667%;
|
||||
}
|
||||
.col-sm-8 {
|
||||
flex: 0 0 33.33333%;
|
||||
max-width: 33.33333%;
|
||||
}
|
||||
.col-sm-9 {
|
||||
flex: 0 0 37.5%;
|
||||
max-width: 37.5%;
|
||||
}
|
||||
.col-sm-10 {
|
||||
flex: 0 0 41.66667%;
|
||||
max-width: 41.66667%;
|
||||
}
|
||||
.col-sm-11 {
|
||||
flex: 0 0 45.83333%;
|
||||
max-width: 45.83333%;
|
||||
}
|
||||
.col-sm-12 {
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.col-sm-13 {
|
||||
flex: 0 0 54.16667%;
|
||||
max-width: 54.16667%;
|
||||
}
|
||||
.col-sm-14 {
|
||||
flex: 0 0 58.33333%;
|
||||
max-width: 58.33333%;
|
||||
}
|
||||
.col-sm-15 {
|
||||
flex: 0 0 62.5%;
|
||||
max-width: 62.5%;
|
||||
}
|
||||
.col-sm-16 {
|
||||
flex: 0 0 66.66667%;
|
||||
max-width: 66.66667%;
|
||||
}
|
||||
.col-sm-17 {
|
||||
flex: 0 0 70.83333%;
|
||||
max-width: 70.83333%;
|
||||
}
|
||||
.col-sm-18 {
|
||||
flex: 0 0 75%;
|
||||
max-width: 75%;
|
||||
}
|
||||
.col-sm-19 {
|
||||
flex: 0 0 79.16667%;
|
||||
max-width: 79.16667%;
|
||||
}
|
||||
.col-sm-20 {
|
||||
flex: 0 0 83.33333%;
|
||||
max-width: 83.33333%;
|
||||
}
|
||||
.col-sm-21 {
|
||||
flex: 0 0 87.5%;
|
||||
max-width: 87.5%;
|
||||
}
|
||||
.col-sm-22 {
|
||||
flex: 0 0 91.66667%;
|
||||
max-width: 91.66667%;
|
||||
}
|
||||
.col-sm-23 {
|
||||
flex: 0 0 95.83333%;
|
||||
max-width: 95.83333%;
|
||||
}
|
||||
.col-sm-24 {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* col-md */
|
||||
@media (min-width: 768px) {
|
||||
.col-md-1 {
|
||||
flex: 0 0 4.16667%;
|
||||
max-width: 4.16667%;
|
||||
}
|
||||
.col-md-2 {
|
||||
flex: 0 0 8.33333%;
|
||||
max-width: 8.33333%;
|
||||
}
|
||||
.col-md-3 {
|
||||
flex: 0 0 12.5%;
|
||||
max-width: 12.5%;
|
||||
}
|
||||
.col-md-4 {
|
||||
flex: 0 0 16.66667%;
|
||||
max-width: 16.66667%;
|
||||
}
|
||||
.col-md-5 {
|
||||
flex: 0 0 20.83333%;
|
||||
max-width: 20.83333%;
|
||||
}
|
||||
.col-md-6 {
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.col-md-7 {
|
||||
flex: 0 0 29.16667%;
|
||||
max-width: 29.16667%;
|
||||
}
|
||||
.col-md-8 {
|
||||
flex: 0 0 33.33333%;
|
||||
max-width: 33.33333%;
|
||||
}
|
||||
.col-md-9 {
|
||||
flex: 0 0 37.5%;
|
||||
max-width: 37.5%;
|
||||
}
|
||||
.col-md-10 {
|
||||
flex: 0 0 41.66667%;
|
||||
max-width: 41.66667%;
|
||||
}
|
||||
.col-md-11 {
|
||||
flex: 0 0 45.83333%;
|
||||
max-width: 45.83333%;
|
||||
}
|
||||
.col-md-12 {
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.col-md-13 {
|
||||
flex: 0 0 54.16667%;
|
||||
max-width: 54.16667%;
|
||||
}
|
||||
.col-md-14 {
|
||||
flex: 0 0 58.33333%;
|
||||
max-width: 58.33333%;
|
||||
}
|
||||
.col-md-15 {
|
||||
flex: 0 0 62.5%;
|
||||
max-width: 62.5%;
|
||||
}
|
||||
.col-md-16 {
|
||||
flex: 0 0 66.66667%;
|
||||
max-width: 66.66667%;
|
||||
}
|
||||
.col-md-17 {
|
||||
flex: 0 0 70.83333%;
|
||||
max-width: 70.83333%;
|
||||
}
|
||||
.col-md-18 {
|
||||
flex: 0 0 75%;
|
||||
max-width: 75%;
|
||||
}
|
||||
.col-md-19 {
|
||||
flex: 0 0 79.16667%;
|
||||
max-width: 79.16667%;
|
||||
}
|
||||
.col-md-20 {
|
||||
flex: 0 0 83.33333%;
|
||||
max-width: 83.33333%;
|
||||
}
|
||||
.col-md-21 {
|
||||
flex: 0 0 87.5%;
|
||||
max-width: 87.5%;
|
||||
}
|
||||
.col-md-22 {
|
||||
flex: 0 0 91.66667%;
|
||||
max-width: 91.66667%;
|
||||
}
|
||||
.col-md-23 {
|
||||
flex: 0 0 95.83333%;
|
||||
max-width: 95.83333%;
|
||||
}
|
||||
.col-md-24 {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* col-lg */
|
||||
@media (min-width: 992px) {
|
||||
.col-lg-1 {
|
||||
flex: 0 0 4.16667%;
|
||||
max-width: 4.16667%;
|
||||
}
|
||||
.col-lg-2 {
|
||||
flex: 0 0 8.33333%;
|
||||
max-width: 8.33333%;
|
||||
}
|
||||
.col-lg-3 {
|
||||
flex: 0 0 12.5%;
|
||||
max-width: 12.5%;
|
||||
}
|
||||
.col-lg-4 {
|
||||
flex: 0 0 16.66667%;
|
||||
max-width: 16.66667%;
|
||||
}
|
||||
.col-lg-5 {
|
||||
flex: 0 0 20.83333%;
|
||||
max-width: 20.83333%;
|
||||
}
|
||||
.col-lg-6 {
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.col-lg-7 {
|
||||
flex: 0 0 29.16667%;
|
||||
max-width: 29.16667%;
|
||||
}
|
||||
.col-lg-8 {
|
||||
flex: 0 0 33.33333%;
|
||||
max-width: 33.33333%;
|
||||
}
|
||||
.col-lg-9 {
|
||||
flex: 0 0 37.5%;
|
||||
max-width: 37.5%;
|
||||
}
|
||||
.col-lg-10 {
|
||||
flex: 0 0 41.66667%;
|
||||
max-width: 41.66667%;
|
||||
}
|
||||
.col-lg-11 {
|
||||
flex: 0 0 45.83333%;
|
||||
max-width: 45.83333%;
|
||||
}
|
||||
.col-lg-12 {
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.col-lg-13 {
|
||||
flex: 0 0 54.16667%;
|
||||
max-width: 54.16667%;
|
||||
}
|
||||
.col-lg-14 {
|
||||
flex: 0 0 58.33333%;
|
||||
max-width: 58.33333%;
|
||||
}
|
||||
.col-lg-15 {
|
||||
flex: 0 0 62.5%;
|
||||
max-width: 62.5%;
|
||||
}
|
||||
.col-lg-16 {
|
||||
flex: 0 0 66.66667%;
|
||||
max-width: 66.66667%;
|
||||
}
|
||||
.col-lg-17 {
|
||||
flex: 0 0 70.83333%;
|
||||
max-width: 70.83333%;
|
||||
}
|
||||
.col-lg-18 {
|
||||
flex: 0 0 75%;
|
||||
max-width: 75%;
|
||||
}
|
||||
.col-lg-19 {
|
||||
flex: 0 0 79.16667%;
|
||||
max-width: 79.16667%;
|
||||
}
|
||||
.col-lg-20 {
|
||||
flex: 0 0 83.33333%;
|
||||
max-width: 83.33333%;
|
||||
}
|
||||
.col-lg-21 {
|
||||
flex: 0 0 87.5%;
|
||||
max-width: 87.5%;
|
||||
}
|
||||
.col-lg-22 {
|
||||
flex: 0 0 91.66667%;
|
||||
max-width: 91.66667%;
|
||||
}
|
||||
.col-lg-23 {
|
||||
flex: 0 0 95.83333%;
|
||||
max-width: 95.83333%;
|
||||
}
|
||||
.col-lg-24 {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* col-xl */
|
||||
@media (min-width: 1200px) {
|
||||
.col-xl-1 {
|
||||
flex: 0 0 4.16667%;
|
||||
max-width: 4.16667%;
|
||||
}
|
||||
.col-xl-2 {
|
||||
flex: 0 0 8.33333%;
|
||||
max-width: 8.33333%;
|
||||
}
|
||||
.col-xl-3 {
|
||||
flex: 0 0 12.5%;
|
||||
max-width: 12.5%;
|
||||
}
|
||||
.col-xl-4 {
|
||||
flex: 0 0 16.66667%;
|
||||
max-width: 16.66667%;
|
||||
}
|
||||
.col-xl-5 {
|
||||
flex: 0 0 20.83333%;
|
||||
max-width: 20.83333%;
|
||||
}
|
||||
.col-xl-6 {
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.col-xl-7 {
|
||||
flex: 0 0 29.16667%;
|
||||
max-width: 29.16667%;
|
||||
}
|
||||
.col-xl-8 {
|
||||
flex: 0 0 33.33333%;
|
||||
max-width: 33.33333%;
|
||||
}
|
||||
.col-xl-9 {
|
||||
flex: 0 0 37.5%;
|
||||
max-width: 37.5%;
|
||||
}
|
||||
.col-xl-10 {
|
||||
flex: 0 0 41.66667%;
|
||||
max-width: 41.66667%;
|
||||
}
|
||||
.col-xl-11 {
|
||||
flex: 0 0 45.83333%;
|
||||
max-width: 45.83333%;
|
||||
}
|
||||
.col-xl-12 {
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.col-xl-13 {
|
||||
flex: 0 0 54.16667%;
|
||||
max-width: 54.16667%;
|
||||
}
|
||||
.col-xl-14 {
|
||||
flex: 0 0 58.33333%;
|
||||
max-width: 58.33333%;
|
||||
}
|
||||
.col-xl-15 {
|
||||
flex: 0 0 62.5%;
|
||||
max-width: 62.5%;
|
||||
}
|
||||
.col-xl-16 {
|
||||
flex: 0 0 66.66667%;
|
||||
max-width: 66.66667%;
|
||||
}
|
||||
.col-xl-17 {
|
||||
flex: 0 0 70.83333%;
|
||||
max-width: 70.83333%;
|
||||
}
|
||||
.col-xl-18 {
|
||||
flex: 0 0 75%;
|
||||
max-width: 75%;
|
||||
}
|
||||
.col-xl-19 {
|
||||
flex: 0 0 79.16667%;
|
||||
max-width: 79.16667%;
|
||||
}
|
||||
.col-xl-20 {
|
||||
flex: 0 0 83.33333%;
|
||||
max-width: 83.33333%;
|
||||
}
|
||||
.col-xl-21 {
|
||||
flex: 0 0 87.5%;
|
||||
max-width: 87.5%;
|
||||
}
|
||||
.col-xl-22 {
|
||||
flex: 0 0 91.66667%;
|
||||
max-width: 91.66667%;
|
||||
}
|
||||
.col-xl-23 {
|
||||
flex: 0 0 95.83333%;
|
||||
max-width: 95.83333%;
|
||||
}
|
||||
.col-xl-24 {
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
/*! purgecss start ignore */
|
||||
|
||||
/* Make clicks pass-through */
|
||||
#nprogress {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#nprogress .bar {
|
||||
background: var(--color-primary);
|
||||
|
||||
position: fixed;
|
||||
z-index: 1031;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
/* Fancy blur effect */
|
||||
#nprogress .peg {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px var(--color-primary), 0 0 5px var(--color-primary);
|
||||
opacity: 1;
|
||||
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
-ms-transform: rotate(3deg) translate(0px, -4px);
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
/* Remove these to get rid of the spinner */
|
||||
#nprogress .spinner {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 1031;
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
}
|
||||
|
||||
#nprogress .spinner-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
box-sizing: border-box;
|
||||
|
||||
border: solid 2px transparent;
|
||||
border-top-color: var(--color-primary);
|
||||
border-left-color: var(--color-primary);
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: nprogress-spinner 400ms linear infinite;
|
||||
animation: nprogress-spinner 400ms linear infinite;
|
||||
}
|
||||
|
||||
.nprogress-custom-parent {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nprogress-custom-parent #nprogress .spinner,
|
||||
.nprogress-custom-parent #nprogress .bar {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
@-webkit-keyframes nprogress-spinner {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes nprogress-spinner {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/*! purgecss end ignore */
|
15
tailwind.config.js
Normal file
15
tailwind.config.js
Normal file
@ -0,0 +1,15 @@
|
||||
module.exports = {
|
||||
mode: 'jit',
|
||||
purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
|
||||
darkMode: 'class',
|
||||
theme: {
|
||||
extend: {
|
||||
headline: 'Montserrat, sans-serif',
|
||||
paragraph: 'Roboto, sans-serif'
|
||||
}
|
||||
},
|
||||
variants: {
|
||||
extend: {}
|
||||
},
|
||||
plugins: []
|
||||
}
|
Reference in New Issue
Block a user