background
foreground
muted
muted foreground
popover
popover foreground
card
card foreground
border
input
primary
primary foreground
secondary
secondary foreground
accent
accent foreground
destructive
destructive foreground
ring
sidebar
sidebar foreground
sidebar primary
sidebar primary-foreground
sidebar accent
sidebar accent-foreground
sidebar border
sidebar ring
Edit CSS variables
Create a single-page website that replicates the design and functionality of https://fine-artis.pl/. The website should incorporate the following features: 1. Layout and Design: Ensure the layout mirrors the original site, focusing on aesthetics and user experience. 2. Theme Switcher: Include a theme switcher that allows users to toggle between light and dark modes seamlessly. 3. Language Switcher: Integrate a language switcher that utilizes getLocale(), setLocale(), and locales (leave as a placeholders). 4. Responsive Design: Ensure the website is fully responsive, providing an optimal viewing experience across various devices. Here's source code of said site (common components code was replaced with just comments that say what the component was):
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport"content="width=device-width,initial-scale=1,shrink-to-fit=no">
<meta name="author"content="Untree.co">
<link rel="shortcut icon"href="favicon.png">
<meta name="description"content="Fine Artis to młode studio powstałe z pasji do fotografii. Pragniemy świadczyć usługi dla naszych klientów w sposób profesjonalny, pomysłowy i przyjazny, dla osiągnięcia najlepszych wyników zdjęć i dla maksymlnego zadowolenia klientów.">
<meta name="keywords"content="Fotograf Warszawa, Zdjęcia ślub, Zdjęcia chrzciny, Zdjęcia imprezy, Zdjęcia wyjazd, Fotograf ślub, Fotograf chrzciny, Fotograf imprezy, Fotograf wyjazd, Sesje zdjęciowe Warszawa, Sesje foto Warszawa, Zdjęcia okolicznościowe, Zdjęcia warszawa">
<meta name="robots"content="index, follow">
<link rel="canonical"href="https://fine-artis.pl/">
<title>Fine Artis.</title>
<style>
@import"https://fonts.googleapis.com/css?family=Arimo:400|Inder:400|Raleway:300,400,700&display=swap";@font-face{font-family:"icomoon";src:url("../fonts/icomoon.eot?e3826c");src:url("../fonts/icomoon.eot?e3826c#iefix") format("embedded-opentype"),url("../fonts/icomoon.ttf?e3826c") format("truetype"),url("../fonts/icomoon.woff?e3826c") format("woff"),url("../fonts/icomoon.svg?e3826c#icomoon") format("svg");font-weight:normal;font-style:normal;font-display:block}[class^=icon-],[class*=" icon-"]{font-family:"icomoon" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-asterisk:before{content:""}.icon-plus:before{content:""}.icon-question:before{content:""}.icon-minus:before{content:""}.icon-glass:before{content:""}.icon-music:before{content:""}.icon-search:before{content:""}.icon-envelope-o:before{content:""}.icon-heart:before{content:""}.icon-star:before{content:""}.icon-star-o:before{content:""}.icon-user:before{content:""}.icon-film:before{content:""}.icon-th-large:before{content:""}.icon-th:before{content:""}.icon-th-list:before{content:""}.icon-check:before{content:""}.icon-close:before{content:""}.icon-remove:before{content:""}.icon-times:before{content:""}.icon-search-plus:before{content:""}.icon-search-minus:before{content:""}.icon-power-off:before{content:""}.icon-signal:before{content:""}.icon-cog:before{content:""}.icon-gear:before{content:""}.icon-trash-o:before{content:""}.icon-home:before{content:""}.icon-file-o:before{content:""}.icon-clock-o:before{content:""}.icon-road:before{content:""}.icon-download:before{content:""}.icon-arrow-circle-o-down:before{content:""}.icon-arrow-circle-o-up:before{content:""}.icon-inbox:before{content:""}.icon-play-circle-o:before{content:""}.icon-repeat:before{content:""}.icon-rotate-right:before{content:""}.icon-refresh:before{content:""}.icon-list-alt:before{content:""}.icon-lock:before{content:""}.icon-flag:before{content:""}.icon-headphones:before{content:""}.icon-volume-off:before{content:""}.icon-volume-down:before{content:""}.icon-volume-up:before{content:""}.icon-qrcode:before{content:""}.icon-barcode:before{content:""}.icon-tag:before{content:""}.icon-tags:before{content:""}.icon-book:before{content:""}.icon-bookmark:before{content:""}.icon-print:before{content:""}.icon-camera:before{content:""}.icon-font:before{content:""}.icon-bold:before{content:""}.icon-italic:before{content:""}.icon-text-height:before{content:""}.icon-text-width:before{content:""}.icon-align-left:before{content:""}.icon-align-center:before{content:""}.icon-align-right:before{content:""}.icon-align-justify:before{content:""}.icon-list:before{content:""}.icon-dedent:before{content:""}.icon-outdent:before{content:""}.icon-indent:before{content:""}.icon-video-camera:before{content:""}.icon-image:before{content:""}.icon-photo:before{content:""}.icon-picture-o:before{content:""}.icon-pencil:before{content:""}.icon-map-marker:before{content:""}.icon-adjust:before{content:""}.icon-tint:before{content:""}.icon-edit:before{content:""}.icon-pencil-square-o:before{content:""}.icon-share-square-o:before{content:""}.icon-check-square-o:before{content:""}.icon-arrows:before{content:""}.icon-step-backward:before{content:""}.icon-fast-backward:before{content:""}.icon-backward:before{content:""}.icon-play:before{content:""}.icon-pause:before{content:""}.icon-stop:before{content:""}.icon-forward:before{content:""}.icon-fast-forward:before{content:""}.icon-step-forward:before{content:""}.icon-eject:before{content:""}.icon-chevron-left:before{content:""}.icon-chevron-right:before{content:""}.icon-plus-circle:before{content:""}.icon-minus-circle:before{content:""}.icon-times-circle:before{content:""}.icon-check-circle:before{content:""}.icon-question-circle:before{content:""}.icon-info-circle:before{content:""}.icon-crosshairs:before{content:""}.icon-times-circle-o:before{content:""}.icon-check-circle-o:before{content:""}.icon-ban:before{content:""}.icon-arrow-left:before{content:""}.icon-arrow-right:before{content:""}.icon-arrow-up:before{content:""}.icon-arrow-down:before{content:""}.icon-mail-forward:before{content:""}.icon-share:before{content:""}.icon-expand:before{content:""}.icon-compress:before{content:""}.icon-exclamation-circle:before{content:""}.icon-gift:before{content:""}.icon-leaf:before{content:""}.icon-fire:before{content:""}.icon-eye:before{content:""}.icon-eye-slash:before{content:""}.icon-exclamation-triangle:before{content:""}.icon-warning:before{content:""}.icon-plane:before{content:""}.icon-calendar:before{content:""}.icon-random:before{content:""}.icon-comment:before{content:""}.icon-magnet:before{content:""}.icon-chevron-up:before{content:""}.icon-chevron-down:before{content:""}.icon-retweet:before{content:""}.icon-shopping-cart:before{content:""}.icon-folder:before{content:""}.icon-folder-open:before{content:""}.icon-arrows-v:before{content:""}.icon-arrows-h:before{content:""}.icon-bar-chart:before{content:""}.icon-bar-chart-o:before{content:""}.icon-twitter-square:before{content:""}.icon-facebook-square:before{content:""}.icon-camera-retro:before{content:""}.icon-key:before{content:""}.icon-cogs:before{content:""}.icon-gears:before{content:""}.icon-comments:before{content:""}.icon-thumbs-o-up:before{content:""}.icon-thumbs-o-down:before{content:""}.icon-star-half:before{content:""}.icon-heart-o:before{content:""}.icon-sign-out:before{content:""}.icon-linkedin-square:before{content:""}.icon-thumb-tack:before{content:""}.icon-external-link:before{content:""}.icon-sign-in:before{content:""}.icon-trophy:before{content:""}.icon-upload:before{content:""}.icon-lemon-o:before{content:""}.icon-phone:before{content:""}.icon-square-o:before{content:""}.icon-bookmark-o:before{content:""}.icon-phone-square:before{content:""}.icon-twitter:before{content:""}.icon-facebook:before{content:""}.icon-facebook-f:before{content:""}.icon-unlock:before{content:""}.icon-credit-card:before{content:""}.icon-feed:before{content:""}.icon-rss:before{content:""}.icon-hdd-o:before{content:""}.icon-bullhorn:before{content:""}.icon-bell-o:before{content:""}.icon-certificate:before{content:""}.icon-hand-o-right:before{content:""}.icon-hand-o-left:before{content:""}.icon-hand-o-up:before{content:""}.icon-hand-o-down:before{content:""}.icon-arrow-circle-left:before{content:""}.icon-arrow-circle-right:before{content:""}.icon-arrow-circle-up:before{content:""}.icon-arrow-circle-down:before{content:""}.icon-globe:before{content:""}.icon-wrench:before{content:""}.icon-tasks:before{content:""}.icon-filter:before{content:""}.icon-briefcase:before{content:""}.icon-arrows-alt:before{content:""}.icon-group:before{content:""}.icon-users:before{content:""}.icon-chain:before{content:""}.icon-link:before{content:""}.icon-cloud:before{content:""}.icon-flask:before{content:""}.icon-cut:before{content:""}.icon-scissors:before{content:""}.icon-copy:before{content:""}.icon-files-o:before{content:""}.icon-paperclip:before{content:""}.icon-floppy-o:before{content:""}.icon-save:before{content:""}.icon-square:before{content:""}.icon-bars:before{content:""}.icon-navicon:before{content:""}.icon-reorder:before{content:""}.icon-list-ul:before{content:""}.icon-list-ol:before{content:""}.icon-strikethrough:before{content:""}.icon-underline:before{content:""}.icon-table:before{content:""}.icon-magic:before{content:""}.icon-truck:before{content:""}.icon-pinterest:before{content:""}.icon-pinterest-square:before{content:""}.icon-money:before{content:""}.icon-caret-down:before{content:""}.icon-caret-up:before{content:""}.icon-caret-left:before{content:""}.icon-caret-right:before{content:""}.icon-columns:before{content:""}.icon-sort:before{content:""}.icon-unsorted:before{content:""}.icon-sort-desc:before{content:""}.icon-sort-down:before{content:""}.icon-sort-asc:before{content:""}.icon-sort-up:before{content:""}.icon-envelope:before{content:""}.icon-linkedin:before{content:""}.icon-rotate-left:before{content:""}.icon-undo:before{content:""}.icon-gavel:before{content:""}.icon-legal:before{content:""}.icon-dashboard:before{content:""}.icon-tachometer:before{content:""}.icon-comment-o:before{content:""}.icon-comments-o:before{content:""}.icon-bolt:before{content:""}.icon-flash:before{content:""}.icon-sitemap:before{content:""}.icon-umbrella:before{content:""}.icon-clipboard:before{content:""}.icon-paste:before{content:""}.icon-lightbulb-o:before{content:""}.icon-exchange:before{content:""}.icon-cloud-download:before{content:""}.icon-cloud-upload:before{content:""}.icon-user-md:before{content:""}.icon-stethoscope:before{content:""}.icon-suitcase:before{content:""}.icon-bell:before{content:""}.icon-coffee:before{content:""}.icon-cutlery:before{content:""}.icon-file-text-o:before{content:""}.icon-building-o:before{content:""}.icon-hospital-o:before{content:""}.icon-ambulance:before{content:""}.icon-medkit:before{content:""}.icon-fighter-jet:before{content:""}.icon-beer:before{content:""}.icon-h-square:before{content:""}.icon-plus-square:before{content:""}.icon-angle-double-left:before{content:""}.icon-angle-double-right:before{content:""}.icon-angle-double-up:before{content:""}.icon-angle-double-down:before{content:""}.icon-angle-left:before{content:""}.icon-angle-right:before{content:""}.icon-angle-up:before{content:""}.icon-angle-down:before{content:""}.icon-desktop:before{content:""}.icon-laptop:before{content:""}.icon-tablet:before{content:""}.icon-mobile:before{content:""}.icon-mobile-phone:before{content:""}.icon-circle-o:before{content:""}.icon-quote-left:before{content:""}.icon-quote-right:before{content:""}.icon-spinner:before{content:""}.icon-circle:before{content:""}.icon-mail-reply:before{content:""}.icon-reply:before{content:""}.icon-folder-o:before{content:""}.icon-folder-open-o:before{content:""}.icon-smile-o:before{content:""}.icon-frown-o:before{content:""}.icon-meh-o:before{content:""}.icon-gamepad:before{content:""}.icon-keyboard-o:before{content:""}.icon-flag-o:before{content:""}.icon-flag-checkered:before{content:""}.icon-terminal:before{content:""}.icon-code:before{content:""}.icon-mail-reply-all:before{content:""}.icon-reply-all:before{content:""}.icon-star-half-empty:before{content:""}.icon-star-half-full:before{content:""}.icon-star-half-o:before{content:""}.icon-location-arrow:before{content:""}.icon-crop:before{content:""}.icon-code-fork:before{content:""}.icon-chain-broken:before{content:""}.icon-unlink:before{content:""}.icon-info:before{content:""}.icon-exclamation:before{content:""}.icon-superscript:before{content:""}.icon-subscript:before{content:""}.icon-eraser:before{content:""}.icon-puzzle-piece:before{content:""}.icon-microphone:before{content:""}.icon-microphone-slash:before{content:""}.icon-shield:before{content:""}.icon-calendar-o:before{content:""}.icon-fire-extinguisher:before{content:""}.icon-rocket:before{content:""}.icon-chevron-circle-left:before{content:""}.icon-chevron-circle-right:before{content:""}.icon-chevron-circle-up:before{content:""}.icon-chevron-circle-down:before{content:""}.icon-html5:before{content:""}.icon-css3:before{content:""}.icon-anchor:before{content:""}.icon-unlock-alt:before{content:""}.icon-bullseye:before{content:""}.icon-ellipsis-h:before{content:""}.icon-ellipsis-v:before{content:""}.icon-rss-square:before{content:""}.icon-play-circle:before{content:""}.icon-ticket:before{content:""}.icon-minus-square:before{content:""}.icon-minus-square-o:before{content:""}.icon-level-up:before{content:""}.icon-level-down:before{content:""}.icon-check-square:before{content:""}.icon-pencil-square:before{content:""}.icon-external-link-square:before{content:""}.icon-share-square:before{content:""}.icon-compass:before{content:""}.icon-caret-square-o-down:before{content:""}.icon-toggle-down:before{content:""}.icon-caret-square-o-up:before{content:""}.icon-toggle-up:before{content:""}.icon-caret-square-o-right:before{content:""}.icon-toggle-right:before{content:""}.icon-eur:before{content:""}.icon-euro:before{content:""}.icon-gbp:before{content:""}.icon-dollar:before{content:""}.icon-usd:before{content:""}.icon-inr:before{content:""}.icon-rupee:before{content:""}.icon-cny:before{content:""}.icon-jpy:before{content:""}.icon-rmb:before{content:""}.icon-yen:before{content:""}.icon-rouble:before{content:""}.icon-rub:before{content:""}.icon-ruble:before{content:""}.icon-krw:before{content:""}.icon-won:before{content:""}.icon-bitcoin:before{content:""}.icon-btc:before{content:""}.icon-file:before{content:""}.icon-file-text:before{content:""}.icon-sort-alpha-asc:before{content:""}.icon-sort-alpha-desc:before{content:""}.icon-sort-amount-asc:before{content:""}.icon-sort-amount-desc:before{content:""}.icon-sort-numeric-asc:before{content:""}.icon-sort-numeric-desc:before{content:""}.icon-thumbs-up:before{content:""}.icon-thumbs-down:before{content:""}.icon-youtube-square:before{content:""}.icon-youtube:before{content:""}.icon-youtube-play:before{content:""}.icon-dropbox:before{content:""}.icon-instagram:before{content:""}.icon-flickr:before{content:""}.icon-tumblr:before{content:""}.icon-tumblr-square:before{content:""}.icon-long-arrow-down:before{content:""}.icon-long-arrow-up:before{content:""}.icon-long-arrow-left:before{content:""}.icon-long-arrow-right:before{content:""}.icon-apple:before{content:""}.icon-windows:before{content:""}.icon-android:before{content:""}.icon-linux:before{content:""}.icon-skype:before{content:""}.icon-trello:before{content:""}.icon-female:before{content:""}.icon-male:before{content:""}.icon-gittip:before{content:""}.icon-gratipay:before{content:""}.icon-sun-o:before{content:""}.icon-moon-o:before{content:""}.icon-archive:before{content:""}.icon-bug:before{content:""}.icon-pagelines:before{content:""}.icon-stack-exchange:before{content:""}.icon-arrow-circle-o-right:before{content:""}.icon-arrow-circle-o-left:before{content:""}.icon-caret-square-o-left:before{content:""}.icon-toggle-left:before{content:""}.icon-dot-circle-o:before{content:""}.icon-wheelchair:before{content:""}.icon-vimeo-square:before{content:""}.icon-try:before{content:""}.icon-turkish-lira:before{content:""}.icon-plus-square-o:before{content:""}.icon-space-shuttle:before{content:""}.icon-envelope-square:before{content:""}.icon-openid:before{content:""}.icon-bank:before{content:""}.icon-institution:before{content:""}.icon-university:before{content:""}.icon-graduation-cap:before{content:""}.icon-mortar-board:before{content:""}.icon-yahoo:before{content:""}.icon-google:before{content:""}.icon-language:before{content:""}.icon-fax:before{content:""}.icon-building:before{content:""}.icon-child:before{content:""}.icon-paw:before{content:""}.icon-spoon:before{content:""}.icon-cube:before{content:""}.icon-steam:before{content:""}.icon-steam-square:before{content:""}.icon-recycle:before{content:""}.icon-automobile:before{content:""}.icon-car:before{content:""}.icon-cab:before{content:""}.icon-taxi:before{content:""}.icon-tree:before{content:""}.icon-spotify:before{content:""}.icon-deviantart:before{content:""}.icon-soundcloud:before{content:""}.icon-database:before{content:""}.icon-file-pdf-o:before{content:""}.icon-file-word-o:before{content:""}.icon-file-excel-o:before{content:""}.icon-file-powerpoint-o:before{content:""}.icon-file-image-o:before{content:""}.icon-file-photo-o:before{content:""}.icon-file-picture-o:before{content:""}.icon-file-archive-o:before{content:""}.icon-file-zip-o:before{content:""}.icon-file-audio-o:before{content:""}.icon-file-sound-o:before{content:""}.icon-file-movie-o:before{content:""}.icon-file-video-o:before{content:""}.icon-file-code-o:before{content:""}.icon-vine:before{content:""}.icon-life-bouy:before{content:""}.icon-life-buoy:before{content:""}.icon-life-ring:before{content:""}.icon-life-saver:before{content:""}.icon-support:before{content:""}.icon-circle-o-notch:before{content:""}.icon-paper-plane:before{content:""}.icon-send:before{content:""}.icon-paper-plane-o:before{content:""}.icon-send-o:before{content:""}.icon-history:before{content:""}.icon-circle-thin:before{content:""}.icon-header:before{content:""}.icon-paragraph:before{content:""}.icon-sliders:before{content:""}.icon-share-alt:before{content:""}.icon-share-alt-square:before{content:""}.icon-bomb:before{content:""}.icon-binoculars:before{content:""}.icon-plug:before{content:""}.icon-slideshare:before{content:""}.icon-twitch:before{content:""}.icon-newspaper-o:before{content:""}.icon-wifi:before{content:""}.icon-calculator:before{content:""}.icon-paypal:before{content:""}.icon-google-wallet:before{content:""}.icon-cc-visa:before{content:""}.icon-cc-mastercard:before{content:""}.icon-cc-discover:before{content:""}.icon-cc-amex:before{content:""}.icon-cc-paypal:before{content:""}.icon-cc-stripe:before{content:""}.icon-bell-slash:before{content:""}.icon-bell-slash-o:before{content:""}.icon-trash:before{content:""}.icon-copyright:before{content:""}.icon-at:before{content:""}.icon-eyedropper:before{content:""}.icon-paint-brush:before{content:""}.icon-birthday-cake:before{content:""}.icon-area-chart:before{content:""}.icon-pie-chart:before{content:""}.icon-line-chart:before{content:""}.icon-toggle-off:before{content:""}.icon-toggle-on:before{content:""}.icon-bicycle:before{content:""}.icon-bus:before{content:""}.icon-angellist:before{content:""}.icon-cart-plus:before{content:""}.icon-cart-arrow-down:before{content:""}.icon-user-secret:before{content:""}.icon-motorcycle:before{content:""}.icon-street-view:before{content:""}.icon-heartbeat:before{content:""}.icon-venus:before{content:""}.icon-mars:before{content:""}.icon-mercury:before{content:""}.icon-intersex:before{content:""}.icon-transgender:before{content:""}.icon-transgender-alt:before{content:""}.icon-venus-double:before{content:""}.icon-mars-double:before{content:""}.icon-venus-mars:before{content:""}.icon-mars-stroke:before{content:""}.icon-mars-stroke-v:before{content:""}.icon-mars-stroke-h:before{content:""}.icon-neuter:before{content:""}.icon-genderless:before{content:""}.icon-facebook-official:before{content:""}.icon-pinterest-p:before{content:""}.icon-whatsapp:before{content:""}.icon-server:before{content:""}.icon-user-plus:before{content:""}.icon-user-times:before{content:""}.icon-bed:before{content:""}.icon-hotel:before{content:""}.icon-train:before{content:""}.icon-subway:before{content:""}.icon-expeditedssl:before{content:""}.icon-object-group:before{content:""}.icon-object-ungroup:before{content:""}.icon-sticky-note:before{content:""}.icon-sticky-note-o:before{content:""}.icon-clone:before{content:""}.icon-balance-scale:before{content:""}.icon-hourglass-o:before{content:""}.icon-hourglass-1:before{content:""}.icon-hourglass-start:before{content:""}.icon-hourglass-2:before{content:""}.icon-hourglass-half:before{content:""}.icon-hourglass-3:before{content:""}.icon-hourglass-end:before{content:""}.icon-hourglass:before{content:""}.icon-hand-grab-o:before{content:""}.icon-hand-rock-o:before{content:""}.icon-hand-paper-o:before{content:""}.icon-hand-stop-o:before{content:""}.icon-hand-scissors-o:before{content:""}.icon-hand-lizard-o:before{content:""}.icon-hand-spock-o:before{content:""}.icon-hand-pointer-o:before{content:""}.icon-hand-peace-o:before{content:""}.icon-trademark:before{content:""}.icon-registered:before{content:""}.icon-creative-commons:before{content:""}.icon-tripadvisor:before{content:""}.icon-wikipedia-w:before{content:""}.icon-safari:before{content:""}.icon-chrome:before{content:""}.icon-firefox:before{content:""}.icon-opera:before{content:""}.icon-television:before{content:""}.icon-tv:before{content:""}.icon-calendar-plus-o:before{content:""}.icon-calendar-minus-o:before{content:""}.icon-calendar-times-o:before{content:""}.icon-calendar-check-o:before{content:""}.icon-map-pin:before{content:""}.icon-map-signs:before{content:""}.icon-map-o:before{content:""}.icon-map:before{content:""}.icon-commenting:before{content:""}.icon-commenting-o:before{content:""}.icon-vimeo:before{content:""}.icon-credit-card-alt:before{content:""}.icon-usb:before{content:""}.icon-pause-circle:before{content:""}.icon-pause-circle-o:before{content:""}.icon-stop-circle:before{content:""}.icon-stop-circle-o:before{content:""}.icon-shopping-bag:before{content:""}.icon-shopping-basket:before{content:""}.icon-hashtag:before{content:""}.icon-bluetooth:before{content:""}.icon-bluetooth-b:before{content:""}.icon-percent:before{content:""}.icon-universal-access:before{content:""}.icon-wheelchair-alt:before{content:""}.icon-question-circle-o:before{content:""}.icon-blind:before{content:""}.icon-audio-description:before{content:""}.icon-braille:before{content:""}.icon-assistive-listening-systems:before{content:""}.icon-american-sign-language-interpreting:before{content:""}.icon-asl-interpreting:before{content:""}.icon-deaf:before{content:""}.icon-deafness:before{content:""}.icon-hard-of-hearing:before{content:""}.icon-sign-language:before{content:""}.icon-signing:before{content:""}.icon-low-vision:before{content:""}.icon-snapchat:before{content:""}.icon-snapchat-ghost:before{content:""}.icon-snapchat-square:before{content:""}.icon-handshake-o:before{content:""}.icon-envelope-open:before{content:""}.icon-envelope-open-o:before{content:""}.icon-address-book:before{content:""}.icon-address-book-o:before{content:""}.icon-address-card:before{content:""}.icon-vcard:before{content:""}.icon-address-card-o:before{content:""}.icon-vcard-o:before{content:""}.icon-user-circle:before{content:""}.icon-user-circle-o:before{content:""}.icon-user-o:before{content:""}.icon-telegram:before{content:""}.icon-podcast:before{content:""}.icon-etsy:before{content:""}.icon-imdb:before{content:""}.icon-microchip:before{content:""}.icon-snowflake-o:before{content:""}.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0, 0, 0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0 !important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3, 1.3);transform:scale(1.3, 1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#fff;font-size:14px;margin:5px;padding:4px 7px;background:#d6d6d6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#fff;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#d6d6d6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
/*!
* animate.css - https://animate.style/
* Version - 4.1.1
* Licensed under the MIT license - http://opensource.org/licenses/MIT
*
* Copyright (c) 2020 Animate.css
*/
/*!
* Bootstrap v4.6.2 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
</style>
</head>
<body data-spy="scroll"data-target=".site-nav-target"data-offset="200">
<nav class="unslate_co--site-mobile-menu">
<div class="close-wrap d-flex">
<a href="#"class="d-flex ml-auto js-menu-toggle">
<span class="close-label">Zamknij</span>
<div class="close-times">
<span class="bar1"></span>
<span class="bar2"></span>
</div>
</a>
</div>
<div class="site-mobile-inner"></div>
</nav>
<div class="unslate_co--site-wrap">
<div class="unslate_co--site-inner">
<nav class="unslate_co--site-nav site-nav-target">
<div class="container">
<div class="row align-items-center justify-content-between text-left">
<div class="col-md-5 text-right">
<ul class="site-nav-ul js-clone-nav text-left d-none d-lg-inline-block">
<li><a href="#home-section"class="nav-link">Start</a></li>
<li><a href="#services-section"class="nav-link">Usługi</a></li>
<li><a href="#portfolio-section"class="nav-link">Portfolio</a></li>
</ul>
</div>
<div class="site-logo pos-absolute">
<a href="#"class="unslate_co--site-logo">Fine Artis<span>.</span></a>
</div>
<div class="col-md-5 text-right text-lg-left">
<ul class="site-nav-ul js-clone-nav text-left d-none d-lg-inline-block">
<li><a href="#about-section"class="nav-link">O nas</a></li>
<li><a href="#testimonial-section"class="nav-link">Opinie</a></li>
<li><a href="#contact-section"class="nav-link">Kontakt</a></li>
</ul>
<ul class="site-nav-ul-none-onepage text-right d-inline-block d-lg-none">
<li><a href="#"class="js-menu-toggle">Menu</a></li>
</ul>
</div>
</div>
</div>
</nav>
<div class="cover-v1 jarallax bg-light"id="home-section">
<div class="container">
<div class="row align-items-center">
<div class="col-md-8 mx-auto text-center">
<h1 class="heading gsap-reveal-hero">Fine Artis</h1>
<h2 class="subheading gsap-reveal-hero">Studio fotografii artystycznej</h2>
</div>
</div>
</div>
</div>
<div class="site-section unslate_co--section"id="services-section">
<div class="container">
<div class="section-heading-wrap text-center mb-5"data-aos="fade-up">
<h2 class="heading-h2 text-center divider">Zakres usług</h2>
</div>
<div class="row">
<div class="col-md-4 mb-1"data-aos="fade-up"data-aos-delay="100">
<div class="service d-flex h-100">
<div class="service-number mr-4"><span>01</span></div>
<div class="service-about">
<h3>Sesje zdjęciowe</h3>
<p>Realizujemy sesje zdjęciowe indywidualne i grupowe.
Miejscem może być nasze studio lub inne miejsce wspólnie ustalone.
Lubimy współpracować z osobami fotografowanymi, by fotograf i model weszli w czesie sesji w dialog współpracy,
przekładający się na spontaniczne zdjęcia i ujęcie chwili. Cenimy kreatywność, innowacyjność, czasem eksperymenty.</p>
</div>
</div>
</div>
<div class="col-md-4 mb-1"data-aos="fade-up"data-aos-delay="200">
<div class="service d-flex h-100">
<div class="service-number mr-4"><span>02</span></div>
<div class="service-about">
<h3>Ważne uroczystości</h3>
<p>Z przyjemnością uczestniczymy w wyjątkowych dniach dla naszych klientów. Staramy się pomóc im w utrwaleniu
ważnych momentów w ich życiu tak, by zapomnieli o stresie i cieszyli się dobrą zabawą wiedząc, że wszystkie istotne systuacje będą
utrwalone przez nas.</p>
</div>
</div>
</div>
<div class="col-md-4 mb-1"data-aos="fade-up"data-aos-delay="100">
<div class="service d-flex h-100">
<div class="service-number mr-4"><span>03</span></div>
<div class="service-about">
<h3>Imprezy okolicznościowe</h3>
<p>Chętnie wspieramy klientów w życiu codziennym i realizacji ich istotnych spotkań, wydarzeń osobistych
i towarzyskich. Staramy się by chwile te były zapisane na zdjęciach w sposób barwny i ciekawy.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="unslate_co--section bg-light"id="portfolio-section">
<div class="container">
<div class="section-heading-wrap text-center mb-5"data-aos="fade-up">
<h2 class="heading-h2 text-center divider">Portfolio</h2>
</div>
<div class="relative">
<div class="loader-portfolio-wrap">
<div class="loader-portfolio"></div>
</div>
</div>
<div id="portfolio-single-holder"></div>
<div class="portfolio-wrapper">
<div id="posts"class="row gutter-isotope-item">
<div class="item web branding col-sm-6 col-md-6 col-lg-4 isotope-mb-2">
<a href="portfolio-single-design.html"class="portfolio-item ajax-load-page isotope-item gsap-reveal-img"data-id="1">
<div class="overlay">
<span class="wrap-icon icon-link"></span>
<div class="portfolio-item-content">
<h3>Architektura</h3>
<p>design, architecture</p>
</div>
</div>
<img src="images/portfolio/design/low/IMG_20210102_221807.jpg"class="lazyload img-fluid"alt="Images">
</a>
</div>
<div class="item branding packaging col-sm-6 col-md-6 col-lg-4 isotope-mb-2">
<a href="portfolio-single-landscape.html"class="portfolio-item isotope-item gsap-reveal-img ajax-load-page"data-id="2">
<div class="overlay">
<span class="wrap-icon icon-link"></span>
<div class="portfolio-item-content">
<h3>Krajobrazy</h3>
<p>nature, landscape</p>
</div>
</div>
<img src="images/portfolio/landscape/low/IMG_20221023_163935980_HDR.jpg"class="lazyload img-fluid"alt="Images">
</a>
</div>
<div class="item branding packaging illustration col-sm-6 col-md-6 col-lg-4 isotope-mb-2">
<a href="portfolio-single-sessions.html"class="portfolio-item item-portrait isotope-item gsap-reveal-img ajax-load-page"data-id="3">
<div class="overlay">
<span class="wrap-icon icon-link"></span>
<div class="portfolio-item-content">
<h3>Sesje</h3>
<p>session, photo, camera</p>
</div>
</div>
<img src="images/portfolio/sessions/low/IMG_20221214_193700239.jpg"class="lazyload img-fluid"alt="Images">
</a>
</div>
<div class="item web packaging col-sm-6 col-md-6 col-lg-4 isotope-mb-2">
<a href="portfolio-single-events.html"class="portfolio-item isotope-item gsap-reveal-img ajax-load-page"data-id="4">
<div class="overlay">
<span class="wrap-icon icon-link"></span>
<div class="portfolio-item-content">
<h3>Imprezy</h3>
<p>event, important</p>
</div>
</div>
<img src="images/portfolio/events/low/866A0987.JPG"class="lazyload img-fluid"alt="Images">
</a>
</div>
<div class="item illustration packaging col-sm-6 col-md-6 col-lg-4 isotope-mb-2">
<a href="portfolio-single-macro.html"class="portfolio-item isotope-item gsap-reveal-img ajax-load-page"data-id="5">
<div class="overlay">
<span class="wrap-icon icon-link"></span>
<div class="portfolio-item-content">
<h3>Macro</h3>
<p>macro, close, detail</p>
</div>
</div>
<img src="images/portfolio/macro/low/Lato 2006 kwatki 007.jpg"class="lazyload img-fluid"alt="Images">
</a>
</div>
<div class="item web branding col-sm-6 col-md-6 col-lg-4 isotope-mb-2">
<a href="portfolio-single-portrets.html"class="portfolio-item item-portrait isotope-item gsap-reveal-img ajax-load-page"data-id="6">
<div class="overlay">
<span class="wrap-icon icon-link"></span>
<div class="portfolio-item-content">
<h3>Portrety</h3>
<p>personal, face</p>
</div>
</div>
<img src="images/portfolio/portrets/low/866A3273.JPG"class="lazyload img-fluid"alt="Images">
</a>
</div>
</div>
</div>
</div>
</div>
<div class="unslate_co--section"id="about-section">
<div class="container">
<div class="row mt-5 justify-content-between align-items-center">
<div class="col-lg-6 mb-5 mb-lg-0"data-aos="fade-up">
<figure class="dotted-bg">
<img src="images/profile.jpg"alt="Image"class="img-fluid">
</figure>
</div>
<div class="col-lg-6 pl-lg-5"data-aos="fade-up"data-aos-delay="100">
<h3 class="mb-4 heading-h3">Co nas wyróżnia</h3>
<p>Fine Artis to młode studio powstałe z pasji do fotografii. </p>
<p class="mb-4">Pragniemy świadczyć usługi dla naszych klientów w sposób profesjonalny, pomysłowy i przyjazny,
dla osiągnięcia najlepszych wyników zdjęć i dla maksymlnego zadowolenia klientów.</p>
<ul class="list-unstyled list-check d-block">
<li class="d-block">Indywidualne podejście do każdego zlecenia pod względem pomysłu i wspólnych ustaleń co do koncepcji</li>
<li class="d-block">Możliwość dostosowania oferty do potrzeb klienta pod względem organizacyjnym, czasowym, scenografii, kosztów itp.</li>
<li class="d-block">Bieżąca, plastyczna i konstruktywna współpraca w trakcie zlecenia, z klientem i innymi uczestnikami sesji lub imprezy
(np. stylista, makijażystka, orkiestra, DJ, restaurator...) by każda systuacja i każde zdjęcie było optymalnie
wykorzystane i utrwalone.</li>
</ul>
</div>
</div>
</div>
</div>
<div class="unslate_co--section bg-light"id="testimonial-section">
<div class="container">
<div class="section-heading-wrap text-center mb-5"data-aos="fade-up">
<h2 class="heading-h2 text-center divider">Opinie naszych klientów</h2>
</div>
</div>
<div class="owl-carousel testimonial-slider"data-aos="fade-up">
<div>
<div class="testimonial-v1">
<div class="testimonial-inner-bg">
<div class="testimonial-author-info">
<img src="images/opinions/nobody_female.jpg"alt="Image">
<h3>Oksana</h3>
<span class="d-block position">Lekarz</span>
</div>
<blockquote>
Skorzystałam z usług Fine Artis dla realizacji osobistej sesji zdjęciowej i zdjęć nieruchomości na potrzeby banku.
Współpraca była bardzo przyjemna, czułam się swobonie i modnie, a zdjęcia z sesji wyszły urocze i pomysłowe.
Za pewne za jakiś czas ponownie zamówię sesję w nowej stylistyce, być może ze znajomymi, ponieważ lubię pamiąki,
zwłaszcza kreatywne. Polecam
</blockquote>
</div>
</div>
</div>
<div>
<div class="testimonial-v1">
<div class="testimonial-inner-bg">
<div class="testimonial-author-info">
<img src="images/opinions/nobody_female.jpg"alt="Image">
<h3>Elżbieta</h3>
<span class="d-block position">Klient</span>
</div>
<blockquote>
W lecie mieliśmy z mężem urodziny. Zrobiliśmy razem imprezę rodzinną.
Fine Artis wykonał zdjęcia, które teraz doskonale odtwarzają radosny klimat spotkania i stanowią bezcenną pamiątkę, przywracając wspomnienia.
To była usługa z dojazdem.
Polecam!
</blockquote>
</div>
</div>
</div>
<div>
<div class="testimonial-v1">
<div class="testimonial-inner-bg">
<div class="testimonial-author-info">
<img src="images/opinions/nobody_female.jpg"alt="Image">
<h3>Kasia</h3>
<span class="d-block position">Właściciel BeautyMama</span>
</div>
<blockquote>
Wybrałam Fine Artis dla sfotografowania mojej sesji weselnej i mogę stwierdzić, że to była Moja jedna z najlepszych decyzji w organizacji ślubu.
Tą magię atmosfery, którą stworzył Fine Artis nie można ująć w słowo "współpraca".
Była złapana każda wyjątkowa chwila, każda niezapomniana emocja.
Jestem zachwycona profesjonalizmem i estetyczną wizją fotografa
Na pewno nie raz skorzystam z usług Fine Artis w swojej beauty branży...❤️
</blockquote>
</div>
</div>
</div>
</div>
</div>
<div class="unslate_co--section"id="contact-section">
<div class="container">
<div class="section-heading-wrap text-center mb-5"data-aos="fade-up">
<h2 class="heading-h2 text-center divider">Kontakt</h2>
</div>
<div class="row justify-content-around">
<div class="col-md-6"data-aos="fade-up"data-aos-delay="100">
<form method="post"class="form-outline-style-v1"id="contactForm">
<div class="form-group row mb-0">
<div class="col-lg-12 form-group">
<label for="subject">Temat</label>
<input name="subject"class="form-control"id="subject">
</div>
<div class="col-lg-12 form-group">
<label for="body">Napisz swoją wiadomość...</label>
<textarea name="body"id="body"cols="30"rows="7"class="form-control"></textarea>
</div>
</div>
<div class="form-group row">
<div class="col-md-12 d-flex align-items-center">
<input type="submit"class="btn btn-primary mr-3"value="Wyslij wiadomość">
<span class="submitting"></span>
</div>
</div>
</form>
<div id="form-message-warning"class="mt-4"></div>
<div id="form-message-success">
Twoja wiadomość została wysłana, dziękuję!
</div>
</div>
<div class="col-md-4"data-aos-delay="200">
<div class="contact-info-v1">
<div class="d-block">
<span class="d-block contact-info-label">Email</span>
<a href="mailto:[email protected]"class="contact-info-val">[email protected]</a>
</div>
<div class="d-block">
<span class="d-block contact-info-label">Telefon</span>
<a href="tel:+48 692 920 006"class="contact-info-val">+48 532 92 92 60</a>
</div>
<div class="d-block">
<span class="d-block contact-info-label">Adres</span>
<address class="contact-info-val">Usługi z <br> dojazdem</address>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="unslate_co--footer unslate_co--section">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-7">
<div class="footer-site-logo"><a href="#">Fine Artis<span>.</span></a></div>
<ul class="list-unstyled social-icons light">
<li><a href="#"><span class="icon-facebook"></span></a></li>
<li><a href="#"><span class="icon-twitter"></span></a></li>
<li><a href="#"><span class="icon-linkedin"></span></a></li>
<li><a href="#"><span class="icon-instagram"></span></a></li>
<li><a href="#"><span class="icon-tumblr"></span></a></li>
</ul>
<p class="site-copyright"><small>Copyright ©
<script>document.write((new Date).getFullYear()),document.currentScript.remove()</script>. All Rights Reserved. — Designed with
love by <a href="https://untree.co"target="_blank"rel="nofollow noopener">Untree.co</a> • <a href="https://untree.co/license"target="_blank"rel="nofollow noopener">License</a>
</small></p>
</div>
</div>
</div>
</footer>
</div>
<div id="unslate_co--overlayer"></div>
<div class="site-loader-wrap">
<div class="site-loader"></div>
</div>
<script>
// jquery-3.6.3.min.js
// popper.min.js
// bootstrap.min.js
// owl.carousel.min.js
// aos.js
// isotope.pkgd.min.js
// jquery.animateNumber.min.js
// jquery.waypoints.min.js
// TweenMax.min.js
// jquery.easing.min.js
// jarallax.min.js
// jarallax-video.min.js
// jquery.validate.min.js
// jquery.fancybox.min.js
// imagesloaded.pkgd.min.js
// ScrollMagic.min.js
// ScrollMagic.animation.gsap.min.js
// ScrollMagic.debug.addIndicators.min.js
</script>
<script>
AOS.init({duration:800,easing:"ease",once:!0,offset:-100}),jQuery(function(e){loader(),siteMenuClone(),mobileToggleClick(),onePageNavigation(),siteIstotope(),portfolioItemClick(),owlCarouselPlugin(),floatingLabel(),scrollWindow(),counter(),jarallaxPlugin(),contactForm(),animateReveal()});var siteIstotope=function(){var o=$("#posts").isotope({itemSelector:".item",isFitWidth:!0});$(window).resize(function(){o.isotope({columnWidth:".col-sm-3"})}),o.isotope({filter:"*"}),$("#filters").on("click","a",function(e){e.preventDefault();e=$(this).attr("data-filter");o.isotope({filter:e}),$("#filters a").removeClass("active"),$(this).addClass("active")}),o.imagesLoaded().progress(function(){o.isotope("layout")}).done(function(){$(".gsap-reveal-img").each(function(){var e=$(this).html();$(this).html('<div class="reveal-wrap"><span class="cover"></span><div class="reveal-content">'+e+"</div></div>")});var n,s=new ScrollMagic.Controller,e=$(".gsap-reveal-img");e.length&&(n=0,e.each(function(){var e=$(this).find(".cover"),o=$(this).find(".reveal-content"),a=$(this).find(".reveal-content img"),t=new TimelineMax;setTimeout(function(){t.set(a,{scale:"2.0",autoAlpha:1}).to(e,1,{marginLeft:"0",ease:Expo.easeInOut,onComplete(){t.set(o,{autoAlpha:1}),t.to(e,1,{marginLeft:"102%",ease:Expo.easeInOut}),t.to(a,2,{scale:"1.0",ease:Expo.easeOut},"-=1.5")}})},700*n),new ScrollMagic.Scene({triggerElement:this,duration:"0%",reverse:!1,offset:"-300%"}).setTween(t).addTo(s);n++}))}),$(".js-filter").on("click",function(e){e.preventDefault(),$("#filters").toggleClass("active")})},loader=function(){setTimeout(function(){TweenMax.to(".site-loader-wrap",1,{marginTop:50,autoAlpha:0,ease:Power4.easeInOut})},10),$(".site-loader-wrap").delay(200).fadeOut("slow"),$("#unslate_co--overlayer").delay(200).fadeOut("slow")},siteMenuClone=function(){setTimeout(function(){$(".js-clone-nav").each(function(){$(this).clone().attr("class","site-nav-wrap").appendTo(".site-mobile-inner")});var o=0;$(".unslate_co--site-mobile-menu .has-children").each(function(){var e=$(this);e.prepend('<span class="arrow-collapse collapsed">'),e.find(".arrow-collapse").attr({"data-toggle":"collapse","data-target":"#collapseItem"+o}),e.find("> ul").attr({class:"collapse",id:"collapseItem"+o}),o++})},1e3),$("body").on("click",".arrow-collapse",function(e){var o=$(this);o.closest("li").find(".collapse").hasClass("show")?o.removeClass("active"):o.addClass("active"),e.preventDefault()}),$(window).resize(function(){768<$(this).width()&&$("body").hasClass("offcanvas")&&$("body").removeClass("offcanvas")}),$(".js-burger-toggle-menu").click(function(e){e.preventDefault(),$("body").hasClass("offcanvas")?($("body").removeClass("offcanvas"),$(".js-burger-toggle-menu").removeClass("open")):($("body").addClass("offcanvas"),$(".js-burger-toggle-menu").addClass("open"))})},owlCarouselPlugin=function(){$(".testimonial-slider").owlCarousel({center:!1,items:1,loop:!0,stagePadding:20,margin:10,smartSpeed:2e3,autoplay:!0,autoplayHoverPause:!0,dots:!0,nav:!0,navText:['<span class="icon-chevron-left">','<span class="icon-chevron-right">'],responsive:{400:{stagePadding:20,margin:10},600:{stagePadding:100,margin:50}}}),owlSingleSlider(),$(".logo-slider").length&&$(".logo-slider").owlCarousel({center:!1,loop:!0,stagePadding:0,margin:0,smartSpeed:1e3,autoplay:!0,autoplayHoverPause:!0,dots:!1,nav:!1,responsive:{400:{items:2},768:{items:3},1e3:{items:5}}})},owlSingleSlider=function(){$(".single-slider").length&&$(".single-slider").owlCarousel({center:!1,items:1,loop:!0,stagePadding:0,margin:0,smartSpeed:1500,autoplay:!0,autoplayHoverPause:!0,dots:!0,nav:!0,navText:['<span class="icon-chevron-left">','<span class="icon-chevron-right">'],responsive:{400:{stagePadding:0,margin:0},600:{stagePadding:0,margin:0}}})},floatingLabel=function(){$(".form-control").on("input",function(){var e=$(this).closest(".form-group");this.value?e.addClass("field--not-empty"):e.removeClass("field--not-empty")})},scrollWindow=function(){$(window).scroll(function(e){var o=$(this).scrollTop(),a=$(".unslate_co--site-nav");150<o&&(a.hasClass("scrolled")||a.addClass("scrolled")),o<150&&a.hasClass("scrolled")&&a.removeClass("scrolled sleep"),350<o&&(a.hasClass("awake")||a.addClass("awake")),o<350&&a.hasClass("awake")&&(a.removeClass("awake"),a.addClass("sleep"))})},counter=function(){$(".section-counter").waypoint(function(e){var a;"down"!==e||$(this.element).hasClass("ftco-animated")||(a=$.animateNumber.numberStepFactories.separator(","),$(this.element).find(".number-counter").each(function(){var e=$(this),o=e.data("number");e.animateNumber({number:o,numberStep:a},{easing:"swing",duration:3e3})}))},{offset:"95%"})},mobileToggleClick=function(){$(".js-menu-toggle").click(function(e){e.preventDefault(),$("body").hasClass("offcanvas")?($("body").removeClass("offcanvas"),$(".js-menu-toggle").removeClass("active"),$(".js-burger-toggle-menu").length&&$(".js-burger-toggle-menu").removeClass("open")):($("body").addClass("offcanvas"),$(".js-menu-toggle").addClass("active"),$(".js-burger-toggle-menu").length&&$(".js-burger-toggle-menu").addClass("open"))}),$(document).mouseup(function(e){var o=$(".unslate_co--site-mobile-menu");o.is(e.target)||0!==o.has(e.target).length||$("body").hasClass("offcanvas")&&($("body").removeClass("offcanvas"),$("body").find(".js-menu-toggle").removeClass("active"),$("body").find(".js-burger-toggle-menu").removeClass("open"))})},onePageNavigation=function(){$(".site-menu-toggle");$("body").on("click",".unslate_co--site-nav .site-nav-ul li a[href^='#'], .smoothscroll[href^='#'], .unslate_co--site-mobile-menu .site-nav-wrap li a[href^='#']",function(e){e.preventDefault();e=$("body"),e.hasClass("offcanvas")&&(e.removeClass("offcanvas"),$("body").find(".js-burger-toggle-menu").removeClass("open")),e=this.hash;$("html, body").animate({scrollTop:$(e).offset().top-30},1e3,"easeInOutExpo")})},portfolioItemClick=function(){$(".ajax-load-page").on("click",function(e){var o=$(this).data("id"),a=$(this).attr("href");$("#portfolio-single-holder > div").length&&$("#portfolio-single-holder > div").remove(),TweenMax.to(".loader-portfolio-wrap",1,{top:"-50px",autoAlpha:1,display:"block",ease:Power4.easeOut}),$("html, body").animate({scrollTop:$("#portfolio-section").offset().top-50},700,"easeInOutExpo"),setTimeout(function(){loadPortfolioSinglePage(o,a)},100),e.preventDefault()}),$("body").on("click",".js-close-portfolio",function(){setTimeout(function(){$("html, body").animate({scrollTop:$("#portfolio-section").offset().top-50},700,"easeInOutExpo")},200),TweenMax.set(".portfolio-wrapper",{visibility:"visible",height:"auto"}),TweenMax.to(".portfolio-single-inner",1,{marginTop:"50px",opacity:0,display:"none",onComplete(){TweenMax.to(".portfolio-wrapper",1,{marginTop:"0px",autoAlpha:1,position:"relative"})}})})},loadPortfolioSinglePage=($(document).ajaxStop(function(){setTimeout(function(){TweenMax.to(".loader-portfolio-wrap",1,{top:"0px",autoAlpha:0,ease:Power4.easeOut})},400)}),function(a,e){return $.ajax({url:e,type:"GET",success:function(e){TweenMax.to(".portfolio-wrapper",1,{marginTop:"50px",autoAlpha:0,visibility:"hidden",onComplete(){TweenMax.set(".portfolio-wrapper",{height:0})}});var o=$("#portfolio-single-holder"),e=$(e).find(".portfolio-single-wrap").html();o.append('<div id="portfolio-single-'+a+'" class="portfolio-single-inner"><span class="unslate_co--close-portfolio js-close-portfolio d-flex align-items-center"><span class="close-portfolio-label">Back to Portfolio</span><span class="icon-close wrap-icon-close"></span></span>'+e+"</div>"),setTimeout(function(){owlSingleSlider()},10),setTimeout(function(){TweenMax.set(".portfolio-single-inner",{marginTop:"100px",autoAlpha:0,display:"none"}),TweenMax.to(".portfolio-single-inner",.5,{marginTop:"0px",autoAlpha:1,display:"block",onComplete(){TweenMax.to(".loader-portfolio-wrap",1,{top:"0px",autoAlpha:0,ease:Power4.easeOut})}})},700)}}),!1}),jarallaxPlugin=function(){$(".jarallax").jarallax({speed:.2}),jarallax(document.querySelectorAll(".jarallax-video"),{speed:.2,videoSrc:"https://www.youtube.com/watch?v=dQw4w9WgXcQ"})},contactForm=function(){0<$("#contactForm").length&&$("#contactForm").validate({rules:{subject:{required:!0,minlength:5},body:{required:!0,minlength:15}},messages:{subject:"Podaj temat wiadomości",body:"Napisz wiadomość"},errorElement:"span",errorLabelContainer:".form-error",submitHandler:function(e){$(".submitting");var o="mailto:[email protected]?";o+=$(e).serialize(),window.open(o,"_blank")}})},animateReveal=function(){var a,t,n=new ScrollMagic.Controller,e=$(".gsap-reveal"),e=($(".gsap-reveal").each(function(){$(this).append('<span class="cover"></span>')}),e.length&&(a=0,e.each(function(){var e=$(this).find(".cover"),o=new TimelineMax;setTimeout(function(){o.fromTo(e,2,{skewX:0},{xPercent:101,transformOrigin:"0% 100%",ease:Expo.easeInOut})},0*a),new ScrollMagic.Scene({triggerElement:this,duration:"0%",reverse:!1,offset:"-300%"}).setTween(o).addTo(n);a++})),$(".gsap-reveal-hero").each(function(){var e=$(this).html();$(this).html('<span class="reveal-wrap"><span class="cover"></span><span class="reveal-content">'+e+"</span></span>")}),$(".gsap-reveal-hero"));e.length&&(t=0,e.each(function(){var e=$(this).find(".cover"),o=$(this).find(".reveal-content"),a=new TimelineMax;setTimeout(function(){a.to(e,1,{marginLeft:"0",ease:Expo.easeInOut,onComplete(){a.set(o,{x:0}),a.to(e,1,{marginLeft:"102%",ease:Expo.easeInOut})}})},0*t),new ScrollMagic.Scene({triggerElement:this,duration:"0%",reverse:!1,offset:"-300%"}).setTween(a).addTo(n);t++}))};
</script>
I'll create a beautiful photography studio website that replicates the Fine Artis design. The site will feature a modern layout with a navigation bar, hero section, services, portfolio grid, about section, testimonials, and contact form. I'll include theme switching (light/dark mode) and language switching functionality, plus ensure it's fully responsive across all devices.
Analyze the following errors and fix them:
$:
is not allowed in runes mode, use $derived
or $effect
instead
https://svelte.dev/e/legacy_reactive_statement_invalidI'll fix the Svelte 5 runes error by replacing the legacy $:
reactive statement with the new $derived
rune in the portfolio section.
Each entry on portfolio grid should open image gallery as popup
I'll add an image gallery popup functionality to the portfolio section. When users click on a portfolio item, it will open a modal with multiple images that they can navigate through with previous/next buttons and keyboard controls.
Portfolio should not use filters, remove them
I'll remove the filter functionality from the portfolio section, so it will display all portfolio items without any filtering options.
Modify the image gallery functionality so that when it is open, scrolling on the main page is disabled. Ensure that the gallery takes focus, preventing any background scrolling to enhance the user experience.
I'll modify the image gallery to disable background scrolling when it's open. This will prevent the main page from scrolling while users navigate through the gallery, creating a better user experience by keeping focus on the gallery content.
Implement a fixed-height container for the testimonials section to ensure a consistent layout, regardless of the variable height of the displayed testimonials. The container should maintain a uniform height that accommodates the tallest testimonial, preventing layout shifts during transitions. Additionally, ensure that the design remains visually appealing and user-friendly, with smooth transitions between testimonials.
I'll modify the testimonials section to use a fixed-height container that prevents layout shifts when switching between testimonials. This will ensure a consistent layout regardless of testimonial length, with smooth transitions and proper responsive behavior.
Modify the hero section of the website to replace the current scroll indicator, which features a jumping mouse, with a static mouse icon. Instead of the mouse jumping, implement a scroll wheel animation that visually guides users to scroll down. This change should enhance the user experience by providing a clearer indication of the scrolling action without distracting movement. Ensure that the new design maintains the overall aesthetic of the hero section and is consistent with the website's theme.
I'll modify the hero section's scroll indicator to replace the bouncing mouse with a static mouse icon featuring an animated scroll wheel. This will provide a clearer visual cue for scrolling while maintaining the website's aesthetic and being less distracting than the current jumping animation.
Below the mouse, add a subtle text element that says "Scroll down" to guide users in scrolling down the page.
I'll add a subtle "Scroll down" text element below the mouse scroll indicator to provide clear guidance for users on how to navigate the page.
In the mobile UI of the Hero section, replace the current mouse guide for scrolling down with a swipe guide that features a pointer hand icon pointing with a finger, indicating the action of swiping up with trail. Ensure that this change is exclusive to the mobile version, while the desktop UI retains the existing mouse guide. This adjustment should enhance the user experience by providing clearer instructions tailored to mobile users.
I'll modify the hero section to show a swipe gesture indicator with a hand icon on mobile devices, while keeping the mouse scroll indicator on desktop. The mobile version will feature an animated hand with an upward swipe motion and trail effect to guide users appropriately.
Ensure that every clickable button on the website changes the mouse cursor to a pointer when hovered over, clearly indicating its clickability to users. This enhancement should be applied consistently across all interactive elements to improve user experience and accessibility.
I'll add cursor pointer styling to all clickable elements across the website to ensure users can clearly identify interactive elements. This will improve the user experience and accessibility by providing consistent visual feedback.
Language selector, theme button, send message, menu button (mobile ui): aren't changing cursor pointer, but they should
You're right! The shadcn Button components need explicit cursor-pointer styling. I'll add the cursor-pointer class to the theme toggle buttons, language switcher button, mobile menu button, and the send message button to ensure they all show the pointer cursor on hover.
Testimonials prev/next buttons as well Image gallery prev/next/close buttons as well
You're absolutely right! I'll add cursor-pointer styling to the testimonials navigation buttons and all the image gallery buttons (close, previous, and next) to ensure they show the pointer cursor on hover.
Enhance the existing image gallery in the mobile UI to support swipe gestures for navigation. Implement functionality that allows users to swipe right to view the previous image and swipe left to view the next image. Ensure that the gesture recognition is smooth and responsive, providing a seamless user experience. Additionally, consider incorporating visual indicators or animations to enhance the interaction feedback when swiping between images.
I'll enhance the image gallery with mobile swipe gestures, allowing users to swipe left for next image and right for previous image. I'll add smooth animations, visual feedback, and ensure responsive touch handling for a seamless mobile experience.
Modify the image gallery functionality to eliminate the forced delay when transitioning between images or clicking on specific image. Ensure that while the transitions remain smooth, users can change images instantly based on their interactions. The goal is to provide a seamless experience where users have control over the image navigation without unnecessary waiting times.
I'll remove the artificial delays from the image gallery navigation functions, allowing users to change images instantly while maintaining smooth CSS transitions. This will provide immediate responsiveness to user interactions without unnecessary waiting times.
Adjust the mobile UI for the testimonials section to ensure that avatars are displayed correctly without being cropped, regardless of the height of the testimonial content. Implement a solution that dynamically adjusts the avatar size or the layout to maintain a consistent appearance across different testimonial heights. Ensure that the design remains visually appealing and user-friendly on mobile devices.
I'll adjust the mobile testimonials layout to prevent avatar cropping by implementing responsive height constraints, adjusting avatar sizes for mobile screens, and ensuring proper spacing. This will maintain a consistent and visually appealing design across all device sizes.
Revise the services tiles on the website to ensure they do not overflow on smaller screens. The redesign should focus on creating a responsive layout that adapts to various screen sizes, maintaining a clean and organized appearance. Implement a grid or flexbox system that allows the tiles to stack vertically or adjust their size based on the available screen width. Ensure that the text and images within the tiles are appropriately scaled and that there is sufficient padding to enhance readability and user experience. Test the layout across different devices to confirm that it remains visually appealing and functional.
I'll redesign the services section to be fully responsive, preventing overflow on smaller screens. I'll implement a proper grid system that stacks tiles vertically on mobile, shows 2 columns on tablets, and 3 columns on desktop, with appropriately scaled text and spacing for optimal readability across all devices.
Address the issue with the testimonials viewer where it experiences a slight jump up and back when switching between testimonials, particularly the jump occurs only when some part of the testimonials themselves aren't visible in the viewport, the less is visible, the bigger is the jump below it. While fixing, ensure that the testimonials viewer still maintains a fixed height to prevent any height changes between different testimonials. This will enhance the user experience by providing a stable interface during transitions, whether they are triggered by user interaction or auto-play.
I'll fix the testimonial jump issue by preventing browser auto-scrolling behavior and scroll anchoring that occurs when content changes. I'll add CSS properties to stabilize the container position and ensure smooth transitions without viewport jumps, while maintaining the fixed height container.