Initial commit

This commit is contained in:
“VeLiTi”
2025-01-30 11:43:37 +01:00
commit 6f1cc27ec4
823 changed files with 233091 additions and 0 deletions

974
custom/css/style.scss Normal file
View File

@@ -0,0 +1,974 @@
$font: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
$font-size: 16px;
$background-color: #FFFFFF;
$content-wrapper-width: 1050px;
$content-border-color: #EEEEEE;
$text-color: #555555;
$header-color: #394352;
$price-color: #999999;
$rrp-color: #BBBBBB;
$featured-header-font: Rockwell, "Courier Bold", Courier, Georgia, Times, "Times New Roman", sans-serif;
$featured-header-color: #FFFFFF;
$btn-color: #4b505c;
* {
box-sizing: border-box;
font-family: $font;
font-size: $font-size;
}
html {
height: 100%;
}
body {
position: relative;
min-height: 100%;
color: $text-color;
background-color: $background-color;
margin: 0;
padding-bottom: 100px; /* Same height as footer */
}
h1, h2, h3, h4, h5 {
color: $header-color;
}
.content-wrapper {
width: $content-wrapper-width;
margin: 0 auto;
&.error {
padding: 40px 0;
}
}
header {
position: relative;
border-bottom: 1px solid $content-border-color;
.content-wrapper {
display: flex;
}
h1, img {
display: flex;
flex-grow: 1;
flex-basis: 0;
font-size: 20px;
margin: 0;
padding: 24px 0;
}
nav {
display: flex;
flex-grow: 1;
flex-basis: 0;
justify-content: center;
align-items: center;
a {
white-space: nowrap;
text-decoration: none;
color: $text-color;
padding: 10px 10px;
margin: 0 10px;
&:hover {
border-bottom: 1px solid darken($background-color, 15);
}
}
}
.link-icons {
display: flex;
flex-grow: 1;
flex-basis: 0;
justify-content: flex-end;
align-items: center;
position: relative;
.search {
i {
font-size: 18px;
padding: 9px;
border-radius: 50%;
cursor: pointer;
&:hover {
background-color: darken($background-color, 3);
}
}
input {
display: none;
border: 0;
border-bottom: 1px solid $content-border-color;
padding: 10px 0;
max-width: 200px;
outline: none;
margin-right: 10px;
}
}
.responsive-toggle {
display: none;
}
a {
position: relative;
text-decoration: none;
color: #394352;
padding: 9px;
border-radius: 50%;
margin-left: 5px;
&:hover {
background-color: darken($background-color, 5);
}
i {
font-size: 18px;
}
span {
display: inline-flex;
justify-content: center;
align-items: center;
text-align: center;
background-color: lighten($header-color, 20);
background-color: #eea965;
border-radius: 50%;
color: #000;
font-size: 12px;
width: 16px;
height: 16px;
font-weight: 500;
position: absolute;
top: 0;
right: 0;
}
}
}
}
main {
.featured {
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size: cover;
height: 500px;
align-items: center;
justify-content: center;
text-align: center;
h2 {
display: inline-block;
margin: 0;
width: $content-wrapper-width;
font-family: $featured-header-font;
font-size: 68px;
color: $featured-header-color;
padding-bottom: 10px;
}
p {
display: inline-block;
margin: 0;
width: $content-wrapper-width;
font-size: 24px;
color: $featured-header-color;
}
}
.recentlyadded {
h2 {
display: block;
font-weight: normal;
margin: 0;
padding: 40px 0;
font-size: 24px;
text-align: center;
width: 100%;
border-bottom: 1px solid $content-border-color;
}
}
.recentlyadded .products, .products .products-wrapper {
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 40px 0 0 0;
.product {
display: block;
overflow: hidden;
text-decoration: none;
width: 25%;
padding-bottom: 60px;
img {
transform: scale(1.0);
transition: transform 1s;
}
.name {
display: block;
color: $text-color;
padding: 20px 0 2px 0;
}
.price {
display: block;
color: $price-color;
}
.rrp {
color: $rrp-color;
text-decoration: line-through;
}
&:hover {
img {
transform: scale(1.05);
transition: transform 1s;
}
.name {
text-decoration: underline;
}
}
}
}
> .product {
display: flex;
padding: 40px 0;
h1 {
font-size: 34px;
font-weight: normal;
margin: 0;
padding: 20px 0 10px 0;
}
.product-img-large {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 500px;
}
.product-small-imgs {
display: flex;
flex-flow: wrap;
.product-img-small {
display: flex;
align-items: center;
justify-content: center;
flex-basis: 31%;
border: 1px solid $content-border-color;
cursor: pointer;
margin: 20px 12px 0 0;
&:nth-child(3n) {
margin-right: 0;
}
&.selected {
border: 1px solid darken($content-border-color, 15);
}
}
}
.product-img-large img, .product-img-small img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
}
.product-imgs {
flex: 1;
padding: 15px;
}
.product-wrapper {
padding-left: 25px;
flex: 1;
}
.prices {
display: flex;
}
.price {
display: block;
font-size: 22px;
color: $price-color;
}
.rrp {
color: $rrp-color;
text-decoration: line-through;
font-size: 22px;
padding-left: 10px;
}
form {
display: flex;
flex-flow: column;
margin: 25px 0 40px 0;
label {
padding-bottom: 10px;
}
select, input[type="number"], input[type="text"], input[type="datetime-local"] {
width: 400px;
padding: 8px 10px;
margin-bottom: 15px;
border: 1px solid darken($content-border-color, 10);
color: $text-color;
border-radius: 4px;
background-color: #fff;
}
.radio-checkbox {
display: flex;
flex-flow: wrap;
max-width: 400px;
input {
margin: 0 10px 10px 0;
}
label {
padding-right: 15px;
}
}
.btn {
margin-top: 10px;
width: 400px;
text-transform: uppercase;
}
}
}
> .products {
h1 {
display: block;
font-weight: normal;
margin: 0;
padding: 40px 0;
font-size: 24px;
text-align: center;
width: 100%;
}
.products-header {
display: flex;
justify-content: space-between;
align-items: center;
padding-bottom: 40px;
p {
margin: 0;
}
label {
padding-left: 20px;
}
select {
padding: 5px;
margin-left: 15px;
border: 1px solid darken($content-border-color, 10);
color: $text-color;
border-radius: 4px;
}
}
.buttons {
text-align: right;
padding-bottom: 40px;
a:first-child {
margin-right: 5px;
}
}
}
.cart, .myaccount {
h1 {
display: block;
font-weight: normal;
margin: 0;
padding: 40px 0;
font-size: 24px;
text-align: center;
width: 100%;
}
table {
width: 100%;
thead td {
padding: 30px 0;
border-bottom: 1px solid $content-border-color;
&:last-child {
text-align: right;
}
}
tbody td {
padding: 20px 0;
border-bottom: 1px solid $content-border-color;
&:last-child {
text-align: right;
}
}
.img {
width: 80px;
}
.remove {
color: #777777;
font-size: 12px;
padding-top: 3px;
&:hover {
text-decoration: underline;
}
}
.price, .options {
color: $price-color;
}
.options {
font-size: 14px;
max-width: 200px;
}
a {
text-decoration: none;
color: $text-color;
}
input[type="number"] {
width: 68px;
padding: 10px;
border: 1px solid darken($content-border-color, 10);
color: $text-color;
border-radius: 4px;
}
}
.total {
text-align: right;
padding: 30px 0 40px 0;
.text {
padding-right: 40px;
font-size: 18px;
}
.price {
font-size: 18px;
color: $price-color;
}
.note {
display: block;
padding-top: 15px;
}
}
.buttons {
text-align: right;
padding-bottom: 40px;
.btn {
margin: 0 0 10px 5px;
}
}
}
.placeorder {
h1 {
display: block;
font-weight: normal;
margin: 0;
padding: 40px 0;
font-size: 24px;
text-align: center;
width: 100%;
}
p {
text-align: center;
}
}
.checkout, .myaccount {
h1 {
display: block;
font-weight: normal;
margin: 0;
padding: 40px 0;
font-size: 24px;
text-align: center;
width: 100%;
}
.shipping-details {
width: 600px;
display: flex;
flex-flow: wrap;
padding-bottom: 40px;
h2 {
width: 100%;
font-weight: normal;
font-size: 20px;
padding: 30px 0 20px 0;
margin: 0 0 10px 0;
border-bottom: 1px solid $content-border-color;
&:first-child {
padding: 20px 0 20px 0;
}
}
label {
display: block;
padding: 15px 0 10px 0;
}
.row1, .row2 {
width: 50%;
display: inline-block;
}
.row1 {
padding-right: 10px;
}
.row2 {
padding-left: 10px;
}
}
}
.checkout {
.container {
display: flex;
align-items: flex-start;
}
.shipping-details {
margin-right: 25px;
width: 100%;
}
.payment-methods {
display: flex;
flex-flow: wrap;
width: 100%;
justify-content: space-between;
label {
text-decoration: none;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid $content-border-color;
border-radius: 5px;
height: 60px;
width: 159px;
margin: 10px;
font-weight: 500;
color: lighten($header-color, 5);
padding: 0;
cursor: pointer;
.fa-stripe {
color: #6671E4;
}
&:nth-child(2), &:nth-child(8) {
margin-left: 0;
}
&:nth-child(3n) {
margin-right: 0;
}
&:hover {
border: 1px solid darken($content-border-color, 10);
}
}
input {
position: absolute;
top: -9999px;
left: -9999px;
visibility: hidden;
&:checked + label {
border:2px solid #7ed1a1;
}
}
}
.cart-details {
width: 90%;
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
border-radius: 4px;
margin-left: 25px;
margin-bottom: 50px;
h2 {
margin: 0;
padding: 23px 15px;
font-weight: 500;
border-bottom: 1px solid $content-border-color;
}
table {
width: 100%;
padding: 20px;
.price {
text-align: right;
font-weight: 500;
}
td {
padding: 5px;
}
}
.discount-code {
padding: 0 23px 23px 23px;
.result {
display: block;
padding-top: 10px;
}
}
.shipping-methods {
border-top: 1px solid $content-border-color;
padding: 23px;
h3 {
margin: 0;
padding: 0 0 10px;
font-weight: 500;
}
.shipping-method {
padding-top: 10px;
margin: 0;
}
}
.total {
border-top: 1px solid $content-border-color;
display: flex;
justify-content: space-between;
padding: 23px;
font-size: 18px;
font-weight: 500;
}
.alt {
font-size: 14px;
color: mix($header-color, #fff, 45);
padding-left: 5px;
}
.summary {
border-top: 1px solid $content-border-color;
padding: 23px 0;
div {
display: flex;
justify-content: space-between;
padding: 10px 23px;
span {
font-size: 14px;
font-weight: 500;
}
}
.discount span {
color: #de0000;
}
}
.buttons {
margin: 0 23px 23px 23px;
.btn {
width: 100%;
}
}
}
}
.myaccount {
display: flex;
flex-flow: wrap;
.menu {
padding-right: 35px;
width: 300px;
a {
display: block;
text-decoration: none;
color: lighten($text-color, 20);
padding: 15px 0;
border-bottom: 1px solid lighten($content-border-color,3);
&:hover {
color: darken($text-color, 10);
}
}
}
.myorders, .mydownloads, .settings {
flex: 1;
padding-bottom: 50px;
}
.myorders {
.order {
box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.15);
margin: 30px 0 30px 0;
.order-header {
display: flex;
justify-content: space-between;
border-bottom: 1px solid lighten($content-border-color,3);
> div {
display: flex;
padding: 15px;
div {
padding-right: 35px;
&:last-child {
padding-right: 0;
}
span {
display: block;
font-size: 14px;
}
}
}
}
.order-items {
padding: 15px;
table {
margin: 0;
padding: 0;
}
}
}
}
.settings {
form {
max-width: 400px;
.btn {
margin-top: 25px;
}
}
}
form {
width: 100%;
}
h2 {
width: 100%;
font-weight: normal;
font-size: 20px;
padding: 30px 0 20px 0;
margin: 0 0 10px 0;
border-bottom: 1px solid $content-border-color;
}
table {
padding-bottom: 40px;
tr:last-child td {
border-bottom: 0;
}
a {
display: inline-flex;
justify-content: center;
align-items: center;
height: 40px;
border: 1px solid $content-border-color;
border-radius: 4px;
padding: 0 10px;
font-size: 14px;
color: #de0000;
margin: 0 5px 5px 0;
&:hover {
color: darken(#de0000, 10);
}
i {
display: inline-flex;
align-items: center;
justify-content: center;
align-self: center;
padding-right: 10px;
margin-right: 10px;
height: 100%;
border-right: 1px solid $content-border-color;
}
}
.name {
word-break: break-all;
}
}
.login-register {
display: flex;
width: 100%;
justify-content: space-between;
margin-top: 40px;
h1 {
text-align: left;
padding-top: 15px;
}
.login {
width: 100%;
border-right: 1px solid lighten($content-border-color, 3);
padding-right: 45px;
}
.register {
width: 100%;
padding-left: 45px;
}
.btn {
margin-top: 25px;
}
}
}
p.error {
color: red;
}
}
.img-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,.7);
div {
position: absolute;
display: flex;
flex-flow: column;
width: 800px;
height: 800px;
max-width: 90%;
max-height: 90%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #FFFFFF;
padding: 15px;
a {
display: inline-flex;
align-self: flex-end;
text-decoration: none;
font-size: 34px;
line-height: 26px;
color: lighten($text-color, 40);
&:hover {
color: lighten($text-color, 30);
}
}
img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
object-fit: contain;
padding-top: 20px;
padding-bottom: 25px;
}
}
}
.btn {
text-decoration: none;
background: $btn-color;
border: 0;
color: #FFFFFF;
padding: 11px 16px;
font-size: 14px;
font-weight: 500;
border-radius: 4px;
cursor: pointer;
&:hover {
background: darken($btn-color, 3);
}
&:disabled {
background: #ddd;
}
}
.form-label {
display: block;
padding: 20px 0 10px 0;
}
.form-field {
width: 100%;
padding: 10px;
border: 1px solid darken($content-border-color, 10);
border-radius: 4px;
background-color: #fff;
}
footer {
position: absolute;
bottom: 0;
border-top: 1px solid $content-border-color;
padding: 20px 0;
width: 100%;
a {
text-decoration: none;
color: $text-color;
&:hover {
text-decoration: underline;
}
}
}
/* Responsive CSS below */
@media screen and (max-width: $content-wrapper-width) {
.rhide {
display: none;
}
.content-wrapper {
width: 100%;
padding: 0 10px;
}
header {
justify-content:space-between;
h1 {
font-size: 16px;
flex-basis: auto;
}
nav {
display: none;
position: absolute;
left: 0;
top: calc(100% + 1px);
width: 100%;
background-color: #FFFFFF;
a {
display: block;
padding: 10px 12px;
margin: 0;
border-bottom: 1px solid lighten($content-border-color, 3);
}
}
.link-icons {
display: inline-flex;
width: 100px;
.responsive-toggle {
display: block;
}
.search input {
max-width: 150px;
}
}
}
main {
.recentlyadded .products, .products .products-wrapper {
justify-content: center;
.product {
width: auto;
}
}
.featured {
height: 300px;
h2 {
font-size: 48px;
width: 100%;
padding: 0 10px;
}
p {
font-size: 22px;
width: 100%;
padding: 0 10px;
}
}
> .products {
.products-header {
flex-flow: column;
p {
padding-bottom: 10px;
}
form {
display: flex;
flex-flow: column;
label {
padding-top: 15px;
}
}
}
}
> .product {
padding: 0 10px;
flex-flow: column;
.product-imgs {
padding: 20px 10px 0 10px;
.product-img-large {
height: 300px;
}
.product-small-imgs {
.product-img-small {
height: 80px;
flex-basis: 30%;
}
}
}
form {
input[type="number"], input[type="text"], input[type="datetime-local"], input[type="submit"], select {
width: 100%;
}
}
.product-wrapper {
padding: 0;
}
}
.cart {
table {
input[type="number"] {
width: 40px;
}
}
}
.checkout, .myaccount {
.container {
flex-flow: column;
}
.shipping-details {
.payment-methods {
flex-flow: column;
label {
margin: 0 0 10px 0;
}
}
}
.cart-details {
margin: 0 0 40px 0;
width: 100%;
}
form {
width: 100%;
}
}
.myaccount {
.login-register {
flex-flow: column;
.login {
border-right: 0;
padding: 10px;
}
.register {
padding: 10px;
}
}
.menu {
width: 100%;
padding-right: 0;
}
}
}
}