@font-face { font-family: "Open Sans"; font-weight: 300; src: url("/static/fonts/OpenSans-Light.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: regular; src: url("/static/fonts/OpenSans-Regular.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: regular; font-style: italic; src: url("/static/fonts/OpenSans-RegularItalic.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 700; src: url("/static/fonts/OpenSans-SemiBold.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 700; font-style: italic; src: url("/static/fonts/OpenSans-SemiBoldItalic.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 800; src: url("/static/fonts/OpenSans-Bold.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 800; font-style: italic; src: url("/static/fonts/OpenSans-BoldItalic.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 900; src: url("/static/fonts/OpenSans-ExtraBold.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 900; font-style: italic; src: url("/static/fonts/OpenSans-ExtraBoldItalic.ttf") format("truetype"); } body { background: #ffffff; margin: 4rem; font-family: "Open Sans", sans-serif, sans, monospace; line-height: 1.5; } @font-face { font-family: "Open Sans"; font-weight: 300; src: url("/static/fonts/OpenSans-Light.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: regular; src: url("/static/fonts/OpenSans-Regular.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: regular; font-style: italic; src: url("/static/fonts/OpenSans-RegularItalic.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 700; src: url("/static/fonts/OpenSans-SemiBold.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 700; font-style: italic; src: url("/static/fonts/OpenSans-SemiBoldItalic.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 800; src: url("/static/fonts/OpenSans-Bold.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 800; font-style: italic; src: url("/static/fonts/OpenSans-BoldItalic.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 900; src: url("/static/fonts/OpenSans-ExtraBold.ttf") format("truetype"); } @font-face { font-family: "Open Sans"; font-weight: 900; font-style: italic; src: url("/static/fonts/OpenSans-ExtraBoldItalic.ttf") format("truetype"); } * { box-sizing: border-box; } a { color: #529b57; font-weight: bold; } nav { margin-bottom: 2rem; font-size: 1.25rem; } nav a.active { text-decoration: none; opacity: 0.5; } .container { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; } .logo { height: 95px; position: relative; display: flex; gap: 1.25rem; align-items: center; margin-bottom: 1rem; } .logo::before { background-image: url("/static/logo-bg.png"); background-repeat: no-repeat; background-size: cover; position: absolute; left: -50px; top: -58px; z-index: -1; content: ""; width: 215px; height: 215px; } .logo-glasses { position: absolute; top: -10px; left: 35px; width: 70px; object-fit: contain; pointer-events: none; } .logo img, .logo a { height: 95px; width: 108.38px; } .logo h1 { font-weight: 900; } h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5rem; } h1 { font-size: 1.75rem; line-height: 1.2; } h2 { font-size: 1.75rem; } h3 { font-size: 1.375rem; } .h5 { font-size: 1.125rem; font-style: normal; } .side { max-width: 23rem; } .side h2 { font-weight: 900; } .content { max-width: 56rem; width: 100%; } .content h2 { font-size: 3.5rem; font-weight: 900; line-height: 1; } p { margin-top: 0; } .gallery { display: grid; grid-template-columns: repeat(9, 1fr); grid-template-rows: repeat(16, 5rem); grid-gap: 1rem; max-width: calc(100vw - 6rem); width: 100%; } .gallery > div { position: relative; background-color: #00000011; } .gallery > div:nth-child(1) { grid-column: 1 / span 4; grid-row: 1 / span 5; } .gallery > div:nth-child(2) { grid-column: 1 / span 4; grid-row: 6 / span 3; } .gallery > div:nth-child(3) { grid-column: 5 / span 5; grid-row: 1 / span 8; } .gallery > div:nth-child(4) { grid-column: 1 / span 5; grid-row: 9 / span 8; } .gallery > div:nth-child(5) { grid-column: 6 / span 4; grid-row: 9 / span 4; } .gallery > div:nth-child(6) { grid-column: 6 / span 4; grid-row: 13 / span 4; } .gallery a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; } .gallery img, .gallery video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; } .shop-items { display: flex; gap: 2.5rem 1.5rem; flex-wrap: wrap; } .shop-item { width: 17.5rem; } .shop-item-not-published { opacity: 0.5; } .shop-item-imgs { background-color: #00000011; position: relative; width: 17.5rem; margin-bottom: 1rem; aspect-ratio: 1; overflow: hidden; } .shop-item-img { position: absolute; left: 0; top: 0; object-fit: cover; object-position: center; height: 100%; width: 100%; opacity: 0; } .shop-item-img:first-child { opacity: 1; } .shop-item-img:hover { opacity: 1; left: 0 !important; width: 100% !important; z-index: 2 !important; } .shop-item-price { font-size: 1.25rem; margin-bottom: 0.5rem; } .shop-item-title { font-size: 1.25rem; margin-top: 0.25rem;; margin-bottom: 0.25rem; } .product-page-layout { display: flex; gap: 2rem; } .product-page-layout > div { flex: 50%; } .product-page-imgs { display: flex; flex-direction: column; gap: 1rem; } .product-page-img, .product-page-img-mobile { max-width: 100%; width: 100%; } .product-page-img-mobile { display: none; } .basket-item { display: flex; gap: 0.75rem; } .basket-item { margin-top: 1rem; } .basket-item-title { font-size: 1rem; } .basket-item-image img { width: 5.25rem; height: 5.25rem; object-fit: cover; object-position: center; } .basket-item-price { font-size: 1rem; font-style: italic; } .basket-item-remove { margin-top: 0.25rem; } .form { display: flex; flex-direction: column; gap: 2rem; max-width: 35rem; } .form-group { display: flex; flex-direction: column; gap: 1rem; } .form-row label { display: block; margin-bottom: 0.25rem; font-weight: 600; } .form-row input[type=checkbox] { vertical-align: middle; margin-left: 0; } .form-row input[type=checkbox] + label { display: inline; } .form-row select, .form-row textarea, .form-row input:not([type=checkbox]) { width: 100%; } .form-row input:not([type=checkbox]), .form-row select { height: 1.75rem; } .form-file-img { width: 3.5rem; height: 3.5rem; object-fit: cover; object-position: center; } .form textarea { min-height: 4rem; } .form-required-marker { font-size: 0.75rem; opacity: 0.4; } .form-error { font-style: italic; color: crimson; font-size: 0.75rem; font-weight: bold; margin-top: 0.375rem; } .form-subheader { margin-bottom: -0.375rem; } .form-help { opacity: 0.4; font-size: 0.75rem; margin-top: 0.375rem; } .form-error + .form-help { margin-top: 0.25rem; } .d-flex { display: flex; } .gap-1 { gap: 1rem; } .d-inline-block { display: inline-block; } .mb-0 { margin-bottom: 0; } .mb-0-5 { margin-bottom: 0.5rem; } .mb-1 { margin-bottom: 1rem; } .mb-1-5 { margin-bottom: 1.5rem; } .mb-2 { margin-bottom: 2rem; } @media screen and (max-width: 50rem) { body { margin: 1rem 1rem 1.5rem; } .side { max-width: 100%; } .content h2 { font-size: 3rem; } .gallery { display: flex; flex-direction: column; gap: 1.5rem; max-width: 100%; } .gallery > div { display: contents; position: relative; display: flex; } .gallery img, .gallery video { position: static; } .product-page-layout { flex-direction: column; } .product-page-img-mobile { display: block; } .product-page-imgs > *:first-child { display: none; } } @media screen and (max-width: 41rem) { .shop-item, .shop-item-imgs, .shop-item-img { width: 100%; } } @media (prefers-color-scheme: dark) { body { background-color: #211e1c; color: #ffffff; } a { color: burlywood; } .gallery > div { background-color: #ffffff22; } .shop-item-imgs { background-color: #ffffff22; } .logo::before { background-image: url("/static/logo-dark-bg.png"); } }