diff --git a/.eslintrc.json b/.eslintrc.json
index dd5dbdc7..17f92484 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -25,7 +25,7 @@
}
],
"no-console": 1,
- "quotes": ["error", "single", { "allowTemplateLiterals": true }],
+ "quotes": ["error", "double", { "allowTemplateLiterals": true }],
"func-names": 0,
"space-unary-ops": 2,
"space-in-parens": "error",
diff --git a/FelixGuzman.txt b/FelixGuzman.txt
new file mode 100644
index 00000000..f3ac7311
--- /dev/null
+++ b/FelixGuzman.txt
@@ -0,0 +1 @@
+Felix Guzman
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 9ff6702c..fc11712d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "outside",
- "version": "1.1.0",
+ "version": "2.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "outside",
- "version": "1.1.0",
+ "version": "2.0.0",
"license": "ISC",
"devDependencies": {
"eslint": "^8.26.0",
diff --git a/package.json b/package.json
index 829e444f..bc53e011 100644
--- a/package.json
+++ b/package.json
@@ -8,8 +8,8 @@
"build": "vite build --emptyOutDir",
"lint": "eslint *.js src/**/*.js",
"format": "prettier --ignore-path ./.gitignore --write \"./**/*.{html,json,js,ts,css}\"",
- "test": "jest"
-
+ "test": "jest",
+ "preview": "vite preview"
},
"author": "Shane Thompson",
"license": "ISC",
diff --git a/src/cart/index.html b/src/cart/index.html
index 659c2bb4..246e00d0 100644
--- a/src/cart/index.html
+++ b/src/cart/index.html
@@ -1,9 +1,7 @@
-
-
@@ -13,76 +11,19 @@
-
+
-
-
-
-
-
-
-
+
-
-
+ My Cart
-
+
+
-
-
+
-
-
diff --git a/src/checkout/index.html b/src/checkout/index.html
index 87645865..e6ebe787 100644
--- a/src/checkout/index.html
+++ b/src/checkout/index.html
@@ -1,88 +1,67 @@
-
-
-
-
-
-
-
-
- Sleep Outside | Checkout
-
-
-
-
-
-
-
-
-
-
-
-
-
- Review & Place your Order
-
-
-
-
-
-
-
-
+
+
+
+ Sleep Outside | Cedar Ridge Rimrock 2-person tent
+
+
+
+
+
+
+
Review & Place your Order
+
+
+
-
diff --git a/src/css/style.css b/src/css/style.css
index dee10f62..815d3150 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -15,20 +15,25 @@
}
* {
box-sizing: border-box;
+ max-width: 100%;
}
body {
margin: 0;
font-family: var(--font-body);
font-size: var(--font-base);
color: var(--dark-grey);
+ max-width: 100%;
}
img {
max-width: 100%;
}
header {
+ padding: 0.5em;
display: flex;
+ align-items: center;
justify-content: space-between;
- padding: 0 10px;
+ position: relative;
+ max-width: 100%;
}
.logo {
line-height: 60px;
@@ -50,6 +55,10 @@ header {
.hero {
position: relative;
}
+.hero img {
+ width: 100%;
+ height: auto;
+}
.hero .logo {
position: absolute;
left: calc(50% - 60px);
@@ -104,55 +113,164 @@ button {
}
.cart svg {
- width: 25px;
+ width: 2rem;
+ position: relative;
+ transition: all 0.3s ease-in-out;
}
.cart:hover svg {
fill: gray;
+ transform: scale(1.1);
+ transition: all 0.3s ease-in-out;
+}
+
+.numberCartItems {
+ color: var(--dark-grey);
+ position: absolute;
+ right: 1.8rem;
+ top: 2.8rem;
+ font-size: 0.8em;
+ font-weight: bold;
+ background-color: var(--primary-color);
+ border-radius: 50%;
+ width: 1.5em;
+ height: 1.5em;
+ line-height: 1.5em;
+ text-align: center;
}
+span.rise-shake {
+ color: white;
+ padding: 1.5rem;
+ font-size: 1rem;
+ display: inline-block;
+}
+
+/* span.rise-shake {
+ animation: jump-shaking 0.83s infinite;
+} */
+@keyframes jump-shaking {
+ 0% {
+ transform: translateX(0);
+ }
+ 25% {
+ transform: translateY(-9px);
+ }
+ 35% {
+ transform: translateY(-9px) rotate(17deg);
+ }
+ 55% {
+ transform: translateY(-9px) rotate(-17deg);
+ }
+ 65% {
+ transform: translateY(-9px) rotate(17deg);
+ }
+ 75% {
+ transform: translateY(-9px) rotate(-17deg);
+ }
+ 100% {
+ transform: translateY(0) rotate(0);
+ }
+}
/* End cart icon styles */
.mission {
- padding: 0 0.5em;
- /* margin: 0.5em 0; */
+ font-size: 1.2em;
+ padding: 1.5rem;
line-height: 1.3;
- max-width: 600px;
- margin: auto;
+}
+.mission p {
+ text-indent: 1rem;
}
.products {
+ grid-template-columns: auto;
padding: 0.5em;
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+ max-width: 100%;
}
.product-list {
+ display: grid;
+ grid-template-columns: auto;
+ grid-gap: 1em;
+ padding: 0.5em;
+ max-width: 100%;
+ list-style: none;
+}
+.product-list li {
display: flex;
- flex-flow: row wrap;
- justify-content: space-between;
- list-style-type: none;
- padding: 0;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 0.5em;
+ border: 1px solid var(--light-grey);
+ border-radius: 1rem;
+ box-shadow: 1px 1px 4px var(--light-grey);
+ max-width: 100%;
+ transition: all 0.3s ease-in-out;
+}
+.product-list li:hover {
+ box-shadow: 1px 1px 4px var(--primary-color);
+ transform: scale(1.01);
+ transition: all 0.3s ease-in-out;
}
.product-list a {
text-decoration: none;
color: var(--dark-grey);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+.product-list a img {
+ transition: all 0.3s ease-in-out;
+}
+.product-list a img:hover {
+ transform: scale(1.09);
+ transition: all 0.3s ease-in-out;
}
/* Styles for product lists */
.product-card {
- flex: 1 1 45%;
- margin: 0.25em;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
padding: 0.5em;
border: 1px solid var(--light-grey);
- max-width: 250px;
+ border-radius: 5px;
+ box-shadow: 1px 1px 4px var(--light-grey);
+ max-width: 100%;
}
.product-card h2,
.product-card h3,
.product-card p {
- margin: 0.5em 0;
+ text-align: center;
+}
+
+.product-card__price {
+ font-size: 20px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.product-card__retail_price {
+ text-decoration: line-through;
+ color: red;
+ font-size: 0.8em;
+ margin: 0;
+ margin-bottom: 0.5rem;
+ text-align: center;
}
.card__brand {
font-size: var(--small-font);
+ text-indent: 1rem;
}
.card__name {
font-size: 1em;
+ padding-left: 0.5rem;
+ text-indent: 1rem;
}
/* End product list card */
@@ -171,10 +289,9 @@ button {
display: grid;
grid-template-columns: 25% auto 15%;
font-size: var(--small-font);
- /* max-height: 120px; */
align-items: center;
+ max-width: 100%;
}
-
.cart-card__image {
grid-row: 1/3;
grid-column: 1;
@@ -195,28 +312,304 @@ button {
.cart-card__quantity {
grid-row: 1;
grid-column: 3;
+ text-align: center;
}
.cart-card__price {
grid-row: 2;
grid-column: 3;
+ font-weight: bold;
+ text-align: center;
+}
+
+.cart-total {
+ display: none;
+ font-size: 1.3rem;
+ display: flex;
+ text-align: center;
+ margin: 0 3rem 1rem 0;
+ font-weight: bold;
+}
+
+/* NEWSLETTER SUBSCRIPTION */
+#newsletter-signup {
+ padding: 1rem 1rem 0.1rem 1rem;
+ margin: 1rem;
+ border: 1px solid #ccc;
+ box-shadow: 1px 1px 1px 1px #ccc;
+ display: flex;
+ flex-direction: column;
+ max-width: 15rem;
+ min-height: 20rem;
+ justify-content: space-around;
+ border-radius: 2rem;
+ transition: all ease-in-out 0.3s;
+}
+#newsletter-signup:hover {
+ box-shadow: 1px 1px 1px 1px #525b0f;
+ transition: all ease-in-out 0.3s;
+}
+#newsletter-signup h2 {
+ text-align: center;
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin: 0.5rem;
+ margin-bottom: 1rem;
+}
+.news-letter {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ margin: 0 0 2.5rem 0;
+}
+h2 {
+ margin-bottom: 20px;
}
-@media screen and (min-width: 500px) {
- body {
- max-width: 1080px;
- margin: auto;
+form {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-bottom: 20px;
+}
+
+input {
+ width: 100%;
+ padding: 10px;
+ margin-bottom: 20px;
+ border: 1px solid #ccc;
+ border-radius: 1rem;
+ font-size: 16px;
+}
+input#name,
+input#email {
+ text-align: center;
+}
+
+#response {
+ margin-top: 20px;
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.modal {
+ display: block;
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background-color: white;
+ padding: 20px;
+ box-shadow: 1px 12px 58px 1200px rgb(0 0 0 / 50%);
+ text-align: center;
+}
+
+.modal img {
+ padding: 1em 0;
+}
+.close-pop-up {
+ display: none;
+}
+
+/* ========== modified by ZB cart Buttons============ */
+.quantity-buttons {
+ display: flex;
+ align-items: center;
+ margin: 0;
+ margin-bottom: 0.5rem;
+ padding: 0;
+ grid-column: 2 / 3;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.quantity-buttons button {
+ margin: 0;
+ padding: 1rem 0.5rem;
+ font-size: 1rem;
+}
+.quantity-buttons button:hover,
+#sortName:hover,
+#sortPrice:hover,
+#addToCart:hover {
+ background-color: #525b0fc9;
+ transition: all ease-in-out 0.3s;
+}
+.increase-button {
+ border-radius: 0 1rem 1rem 0;
+}
+.decrease-button {
+ border-radius: 1rem 0 0 1rem;
+}
+.delete-button {
+ font-size: 1rem;
+}
+.discount {
+ color: red;
+ font-size: 0.8em;
+ margin: 0;
+ margin-bottom: 0.5rem;
+ grid-column: 2 / 3;
+}
+.saved {
+ color: green;
+ font-size: 1em;
+ margin: 0;
+ margin-bottom: 0.5rem;
+ grid-column: 3 / 4;
+ text-align: center;
+}
+.product-card__price {
+ font-size: 20px;
+ font-weight: bold;
+ margin: 0;
+}
+.show-pop-up {
+ font-size: 1rem;
+ border-radius: 1rem;
+}
+.show-pop-up:hover {
+ background-color: #525b0fc9;
+ transition: all ease-in-out 0.3s;
+}
+#submit-button {
+ font-size: 1rem;
+ border-radius: 1rem;
+ padding: 1rem 2rem;
+ font-size: 1rem;
+ background-color: #525b0f;
+ color: white;
+ border: none;
+ margin-top: 1rem;
+}
+#submit-button:hover {
+ background-color: #525b0fc9;
+ transition: all ease-in-out 0.3s;
+}
+footer {
+ font-size: var(--small-font);
+ padding: 2rem;
+ text-align: center;
+ font-size: 1.3rem;
+}
+.product-grid div {
+ padding: 1rem;
+ margin: 1rem;
+ border: 1px solid #ccc;
+ box-shadow: 1px 1px 1px 1px #ccc;
+ display: flex;
+ flex-direction: column;
+ min-width: 10rem;
+ min-height: 20rem;
+ justify-content: space-around;
+ border-radius: 2rem;
+ transition: all ease-in-out 0.3s;
+}
+.product-grid div:hover {
+ transform: scale(1.008);
+ box-shadow: 1px 1px 1px 1px #525b0f;
+ transition: all ease-in-out 0.3s;
+}
+.product-grid div h3 {
+ text-align: center;
+ font-size: 2rem;
+}
+.product-grid div a {
+ display: flex;
+ align-items: center;
+ width: 140px;
+ margin: auto;
+ transition: all ease-in-out 0.3s;
+}
+.product-grid div img {
+ transition: all ease-in-out 0.3s;
+}
+.product-grid div img:hover {
+ transform: scale(1.1);
+ transition: all ease-in-out 0.3s;
+}
+
+.myCartTitle {
+ text-align: center;
+}
+
+
+/* ---------------------------- */
+/* -- SORT by Price and Name -- */
+/* ---------------------------- */
+
+.sort {
+ display: flex;
+ column-gap: 2rem;
+}
+
+
+/* ========================medium view================================ */
+@media (min-width: 35rem) {
+ .product-grid {
+ display: grid;
+ grid-template-columns: auto auto;
+ grid-gap: 1rem;
+ }
+ .product-grid div h3 {
+ font-size: 2.5rem;
}
- .mission {
- font-size: 1.2em;
+ .product-grid div a {
+ width: 180px;
}
- .cart-card {
- font-size: inherit;
- grid-template-columns: 150px auto 15%;
+ div#newsletter-signup {
+ width: 90%;
+ max-width: 37rem;
+ }
+ .product-list {
+ display: grid;
+ grid-template-columns: auto auto;
+ grid-gap: 1rem;
+ }
+
+ /* ==============cart section =================*/
+ .products {
+ display: grid;
+ grid-template-columns: auto;
+
}
}
-footer {
+/* ========================large view================================ */
+@media (min-width: 63rem) {
+ .product-grid {
+ display: grid;
+ grid-template-columns: auto auto auto auto;
+ grid-gap: 1rem;
+ }
+ .product-grid div h3 {
+ text-align: center;
+ font-size: 1.5rem;
+ }
+ div#newsletter-signup {
+ max-width: 30rem;
+ }
+ .product-list {
+ display: grid;
+ grid-template-columns: auto auto auto;
+ grid-gap: 1rem;
+ }
+ .topProductsTitle {
+ font-size: 2rem;
+ }
+}
+
+/*Style for the breadcrumb*/
+.breadcrumb {
+ padding: 0.5em;
font-size: var(--small-font);
- padding: 1em;
+ color: var(--dark-grey);
+}
+.breadcrumb a {
+ color: var(--dark-grey);
+ text-decoration: none;
+}
+.breadcrumb a:hover {
+ text-decoration: underline;
}
diff --git a/src/index.html b/src/index.html
index 35ac63ce..df742429 100644
--- a/src/index.html
+++ b/src/index.html
@@ -7,28 +7,10 @@
-
-
-
+
+
@@ -51,56 +33,53 @@
- Top Products
-
+
+
+
+
+
+
+
+
+
Tents
+
+
+
+
+
+
Backpacks
+
+
+
+
+
+
Sleeping Bags
+
+
+
+
+
+
Hammocks
+
+
+
+
+
-
+
+