*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}:root{--main-content-width:870px;--background:#ececec;--transparent-bg:#ecececb3;--foreground:#222;--accent:#f06;--shadow-alpha:.25;--shadow:rgba(0, 0, 0, var(--shadow-alpha));--highlight-alpha:1;--highlight:rgba(255, 255, 255, var(--highlight-alpha));--header-height:80px;--left-gap:170px;--lines-color:#fff;--moon2:"moon2", "Quicksand", sans-serif;--drawer-speed:.5s}html,body{letter-spacing:.1rem;background:var(--background);width:100%;height:100dvh;font-family:moon2,Arial,Helvetica,sans-serif;overflow:hidden}@font-face{font-family:moon2;src:url(/fonts/moon2.0-light-webfont.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:moon2;src:url(/fonts/moon2.0-regular-webfont.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:moon2;src:url(/fonts/moon2.0-bold-webfont.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}header{width:100%;height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:0 8%;display:flex;position:fixed;top:0;left:0;box-shadow:0 4px 20px #0003}header nav ul{gap:2.5rem;list-style:none;display:flex}.container{touch-action:pan-y pinch-zoom;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.container.dragging{cursor:grabbing;scroll-snap-type:none}.page{margin-top:var(--header-height);height:calc(100dvh - var(--header-height));scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:0 0 100vw;gap:4rem;padding-bottom:100px;transition:box-shadow .2s;position:relative;overflow:hidden auto}.page>*{flex-shrink:0}#Home{background-color:var(--background);flex-direction:column;align-items:center;display:flex}#Gallery{flex-direction:column;align-items:center;width:100%;display:flex}#Gallery>*{width:100%}.home-page-wrapper{flex-direction:column;justify-content:space-between;align-items:center;gap:5rem;width:100vw;display:flex}.section{max-width:var(--main-content-width);flex-direction:column;width:90%;display:flex}.section-content-services{flex-direction:column;padding:.5rem 0;display:flex}.section-content{flex-direction:column;gap:2rem;padding:.5rem 0;display:flex}.section h2{color:var(--foreground);width:fit-content;margin:0;font-size:24px;font-style:normal;font-weight:400;line-height:normal}.section-text{width:calc(100% - var(--left-gap));align-self:flex-end}#hero-section{width:100%;height:calc(100dvh - var(--header-height));background-image:url("/gallery-assets/hero_light.webp");background-position:50%;background-size:cover}#navbar-logo:hover{cursor:pointer}#logo-bg-blur{background:var(--transparent-bg);filter:blur(50px);border-radius:50%;width:400px;height:200px;min-height:100px;display:block;position:absolute;top:28%;left:50%;transform:translate(-50%)}.logo{stroke-width:1px;width:90%;max-width:280px;min-height:100px;stroke:var(--foreground);margin:0 auto;display:block;position:relative;top:28%}.galery-section{flex-direction:column;align-items:center;width:100%;padding:16px;display:flex}.galery-section hr{width:100%}.galery-section h2{color:var(--foreground);width:fit-content;margin:0;font-size:24px;font-style:normal;font-weight:400;line-height:normal}.project-section{grid-template-columns:12fr;gap:10dvh 3%;width:100%;padding:5dvh 3%;display:grid}.project-section img{object-fit:cover;place-self:center;width:100%}.project-section img:hover{outline:2px solid var(--accent);outline-offset:-2px;cursor:pointer}.project-cover{cursor:pointer;width:100%;display:flex;position:relative;overflow:hidden}.project-cover,.project-cover img{border-radius:.5rem}.project-cover img:hover{outline:2px solid var(--accent);outline-offset:-2px;cursor:pointer}.project-cover:hover .project-info{bottom:1rem}.project-info{background-color:var(--accent);border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;padding:.2rem 1rem;transition:bottom .5s ease-in-out;display:flex;position:absolute;bottom:-3rem;left:50%;transform:translate(-50%)}.project-info h2{color:var(--background);font-size:1.5rem;font-weight:500}.project-info h3{color:var(--background)}.gallery-grid{grid-template-columns:12fr;gap:1rem;width:100%;display:grid}.full-row{grid-column:1/13}.part-1-of-2{aspect-ratio:4/3;grid-column:1/7}.part-2-of-2{aspect-ratio:4/3;grid-column:7/13}.part-1-of-3{aspect-ratio:3/4;grid-column:1/5}.part-2-of-3{aspect-ratio:3/4;grid-column:5/9}.part-3-of-3{aspect-ratio:3/4;grid-column:9/13}.part-1-of-4{grid-column:1/4}.part-2-of-4{grid-column:4/7}.part-3-of-4{grid-column:7/10}.part-4-of-4{grid-column:10/13}.gallery-grid img{object-fit:cover;width:100%;max-height:calc(100dvh - var(--header-height) - 32px);height:100%}h1{letter-spacing:.1rem;font-weight:200}h2,h3,h4{all:unset;color:var(--foreground);font-size:2.5rem;font-weight:400}h3{font-size:1.4rem}h4{font-size:1.2rem;font-weight:800}hr{all:unset;border-top:1px solid #fff;margin:8px 0;box-shadow:1px 2px 4px #00000040}button,.raised{all:unset;background-color:var(--bg-color);width:fit-content;min-width:48px;min-height:32px;stroke:var(--foreground);fill:var(--foreground);box-shadow:4px 4px 8px var(--shadow), -4px -4px 8px var(--highlight);border-radius:24px;justify-content:center;align-items:center;padding:0 1rem;font-size:1.5rem;display:flex}button:hover{cursor:pointer;stroke:var(--accent);color:var(--accent);fill:var(--accent);box-shadow:8px 8px 16px var(--shadow), -8px -8px 16px var(--highlight)}button:active{background-color:var(--accent);color:var(--lines-color);stroke:var(--lines-color);fill:var(--lines-color);box-shadow:inset 5px 5px 10px var(--shadow)}.services-top-row{margin-bottom:-8px;padding-bottom:8px;overflow:hidden}.services-top-row h2{position:absolute}#service-title-container{justify-self:center}#service-title{transition:top var(--drawer-speed) ease-in-out;position:relative}.title-off{top:40px}.title-on{top:0}.description-ctrl{color:var(--foreground);stroke:var(--foreground);align-items:center;gap:.5rem;display:flex}.description-ctrl:hover{color:var(--accent);stroke:var(--accent);cursor:pointer}.description-ctrl h4,.description-ctrl button,.description-ctrl svg{color:inherit;stroke:inherit}#service-icons-row{transition:transform calc(var(--drawer-speed) / 3) ease-in-out;justify-content:center;align-items:center;gap:25px;display:flex;transform:translate(calc(50% - 100px))}.services-container{flex-direction:column;gap:1rem;padding:3rem 1rem;display:flex}.services-container .service-card:nth-child(2n),.services-container .service-card:nth-child(2n) .service-descirption-wrapper .description-ctrl{text-align:end;flex-direction:row-reverse}.service-icon-wrapper{width:50px;height:50px;box-shadow:4px 4px 8px var(--shadow), -4px -4px 8px var(--highlight);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.service-icon{stroke:none;width:24px;height:24px;fill:inherit}.service-card{min-width:0;display:flex}.service-img-wrapper{aspect-ratio:4/3;background-color:var(--background);outline:5px solid var(--background);outline-offset:-5px;width:100%;box-shadow:5px 5px 10px var(--shadow), -5px -5px 10px var(--highlight);border-radius:1.5rem;flex:42 0;min-width:0;overflow:hidden}.service-img-wrapper canvas{touch-action:none}.service-img{object-fit:cover;width:100%;height:100%;padding:5px}.service-card hr{flex:8;align-self:center;max-height:1px}.service-descirption-wrapper{flex-direction:column;flex:50;justify-content:center;display:flex}.service-title{padding:0 1rem}.service-description{width:100%;padding:0 1rem}.drawer-container{width:100%;transition:grid-template-rows var(--drawer-speed) ease-in-out;margin-bottom:0;display:grid;overflow:hidden}.dc-on{grid-template-rows:1fr}.dc-off{grid-template-rows:0fr}.drawer{width:100%;transition:height ar(--drawer-speed) ease-in-out;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;overflow:hidden}.dr-on{height:100%}.dr-Off{height:0%}.drawer-content{flex-direction:column;align-items:center;display:flex;position:relative}.vertical-line{background-color:#fff;width:1px;height:100%;position:absolute;box-shadow:1px 2px 4px #00000040}.close-drawer-btn{z-index:1;background-color:var(--background);border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:0;height:40px;margin-bottom:1rem;padding:0;display:flex}.close-drawer-btn:active,.close-drawer-btn:hover{min-height:40px}.arrow-svg-container,.arrow-svg-container:hover,.arrow-svg-container:active{z-index:1;background-color:var(--background);width:20px;min-width:20px;height:20px;min-height:20px;box-shadow:none;background-color:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.round-button-with-icon{background-color:var(--background);border-radius:50%;justify-content:center;align-items:center;width:50px;min-width:0;height:50px;min-height:0;padding:0;display:flex}.round-button-with-icon:hover{cursor:pointer;stroke:var(--accent);color:var(--accent);fill:var(--accent);box-shadow:8px 8px 16px var(--shadow), -8px -8px 16px var(--highlight)}.round-button-with-icon:active{background-color:var(--accent);color:var(--lines-color);stroke:var(--lines-color);fill:var(--lines-color);box-shadow:inset 5px 5px 10px var(--shadow)}.contacts-wrapper{grid-template-columns:auto auto;gap:1.5rem 1rem;padding:1rem 0;font-size:1.2rem;display:grid}.adress{grid-area:1/1/2/2;align-self:start}.company{grid-area:2/1/3/2;align-self:center}.phone-contact{grid-area:1/2/2/3;justify-self:end;align-items:center;gap:1rem;display:flex}.mail-contact{grid-area:2/2/3/3;place-self:self-end end;align-items:center;gap:1rem;display:flex}.full-w{min-width:100%}.email-form-wrapper{width:100%;box-shadow:inset 5px 5px 10px var(--shadow);border-radius:24px;flex-direction:column;margin-bottom:1rem;padding:.5rem 0 1rem;display:flex;position:relative;overflow:hidden}.email-form-wrapper>*{margin-left:1rem;margin-right:1rem}.email-form-wrapper hr{margin-left:0;margin-right:0}.email-form-wrapper input:focus,.email-form-wrapper textarea:focus{outline:none;outline:1px solid var(--accent);border-radius:8px}input,textarea{caret-color:var(--accent)}.input-line{align-items:baseline;display:flex}label{justify-content:flex-start;align-items:flex-end;width:100px;display:flex}input{background-color:#fff0;border:none;width:calc(100% - 100px);margin:0;padding:.5rem 1rem;font-family:monospace;font-size:1rem;display:block}.message-container{flex-direction:column;display:flex}textarea{box-sizing:border-box;resize:none;background-color:#fff0;border:none;width:100%;margin:.5rem 0;padding:1rem;font-family:monospace;font-size:1rem;display:block}#mail-send-btn{align-self:end}.off{display:none}#links-section{width:var(--main-content-width)}.social-links{grid-template-columns:1fr auto 1fr;justify-content:center;align-items:center;width:100%;margin:0 auto;display:grid}#social-buttons{justify-content:center;align-items:center;gap:2rem;display:flex}.bottom-text{color:var(--foreground);text-align:center;font-family:var(--moon2);font-size:1.5rem;font-style:normal;font-weight:400;line-height:normal}.first{justify-self:left}.last{justify-self:right}#masonry-grid-wrapper{padding:16px}#masonry-grid{width:100%;height:100px;position:relative}.gallery-image{border-radius:8px;transition:left .2s linear}.gallery-image:hover{outline:2px solid var(--accent);outline-offset:-2px;cursor:pointer}.gallery-card{border-radius:8px;overflow:hidden}.gallery-card h3{z-index:50;color:var(--background);background-color:var(--accent);border-top-right-radius:8px;padding:0 1rem;font-size:1rem;font-weight:700;transition:bottom 1s;position:absolute;bottom:-3rem;left:0}.gallery-card:hover h3{bottom:0}.modal{z-index:2000;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal.active{display:flex}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;height:100%;position:absolute;top:0;left:0}.modal-container{z-index:10;flex-direction:column;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 35px #0006}.modal-header{z-index:2;justify-content:space-between;align-items:center;width:100vw;padding:.75rem 1.5rem;display:flex;position:fixed;top:0;left:0}.modal-close{box-shadow:none;background-color:var(--background);width:40px;min-width:0;height:40px;min-height:0;padding:0}.modal-close:hover{box-shadow:none;padding:none}.zoom-controls{background:var(--background);border-radius:40px;align-items:center;gap:.8rem;padding:.3rem 1.2rem;display:flex}.zoom-slider-container{align-items:center;gap:.4rem;display:flex}.zoom-label{color:var(--foreground);min-width:22px;font-size:.75rem}.zoom-slider{appearance:none;background:var(--background);cursor:pointer;width:120px;height:6px;box-shadow:inset 2px 2px 2px var(--shadow), inset -1px -1px 1px var(--highlight);border-radius:3px;outline:none;margin:0;padding:0}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 0 4px #00000080}.zoom-slider::-moz-range-thumb{background:var(--background);border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 0 4px #00000080}.zoom-level{text-align:center;min-width:55px;color:var(--foreground);font-size:.9rem;font-weight:600}.modal-body{flex:1;position:relative;overflow:hidden}.image-viewport{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.image-viewport:active{cursor:grabbing}#modal-image-background{width:100vw;height:100dvh;position:fixed;top:0;left:0}.modal-image{will-change:transform;transform-origin:0 0;pointer-events:auto;max-width:none;display:block}.modal-footer{z-index:50;justify-content:center;width:100vw;padding:.6rem 1.5rem;font-size:.8rem;display:flex;position:fixed;bottom:0;left:0}.image-title{color:var(--foreground);background-color:var(--background);border-radius:20px;justify-content:center;align-items:center;padding:.3rem .6rem;font-weight:400;display:flex}.hint{opacity:.6;font-size:.75rem}.image-viewport{touch-action:none}@media screen and (width<768px){.socialButtons{gap:.8rem}.bottomText{font-size:1.2rem}.contacts-wrapper{font-size:1rem}}@media screen and (width<680px){:root{--header-height:75px;--left-gap:0}header nav button{font-size:1rem}.logo{max-width:200px}header nav ul{gap:3vw}.service-img-wrapper canvas{width:100%;height:100%;display:block}.services-container .service-card:nth-child(2n),.service-card{z-index:2;flex-direction:column}.service-descirption-wrapper{text-align:start;justify-content:start;align-items:start}.services-container .service-card:nth-child(2n) .service-descirption-wrapper .description-ctrl,.description-ctrl{text-align:start;flex-direction:row-reverse}.service-title{width:auto}.service-card hr{display:none}.service-card{gap:1rem}.service-card>*{flex:auto}.services-container{gap:2rem}.service-description{padding:0}#service-icons-row{scale:calc(100vw / 2)}.vertical-line{display:none}}@media screen and (width<576px){.socialLinks{grid-template-columns:1fr;gap:1rem}.first,.last{justify-self:center}.company{flex-direction:column;grid-area:1/2/2/3;align-items:end;display:flex}.company p{text-align:end}.phone-contact{flex-direction:row-reverse;grid-area:2/1/3/2;justify-self:start}.contacts-wrapper{letter-spacing:.5px;column-gap:.5rem;font-size:.8rem}.social-links{flex-direction:column;align-items:center;gap:1rem;display:flex}.contacts-wrapper .address{align-self:start}.social-links .first{display:none}.service-title{font-size:1rem}}@media screen and (width<440px){.phone-contact,.mail-contact{gap:.5rem}nav ul li button{padding:0 2vw}header{padding:0 3%}#service-title-container{justify-self:self-end}#service-icons-row{--scale-factor:calc(100vw/440px);scale:var(--scale-factor)}}@media screen and (width<375px){.contacts-wrapper{grid-template-columns:auto;font-size:1rem}.adress{grid-area:auto;align-self:start}.company{grid-area:auto;place-self:flex-start start}.company h3,.company p{text-align:left;align-self:flex-start}.phone-contact{grid-area:auto;justify-self:start;align-items:center;display:flex}.mail-contact{flex-direction:row-reverse;grid-area:auto;justify-self:start;align-items:center;display:flex}}#panorama-container{width:50vw;height:50vh;position:relative;overflow:hidden}.loading-overlay{z-index:2000;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;display:flex;position:absolute;top:0;left:0}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:50px;height:50px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
