* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; } @font-face { font-family: 'mont'; src: url('font/Montserrat-VariableFont_wght.ttf'); } @font-face { font-family: 'gerb'; src: url('font/Gerb.ttf'); } @font-face { font-family: 'gerb_bold'; src: url('font/Gerb-Bold.ttf'); } html { height: 100%; } body { position: relative; min-height: 100%; color: #555555; background-color: #e9e8e7; margin: 0; padding-bottom: 100px; /* Same height as footer */ } h1, h2, h3, h4, h5 { color: #394352; } .content-wrapper { width: 1050px; margin: 0 auto; } .content-wrapper.error { padding: 40px 0; } header { position: relative; } header .content-wrapper { display: flex; } header h1, header img { display: flex; flex-grow: 1; flex-basis: 0; font-size: 20px; margin: 0; padding: 24px 0; } header nav { display: flex; flex-grow: 1; flex-basis: 0; justify-content: center; align-items: center; } header nav a { white-space: nowrap; text-decoration: none; color: #555555; padding: 10px 10px; margin: 0 10px; font-family: 'gerb'; } header nav a:hover { border-bottom: 1px solid #d9d9d9; } header .link-icons { display: flex; flex-grow: 1; flex-basis: 0; justify-content: flex-end; align-items: center; position: relative; } header .link-icons .search i { font-size: 18px; padding: 9px; border-radius: 50%; cursor: pointer; } header .link-icons .search i:hover { background-color: #f7f7f7; } header .link-icons .search input { display: none; border: 0; border-bottom: 1px solid #EEEEEE; padding: 10px 0; max-width: 200px; outline: none; margin-right: 10px; } header .link-icons .responsive-toggle { display: none; } header .link-icons a { position: relative; text-decoration: none; color: #394352; padding: 9px; border-radius: 50%; margin-left: 5px; } header .link-icons a:hover { background-color: #f2f2f2; } header .link-icons a i { font-size: 18px; } header .link-icons a span { display: inline-flex; justify-content: center; align-items: center; text-align: center; background-color: #63748e; background-color: #eea965; border-radius: 50%; color: #000; font-size: 12px; width: 16px; height: 16px; font-weight: 500; position: absolute; top: 0; right: 0; } /*Header_menu items*/ header_menu { position: absolute; top: 0; left: 0; z-index: 999; width: 100%; } header_menu .content-wrapper { display: flex; } header_menu h1, header_menu img { display: flex; flex-grow: 1; flex-basis: 0; font-size: 20px; margin: 0; padding: 24px 0; } header_menu nav { display: flex; flex-grow: 1; flex-basis: 0; justify-content: center; align-items: center; } header_menu nav a { white-space: nowrap; text-decoration: none; color: #555555; padding: 10px 10px; margin: 0 10px; font-family: 'gerb'; } header_menu nav a:hover { border-bottom: 1px solid #d9d9d9; } header_menu .link-icons { display: flex; flex-grow: 1; flex-basis: 0; justify-content: flex-end; align-items: center; position: relative; } header_menu .link-icons .search i { font-size: 18px; color: #555555; padding: 9px; border-radius: 50%; cursor: pointer; } header_menu .link-icons .search i:hover { background-color: #555555; color: #394352; } header_menu .link-icons .search input { display: none; border: 0; border-bottom: 1px solid #EEEEEE; padding: 10px 0; max-width: 200px; outline: none; margin-right: 10px; } header_menu .link-icons .responsive-toggle { display: none; } header_menu .link-icons a { position: relative; text-decoration: none; color: #555555; padding: 9px; border-radius: 50%; margin-left: 5px; } header_menu .link-icons a:hover { background-color: #f2f2f2; color:#394352; } header_menu .link-icons a i { font-size: 18px; } header_menu .link-icons a span { display: inline-flex; justify-content: center; align-items: center; text-align: center; background-color: #63748e; 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: 700px; align-items: center; justify-content: center; text-align: center; } main .featured h2 { display: inline-block; margin: 0; width: 1050px; font-family: 'mont', "Courier Bold", Courier, Georgia, Times, "Times New Roman", sans-serif; font-size: 68px; color: #fda104; padding-bottom: 10px; font-weight: bold; } main .featured h5 { font-family: 'Nunito',sans-serif; color: #959B8E; font-size: 16px; } main .featured p { display: inline-block; margin: 0; width: 1050px; font-size: 24px; color: #FFFFFF; } main .recentlyadded h2 { display: block; font-weight: normal; margin: 0; padding: 40px 0; font-size: 24px; text-align: center; width: 100%; white-space: nowrap; } main .limited { padding: 4px 7px; border-radius: 4px; background-color: #136b24; font-weight: 500; font-size: 12px; color: #fff; vertical-align: top; margin-left: 20px; font-style: italic; white-space: nowrap; } main .recentlyadded .products, main .products .products-wrapper { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 40px 0 0 0; justify-content: center } main .recentlyadded .products .product, main .products .products-wrapper .product { display: block; overflow: hidden; text-decoration: none; padding-bottom: 30px; text-align: center; margin: 5px; } main .recentlyadded .products .product img, main .products .products-wrapper .product img { transform: scale(1); transition: transform 1s; } main .products .product .name, main .products .products-wrapper .product .name { display: block; color: #555555; padding: 20px 0 2px 0; text-align: center; font-family: 'gerb'; word-wrap: break-word; } main .recentlyadded .productname { display: block; color: #555555; padding: 20px 0 2px 0; text-align: center; font-size: 15px; font-family: gerb_bold; max-width: 169px; word-wrap: break-word; } main .products .product .price, main .products .products-wrapper .product .price { display: block; color: #999999; text-align: center; } main .recentlyadded .productprice { display: block; color: #555555; text-align: center; font-size:20px; } main .products .product .rrp, main .products .products-wrapper .product .rrp { color: #BBBBBB; text-decoration: line-through; } main .recentlyadded .productrrp { color: #BBBBBB; text-decoration: line-through; } main .recentlyadded .products .product:hover img, main .products .products-wrapper .product:hover img { transform: scale(1.05); transition: transform 1s; } main .recentlyadded .products .product:hover .name, main .products .products-wrapper .product:hover .name { text-decoration: underline; } main > .product { display: flex; padding: 40px 0; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); background: white; border-radius: 12px; margin-bottom: 50px; padding: 10px; width: 95%; } main > .product h1 { font-size: 34px; font-weight: normal; margin: 0; padding: 20px 0 10px 0; font-family: 'gerb'; } main > .product .product-img-large { display: flex; justify-content: center; align-items: center; width: 100%; height: 500px; mix-blend-mode: multiply; } main > .product .product-small-imgs { display: flex; flex-flow: wrap; } main > .product .product-small-imgs .product-img-small { display: flex; align-items: center; justify-content: center; flex-basis: 31%; border: 1px solid #EEEEEE; cursor: pointer; margin: 20px 12px 0 0; mix-blend-mode: multiply; } main > .product .product-small-imgs .product-img-small:nth-child(3n) { margin-right: 0; } main > .product .product-small-imgs .product-img-small.selected { border: 1px solid #c8c8c8; } main > .product .product-img-large img, main > .product .product-img-small img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; } main > .product .product-imgs { flex: 1; padding: 15px; } main > .product .product-wrapper { padding-left: 25px; flex: 1; } main > .product .prices { display: flex; } main > .product .price { display: block; font-size: 22px; color: #999999; } main > .product .rrp { color: #BBBBBB; text-decoration: line-through; font-size: 22px; padding-left: 10px; } main > .product form { display: flex; flex-flow: column; margin: 25px 0 40px 0; } main > .product form label { padding-bottom: 10px; } main > .product form select, main > .product form input[type="number"], main > .product form input[type="text"], main > .product form input[type="datetime-local"] { width: 400px; padding: 8px 10px; margin-bottom: 15px; border: 1px solid #d5d5d5; color: #555555; border-radius: 4px; background-color: #fff; } main > .product form .radio-checkbox { display: flex; flex-flow: wrap; max-width: 400px; } main > .product form .radio-checkbox input { margin: 0 10px 10px 0; } main > .product form .radio-checkbox label { padding-right: 1px; } main > .product form .btn { margin-top: 10px; width: 400px; text-transform: uppercase; padding: 16px; background: #4a90e2; color: white; border: none; border-radius: 8px; font-size: 1.1rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s; } main > .products h1 { display: block; font-weight: normal; margin: 0; padding: 40px 0; font-size: 24px; text-align: center; width: 100%; } main > .products .products-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 40px; font-size: 10px; } main > .products .products-header p { margin: 0; } main > .products .products-header label { padding-left: 20px; font-size: 10px; } main > .products .products-header select { padding: 5px; margin-left: 15px; border: 1px solid #d5d5d5; color: #555555; border-radius: 4px; font-size: 10px; } main > .products .buttons { text-align: right; padding-bottom: 40px; } main > .products .buttons a:first-child { margin-right: 5px; } main .cart h1, main .myaccount h1 { display: block; font-weight: normal; margin: 0; padding: 40px 0; font-size: 24px; text-align: center; width: 100%; } main .cart table, main .myaccount table { width: 100%; } main .cart table thead td, main .myaccount table thead td { padding: 30px 0; border-bottom: 1px solid #EEEEEE; } main .cart table thead td:last-child, main .myaccount table thead td:last-child { text-align: right; } main .cart table tbody td, main .myaccount table tbody td { padding: 20px 0; border-bottom: 1px solid #EEEEEE; } main .cart table tbody td:last-child, main .myaccount table tbody td:last-child { text-align: right; } main .cart table .img, main .myaccount table .img { width: 80px; mix-blend-mode: multiply; } main .cart table .remove, main .myaccount table .remove { color: #777777; font-size: 12px; padding-top: 3px; } main .cart table .remove:hover, main .myaccount table .remove:hover { text-decoration: underline; } main .cart table .price, main .cart table .options, main .myaccount table .price, main .myaccount table .options { color: #999999; } main .cart table .options, main .myaccount table .options { font-size: 14px; max-width: 200px; } main .cart table a, main .myaccount table a { text-decoration: none; color: #555555; } main .cart table input[type="number"], main .myaccount table input[type="number"] { width: 68px; padding: 10px; border: 1px solid #d5d5d5; color: #555555; border-radius: 4px; } main .cart .total, main .myaccount .total { text-align: right; padding: 30px 0 40px 0; } main .cart .total .text, main .myaccount .total .text { padding-right: 40px; font-size: 18px; } main .cart .total .price, main .myaccount .total .price { font-size: 18px; color: #999999; } main .cart .total .note, main .myaccount .total .note { display: block; padding-top: 15px; } main .cart .buttons, main .myaccount .buttons { text-align: right; padding-bottom: 40px; } main .cart .buttons .btn, main .myaccount .buttons .btn { margin: 0 0 10px 5px; } main .placeorder h1 { display: block; font-weight: normal; margin: 0; padding: 40px 0; font-size: 24px; text-align: center; width: 100%; } main .placeorder p { text-align: center; } main .checkout h1, main .myaccount h1 { display: block; font-weight: normal; margin: 0; padding: 40px 0; font-size: 24px; text-align: center; width: 100%; } main .checkout .shipping-details, main .myaccount .shipping-details { width: 600px; display: flex; flex-flow: wrap; padding-bottom: 40px; } main .checkout .shipping-details h2, main .myaccount .shipping-details h2 { width: 100%; font-weight: normal; font-size: 20px; padding: 30px 0 20px 0; margin: 0 0 10px 0; border-bottom: 1px solid #EEEEEE; } main .checkout .shipping-details h2:first-child, main .myaccount .shipping-details h2:first-child { padding: 20px 0 20px 0; } main .checkout .shipping-details label, main .myaccount .shipping-details label { display: block; padding: 15px 0 10px 0; } main .checkout .shipping-details .row1, main .checkout .shipping-details .row2, main .myaccount .shipping-details .row1, main .myaccount .shipping-details .row2 { width: 50%; display: inline-block; } main .checkout .shipping-details .row1, main .myaccount .shipping-details .row1 { padding-right: 10px; } main .checkout .shipping-details .row2, main .myaccount .shipping-details .row2 { padding-left: 10px; } main .checkout .container { display: flex; align-items: flex-start; } main .checkout .shipping-details { margin-right: 25px; width: 100%; } main .checkout .payment-methods { display: flex; flex-flow: wrap; width: 100%; justify-content: space-between; } main .checkout .payment-methods label { text-decoration: none; display: flex; justify-content: center; align-items: center; border: 1px solid #EEEEEE; border-radius: 5px; height: 60px; width: 159px; margin: 10px; font-weight: 500; color: #434f61; padding: 0; cursor: pointer; text-align: center; } main .checkout .payment-methods label .fa-stripe { color: #6671E4; } main .checkout .payment-methods label:nth-child(2), main .checkout .payment-methods label:nth-child(8) { margin-left: 0; } main .checkout .payment-methods label:nth-child(3n) { margin-right: 0; } main .checkout .payment-methods label:hover { border: 1px solid #d5d5d5; } main .checkout .payment-methods input { position: absolute; top: -9999px; left: -9999px; visibility: hidden; } main .checkout .payment-methods input:checked + label { border: 2px solid #7ed1a1; } main .checkout .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; } main .checkout .cart-details h2 { margin: 0; padding: 23px 15px; font-weight: 500; border-bottom: 1px solid #EEEEEE; } main .checkout .cart-details table { width: 100%; padding: 20px; } main .checkout .cart-details table .price { text-align: right; font-weight: 500; } main .checkout .cart-details table td { padding: 5px; mix-blend-mode: multiply; } main .checkout .cart-details .discount-code { padding: 0 23px 23px 23px; } main .checkout .cart-details .discount-code .result { display: block; padding-top: 10px; } main .checkout .cart-details .shipping-methods { border-top: 1px solid #EEEEEE; padding: 23px; } main .checkout .cart-details .shipping-methods h3 { margin: 0; padding: 0 0 10px; font-weight: 500; } main .checkout .cart-details .shipping-methods .shipping-method { padding-top: 10px; margin: 0; } main .checkout .cart-details .total { border-top: 1px solid #EEEEEE; display: flex; justify-content: space-between; padding: 23px; font-size: 18px; font-weight: 500; } main .checkout .cart-details .alt { font-size: 14px; color: #a6aab1; padding-left: 5px; } main .checkout .cart-details .summary { border-top: 1px solid #EEEEEE; padding: 23px 0; } main .checkout .cart-details .summary div { display: flex; justify-content: space-between; padding: 10px 23px; } main .checkout .cart-details .summary div span { font-size: 14px; font-weight: 500; } main .checkout .cart-details .summary .discount span { color: #de0000; } main .checkout .cart-details .buttons { margin: 0 23px 23px 23px; } main .checkout .cart-details .buttons .btn { width: 100%; } main .myaccount { display: flex; flex-flow: wrap; } main .myaccount .menu { padding-right: 35px; width: 300px; } main .myaccount .menu a { display: block; text-decoration: none; color: #888888; padding: 15px 0; border-bottom: 1px solid #f6f6f6; } main .myaccount .menu a:hover { color: #3c3c3c; } main .myaccount .myorders, main .myaccount .mydownloads, main .myaccount .settings { flex: 1; padding-bottom: 50px; } main .myaccount .myorders .order { box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15); margin: 30px 0 30px 0; } main .myaccount .myorders .order .order-header { display: flex; justify-content: space-between; border-bottom: 1px solid #f6f6f6; } main .myaccount .myorders .order .order-header > div { display: flex; padding: 15px; } main .myaccount .myorders .order .order-header > div div { padding-right: 35px; } main .myaccount .myorders .order .order-header > div div:last-child { padding-right: 0; } main .myaccount .myorders .order .order-header > div div span { display: block; font-size: 14px; } main .myaccount .myorders .order .order-items { padding: 15px; } main .myaccount .myorders .order .order-items table { margin: 0; padding: 0; } main .myaccount .settings form { max-width: 400px; } main .myaccount .settings form .btn { margin-top: 25px; } main .myaccount form { width: 100%; } main .myaccount h2 { width: 100%; font-weight: normal; font-size: 20px; padding: 30px 0 20px 0; margin: 0 0 10px 0; border-bottom: 1px solid #EEEEEE; } main .myaccount table { padding-bottom: 40px; } main .myaccount table tr:last-child td { border-bottom: 0; } main .myaccount table a { display: inline-flex; justify-content: center; align-items: center; height: 40px; border: 1px solid #EEEEEE; border-radius: 4px; padding: 0 10px; font-size: 14px; color: #de0000; margin: 0 5px 5px 0; } main .myaccount table a:hover { color: #ab0000; } main .myaccount table a 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 #EEEEEE; } main .myaccount table .name { word-break: break-all; } main .myaccount .login-register { display: flex; width: 100%; justify-content: space-between; margin-top: 40px; } main .myaccount .login-register h1 { text-align: left; padding-top: 15px; } main .myaccount .login-register .login { width: 100%; border-right: 1px solid #f6f6f6; padding-right: 45px; } main .myaccount .login-register .register { width: 100%; padding-left: 45px; } main .myaccount .login-register .btn { margin-top: 25px; } main p.error { color: red; } .img-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); } .img-modal 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: #e9e8e7; padding: 15px; } .img-modal div a { display: inline-flex; align-self: flex-end; text-decoration: none; font-size: 34px; line-height: 26px; color: #bbbbbb; } .img-modal div a:hover { color: #a2a2a2; } .img-modal div 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: #03337a; border: 0; color: #FFFFFF; padding: 11px 16px; font-size: 14px; font-weight: 500; border-radius: 4px; cursor: pointer; } .btn:hover { background: #444954; } .btn:disabled { background: #ddd; } .btn2 { text-decoration: none; background: #03337a; border: 0; color: #FFFFFF; padding: 1px 1px; font-size: 18px; font-weight: 500; border-radius: 4px; cursor: pointer; font-family: good; } .btn2:hover { background: #444954; } .form-label { display: block; padding: 20px 0 10px 0; } .form-field { width: 100%; padding: 10px; border: 1px solid #d5d5d5; border-radius: 4px; background-color: #fff; } footer { position: absolute; border-top: 1px solid #e9e8e7; width: 100%; } footer a { text-decoration: none; color: #555555; } footer a:hover { text-decoration: underline; } /* Responsive CSS below */ @media screen and (max-width: 1050px){ main .recentlyadded .products .product, main .products .products-wrapper .product { margin: 0px; } } @media screen and (max-width: 1050px) { .rhide { display: none; } .content-wrapper { width: 100%; padding: 0 10px; } header { justify-content: space-between; } header h1 { font-size: 16px; flex-basis: auto; } header nav { display: none; position: absolute; left: 0; top: calc(100% + 1px); width: 100%; background-color: #e9e8e7; } header nav a { display: block; padding: 10px 12px; margin: 0; border-bottom: 1px solid #f6f6f6; } header .link-icons { display: inline-flex; width: 100px; } header .link-icons .responsive-toggle { display: block; } header .link-icons .search input { max-width: 150px; } header_menu { justify-content: space-between; } header_menu h1 { font-size: 16px; flex-basis: auto; } header_menu nav { display: none; position: absolute; left: 0; top: calc(100% + 1px); width: 100%; background-color: #e9e8e7; } header_menu nav a { display: block; padding: 10px 12px; margin: 0; border-bottom: 1px solid #f6f6f6; } header_menu .link-icons { display: inline-flex; width: 100px; } header_menu .link-icons .responsive-toggle { display: block; } header_menu .link-icons .search input { max-width: 150px; } main .recentlyadded .products, main .products .products-wrapper { justify-content: center; } main .recentlyadded .products .product, main .products .products-wrapper .product { width: auto; } main .featured { height: 400px; } main .featured h2 { font-size: 40px; width: 100%; padding: 0 10px; } main .featured p { font-size: 22px; width: 100%; padding: 0 10px; } main > .products .products-header { flex-flow: column; } main > .products .products-header p { padding-bottom: 10px; } main > .products .products-header form { display: flex; flex-flow: column; } main > .products .products-header form label { padding-top: 15px; } main > .product { padding: 0 10px; flex-flow: column; } main > .product .product-imgs { padding: 20px 10px 0 10px; } main > .product .product-imgs .product-img-large { height: 300px; } main > .product .product-imgs .product-small-imgs .product-img-small { height: 80px; flex-basis: 30%; } main > .product form input[type="number"], main > .product form input[type="text"], main > .product form input[type="datetime-local"], main > .product form input[type="submit"], main > .product form select { width: 100%; } main > .product .product-wrapper { padding: 0; } main .cart table input[type="number"] { width: 40px; } main .checkout .container, main .myaccount .container { flex-flow: column; } main .checkout .shipping-details .payment-methods, main .myaccount .shipping-details .payment-methods { flex-flow: column; } main .checkout .shipping-details .payment-methods label, main .myaccount .shipping-details .payment-methods label { margin: 0 0 10px 0; } main .checkout .cart-details, main .myaccount .cart-details { margin: 0 0 40px 0; width: 100%; } main .checkout form, main .myaccount form { width: 100%; } main .myaccount .login-register { flex-flow: column; } main .myaccount .login-register .login { border-right: 0; padding: 10px; } main .myaccount .login-register .register { padding: 10px; } main .myaccount .menu { width: 100%; padding-right: 0; } } .about-wrapper{ display: flex; justify-content: center; align-items: center; } /* Extras Section Layout - 4 items per row on large screens - Version 1 with Centering */ .add_products { background-color: var(--color-lighter-gray); padding: 2rem; margin-bottom: 2rem; border: 1px solid var(--color-gray); border-radius: 8px; text-align: center; /* Center the content */ } .add_products h2 { font-size: 1.5rem; margin-bottom: 1.5rem; color: var(--color-heading); text-align: center; text-transform: uppercase; letter-spacing: 1px; position: relative; } .add_products h2:after { content: ""; display: block; width: 50px; height: 2px; background-color: var(--color-primary); margin: 10px auto 0; } /* Create an inner container to center the floated items */ .add_products { position: relative; } .add_products::before { content: ""; display: table; width: 100%; } .add_products::after { content: ""; display: table; clear: both; } /* Float layout for the product items */ .add_product { display: flex; flex-direction: column; /* Stack content vertically */ align-items: center; /* Center content horizontally */ padding: 1rem; border: 1px solid var(--color-gray); border-radius: 8px; margin-bottom: 1rem; transition: all 0.3s ease; background-color: var(--color-white); box-shadow: 0 2px 4px var(--color-shadow); text-align: center; /* Center text content */ /* Float layout for side-by-side positioning */ float: left; width: calc(25% - 0.75rem); /* 4 items per row */ margin-right: 1rem; } /* Remove margin from every 4th item */ .add_product:nth-child(4n+2) { /* Adjust for h2 being first child */ margin-right: 0; } /* Clear float after every 4th item */ .add_product:nth-child(4n+2)::after { content: ""; display: table; clear: both; } .add_product:hover { background-color: var(--color-light-gray); transform: translateY(-2px); box-shadow: 0 4px 8px var(--color-shadow); } .add_product img { width: 60px; height: 60px; object-fit: cover; margin-bottom: 0.5rem; /* Space below image */ border-radius: 4px; transition: opacity 0.3s ease; } .add_product img:hover { opacity: 0.8; } .add_product form { margin: 0.5rem 0; /* Space above and below form */ flex-shrink: 0; } .add_product input[type="submit"] { width: 30px; height: 30px; background-color: var(--color-primary); color: var(--color-white); font-size: 1.2rem; border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; box-shadow: 0 2px 4px var(--color-shadow); } .add_product input[type="submit"]:hover { background-color: var(--color-primary-dark); transform: scale(1.1); } .add_product .product { text-decoration: none; color: inherit; } .add_name { font-weight: 500; color: var(--color-text-dark); display: block; font-size: 0.9rem; line-height: 1.3; margin-bottom: 0.25rem; text-align: center; /* Center the product name */ } .add_price { font-weight: 600; color: var(--color-primary); font-size: 1rem; display: block; text-align: center; /* Center the price */ } /* Centering logic for different screen sizes */ /* Large screens (1200px+) - 4 items per row centered */ @media (min-width: 1200px) { .add_products { /* Calculate centering: container width minus total items width, divided by 2 */ padding-left: calc((100% - (4 * calc(25% - 0.75rem) + 3rem)) / 2 + 2rem); padding-right: calc((100% - (4 * calc(25% - 0.75rem) + 3rem)) / 2 + 2rem); } .add_product { width: calc(25% - 0.75rem); } .add_product:nth-child(5n+2) { /* h2 + 4 products */ margin-right: 0; } .add_product:nth-child(5n+2)::after { content: ""; display: table; clear: both; } } /* Large screens (992px-1199px) - 4 items per row centered */ @media (max-width: 1199px) and (min-width: 992px) { .add_products { padding-left: calc((100% - (4 * calc(25% - 0.75rem) + 3rem)) / 2 + 2rem); padding-right: calc((100% - (4 * calc(25% - 0.75rem) + 3rem)) / 2 + 2rem); } .add_product { width: calc(25% - 0.75rem); } } /* Medium screens (768px-991px) - 3 items per row centered */ @media (max-width: 991px) and (min-width: 768px) { .add_products { padding-left: calc((100% - (3 * calc(33.33% - 0.67rem) + 2rem)) / 2 + 1.5rem); padding-right: calc((100% - (3 * calc(33.33% - 0.67rem) + 2rem)) / 2 + 1.5rem); } .add_product { width: calc(33.33% - 0.67rem); } .add_product:nth-child(4n+2) { margin-right: 1rem; } .add_product:nth-child(4n+4) { /* h2 + 3 products */ margin-right: 0; } .add_product:nth-child(4n+2)::after { display: none; } .add_product:nth-child(4n+4)::after { content: ""; display: table; clear: both; } } /* Small screens (576px-767px) - 2 items per row centered */ @media (max-width: 767px) and (min-width: 576px) { .add_products { padding-left: calc((100% - (2 * calc(50% - 0.5rem) + 1rem)) / 2 + 1.5rem); padding-right: calc((100% - (2 * calc(50% - 0.5rem) + 1rem)) / 2 + 1.5rem); } .add_product { width: calc(50% - 0.5rem); } .add_product:nth-child(4n+2), .add_product:nth-child(4n+4) { margin-right: 1rem; } .add_product:nth-child(odd) { margin-right: 1rem; } .add_product:nth-child(even) { margin-right: 0; } .add_product:nth-child(4n+2)::after, .add_product:nth-child(4n+4)::after { display: none; } .add_product:nth-child(even)::after { content: ""; display: table; clear: both; } } /* Extra small screens (575px and below) - 1 item per row centered */ @media (max-width: 575px) { .add_product { float: none; width: 100%; margin-right: 0; margin-left: auto; margin-right: auto; flex-direction: column; /* Already set, but keeping for clarity */ text-align: center; padding: 1rem; max-width: 300px; /* Limit width on very small screens */ } .add_product:nth-child(n) { margin-right: 0; } .add_product:nth-child(n)::after { display: none; } .add_product img { margin-bottom: 0.5rem; /* Already set correctly */ } .add_product form { margin: 0.5rem 0; /* Already set correctly */ } .add_name { text-align: center; margin-bottom: 0.25rem; } .add_price { text-align: center; } .add_products { padding: 1rem; } } .top { max-width: 50%; text-align: left; margin: 40px; } .add_samples{ overflow-x: scroll; overflow-y: hidden; white-space: nowrap; width:60%; display: inline-block; vertical-align: middle; } .add_sample{ width:fit-content; display: inline-block; padding: 10px; text-align: center; mix-blend-mode: multiply; } .add_sample input[type='submit']{ border-radius: 90px; background-color: green; color: #fff; border: none; position: relative; top: -15px; left: 20px; z-index: 999; } .add_sample a{ text-decoration: none; } .add_sample_button{ vertical-align: middle; display: inline-block; } .scrollButton{ text-decoration: none; background: #2e38462b; border: 0; color: #FFFFFF; padding: 11px 5px; font-size: 14px; font-weight: 500; border-radius: 4px; cursor: pointer; }