Added logo and using Bootstrap Sass to customize theme colors.
This commit is contained in:
parent
e2595ebfd8
commit
f640f6aa59
9 changed files with 1661 additions and 121 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -15,6 +15,7 @@ coverage
|
|||
_docpress
|
||||
.DS_Store
|
||||
|
||||
css
|
||||
lib
|
||||
dist
|
||||
tsconfig.tsbuildinfo
|
||||
|
|
|
|||
28
package.json
28
package.json
|
|
@ -1,17 +1,27 @@
|
|||
{
|
||||
"name": "vandevliet.website",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"description": "Vandevliet Aerial Shots Website",
|
||||
"author": "Bob Vandevliet",
|
||||
"license": "MIT",
|
||||
"packageManager": "pnpm@9.2.0+sha1.886364ebd6dae009284bebc56ed4296bb6dd557a",
|
||||
"scripts": {
|
||||
"build": "npm-run-all css-compile css-prefix",
|
||||
"css-compile": "sass --style compressed --source-map --embed-sources --no-error-css --load-path=node_modules scss/:public/assets/css/",
|
||||
"css-prefix": "postcss --replace public/assets/css/styles.css --use autoprefixer --map",
|
||||
"server": "docker compose up -d",
|
||||
"start": "npm-run-all build server"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^8",
|
||||
"eslint": "^8"
|
||||
"autoprefixer": "^10",
|
||||
"eslint": "^8",
|
||||
"npm-run-all": "^4",
|
||||
"postcss": "^8",
|
||||
"postcss-cli": "^11",
|
||||
"sass": "^1"
|
||||
}
|
||||
}
|
||||
1473
pnpm-lock.yaml
generated
1473
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,101 +0,0 @@
|
|||
nav {
|
||||
background-color: rgba(22, 23, 25, 0.4) !important;
|
||||
transition: background-color 0.5s;
|
||||
}
|
||||
|
||||
body.is-scrolled nav {
|
||||
background-color: rgba(22, 23, 25, 1.0) !important;
|
||||
}
|
||||
|
||||
.navbar-collapse:not(.collapsing):not(.show) {
|
||||
max-width: fit-content;
|
||||
}
|
||||
|
||||
.navbar-nav .btn {
|
||||
padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
|
||||
padding-right: var(--bs-navbar-nav-link-padding-x);
|
||||
padding-left: var(--bs-navbar-nav-link-padding-x);
|
||||
}
|
||||
|
||||
.hero {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.row {
|
||||
--bs-gutter-y: var(--bs-gutter-x);
|
||||
}
|
||||
|
||||
.text-shadow {
|
||||
text-shadow:
|
||||
-1px -1px 1px rgba(0, 0, 0, 0.4),
|
||||
-1px 0px 1px rgba(0, 0, 0, 0.4),
|
||||
-1px 1px 1px rgba(0, 0, 0, 0.4),
|
||||
0px -1px 1px rgba(0, 0, 0, 0.4),
|
||||
0px 0px 1px rgba(0, 0, 0, 0.4),
|
||||
0px 1px 1px rgba(0, 0, 0, 0.4),
|
||||
1px -1px 1px rgba(0, 0, 0, 0.4),
|
||||
1px 0px 1px rgba(0, 0, 0, 0.4),
|
||||
1px 1px 1px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
:target::before {
|
||||
content: "";
|
||||
display: block;
|
||||
height: 4rem;
|
||||
margin-top: -4rem;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.anchor-link {
|
||||
text-decoration: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
|
||||
h1:hover .anchor-link,
|
||||
h2:hover .anchor-link,
|
||||
h3:hover .anchor-link,
|
||||
h4:hover .anchor-link,
|
||||
h5:hover .anchor-link,
|
||||
h6:hover .anchor-link {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.cover,
|
||||
.parallax,
|
||||
.card-img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.parallax {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.card-img-overlay {
|
||||
position: unset;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
.card:hover .card-img-overlay {
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.arrow-effect {
|
||||
--s: 100px;
|
||||
--c1: var(--bs-body-bg);
|
||||
--c2: var(--bs-secondary-bg-subtle);
|
||||
|
||||
background:
|
||||
conic-gradient(#0000 75%, var(--c1) 0) 0 calc(var(--s)/4),
|
||||
conic-gradient(from 45deg, var(--c1) 25%, var(--c2) 0);
|
||||
background-size: var(--s) var(--s);
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
<div class="col-6 col-lg-3">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h2 class="card-title" id="section-contact">Contact</h4>
|
||||
<h5 class="card-title" id="section-contact">Contact</h5>
|
||||
<h4>Bob Vandevliet</h4>
|
||||
<p>Gecertificeerd FPV-dronepiloot voor open categorie A1, A2 en A3.</p>
|
||||
<h5>Email</h5>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
<title><!--# echo var="title" default="Title" --></title>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5/dist/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="assets/css/styles.css">
|
||||
|
||||
<script src="https://kit.fontawesome.com/7e7cf109ad.js" crossorigin="anonymous"></script>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
<nav class="navbar navbar-expand-lg fixed-top">
|
||||
<div class="container-xxl justify-content-center">
|
||||
<a class="navbar-brand" href="#"><!--# echo var="site" default="Website Title" --></a>
|
||||
<a class="navbar-brand" href="#">
|
||||
<img src="static/logo-aerialshots-v1-w.png" alt="Logo" height="48">
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
|
|
|||
BIN
public/static/logo-aerialshots-v1-w.png
Normal file
BIN
public/static/logo-aerialshots-v1-w.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
170
scss/styles.scss
Normal file
170
scss/styles.scss
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
// Toggle global options
|
||||
// $enable-gradients: true;
|
||||
// $enable-shadows: true;
|
||||
|
||||
// Include functions first (so you can manipulate colors, SVGs, calc, etc)
|
||||
@import "../node_modules/bootstrap/scss/functions";
|
||||
|
||||
// scss-docs-start color-variables
|
||||
$red: #cc2929; // Default: #dc3545
|
||||
|
||||
// scss-docs-start theme-color-variables
|
||||
$primary: $red; // Default: $blue
|
||||
|
||||
// Include remainder of required Bootstrap stylesheets
|
||||
@import "../node_modules/bootstrap/scss/variables";
|
||||
@import "../node_modules/bootstrap/scss/variables-dark";
|
||||
|
||||
// Include any default map overrides here
|
||||
|
||||
// Include remainder of required parts
|
||||
@import "../node_modules/bootstrap/scss/maps";
|
||||
@import "../node_modules/bootstrap/scss/mixins";
|
||||
@import "../node_modules/bootstrap/scss/root";
|
||||
|
||||
// Include any other parts as needed
|
||||
@import "../node_modules/bootstrap/scss/reboot";
|
||||
@import "../node_modules/bootstrap/scss/type";
|
||||
@import "../node_modules/bootstrap/scss/containers";
|
||||
@import "../node_modules/bootstrap/scss/grid";
|
||||
@import "../node_modules/bootstrap/scss/images";
|
||||
@import "../node_modules/bootstrap/scss/nav";
|
||||
@import "../node_modules/bootstrap/scss/navbar"; // Requires nav
|
||||
@import "../node_modules/bootstrap/scss/buttons";
|
||||
@import "../node_modules/bootstrap/scss/button-group";
|
||||
@import "../node_modules/bootstrap/scss/card";
|
||||
@import "../node_modules/bootstrap/scss/tables";
|
||||
@import "../node_modules/bootstrap/scss/forms";
|
||||
@import "../node_modules/bootstrap/scss/transitions";
|
||||
// @import "../node_modules/bootstrap/scss/accordion";
|
||||
// @import "../node_modules/bootstrap/scss/alert";
|
||||
// @import "../node_modules/bootstrap/scss/badge";
|
||||
// @import "../node_modules/bootstrap/scss/breadcrumb";
|
||||
// @import "../node_modules/bootstrap/scss/carousel";
|
||||
// @import "../node_modules/bootstrap/scss/close";
|
||||
// @import "../node_modules/bootstrap/scss/dropdown";
|
||||
// @import "../node_modules/bootstrap/scss/list-group";
|
||||
// @import "../node_modules/bootstrap/scss/modal"; // Requires transitions
|
||||
// @import "../node_modules/bootstrap/scss/offcanvas"; // Requires transitions
|
||||
// @import "../node_modules/bootstrap/scss/pagination";
|
||||
// @import "../node_modules/bootstrap/scss/placeholders";
|
||||
// @import "../node_modules/bootstrap/scss/popover";
|
||||
// @import "../node_modules/bootstrap/scss/progress";
|
||||
// @import "../node_modules/bootstrap/scss/spinners";
|
||||
// @import "../node_modules/bootstrap/scss/toasts";
|
||||
// @import "../node_modules/bootstrap/scss/tooltip";
|
||||
|
||||
// Helpers
|
||||
@import "../node_modules/bootstrap/scss/helpers";
|
||||
|
||||
// Utilities
|
||||
@import "../node_modules/bootstrap/scss/utilities";
|
||||
@import "../node_modules/bootstrap/scss/utilities/api";
|
||||
|
||||
//
|
||||
// Custom styles
|
||||
//
|
||||
|
||||
.navbar {
|
||||
background-image: none !important;
|
||||
background-color: rgba(22, 23, 25, 0.4) !important;
|
||||
transition: background-color 0.5s;
|
||||
}
|
||||
|
||||
body.is-scrolled .navbar {
|
||||
background-color: rgba(22, 23, 25, 1.0) !important;
|
||||
}
|
||||
|
||||
.navbar-collapse:not(.collapsing):not(.show) {
|
||||
max-width: fit-content;
|
||||
}
|
||||
|
||||
.navbar-nav .btn {
|
||||
margin-left: var(--bs-navbar-nav-link-padding-x);
|
||||
padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
|
||||
padding-right: var(--bs-navbar-nav-link-padding-x);
|
||||
padding-left: var(--bs-navbar-nav-link-padding-x);
|
||||
}
|
||||
|
||||
.hero {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.row {
|
||||
--bs-gutter-y: var(--bs-gutter-x);
|
||||
}
|
||||
|
||||
.text-shadow {
|
||||
text-shadow:
|
||||
-1px -1px 1px rgba(0, 0, 0, 0.4),
|
||||
-1px 0px 1px rgba(0, 0, 0, 0.4),
|
||||
-1px 1px 1px rgba(0, 0, 0, 0.4),
|
||||
0px -1px 1px rgba(0, 0, 0, 0.4),
|
||||
0px 0px 1px rgba(0, 0, 0, 0.4),
|
||||
0px 1px 1px rgba(0, 0, 0, 0.4),
|
||||
1px -1px 1px rgba(0, 0, 0, 0.4),
|
||||
1px 0px 1px rgba(0, 0, 0, 0.4),
|
||||
1px 1px 1px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
:target::before {
|
||||
content: "";
|
||||
display: block;
|
||||
height: 5rem;
|
||||
margin-top: -5rem;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.anchor-link {
|
||||
text-decoration: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
|
||||
h1:hover .anchor-link,
|
||||
h2:hover .anchor-link,
|
||||
h3:hover .anchor-link,
|
||||
h4:hover .anchor-link,
|
||||
h5:hover .anchor-link,
|
||||
h6:hover .anchor-link {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.cover,
|
||||
.parallax,
|
||||
.card-img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.parallax {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.card-img-overlay {
|
||||
position: unset;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
.card:hover .card-img-overlay {
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.arrow-effect {
|
||||
--s: 100px;
|
||||
--c1: var(--bs-body-bg);
|
||||
--c2: var(--bs-secondary-bg-subtle);
|
||||
|
||||
background:
|
||||
conic-gradient(#0000 75%, var(--c1) 0) 0 calc(var(--s)/4),
|
||||
conic-gradient(from 45deg, var(--c1) 25%, var(--c2) 0);
|
||||
background-size: var(--s) var(--s);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue