/* Cubica classic replica v2 — base styles. Page-specific text styles are inlined in each page. */

/* Free fonts tuned to the width and line metrics of the original Wix fonts
   (Brandon Grotesque -> Jost, Avenir -> Nunito Sans, Gotham -> Montserrat, Ace Sans demo -> Ace Sans FREE). */
@font-face{font-family:"cub-b";font-weight:300;font-display:swap;src:url(/fonts/jost-latin-300-normal.woff2) format("woff2");size-adjust:95%;ascent-override:102.1%;descent-override:32.6%;line-gap-override:16.1%}
@font-face{font-family:"cub-b";font-weight:500;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format("woff2");size-adjust:95%;ascent-override:102.1%;descent-override:32.6%;line-gap-override:16.1%}
@font-face{font-family:"cub-al";font-weight:300;font-display:swap;src:url(/fonts/nunito-sans-latin-300-normal.woff2) format("woff2");size-adjust:97.9%;ascent-override:96%;descent-override:25.5%;line-gap-override:0%}
@font-face{font-family:"cub-ah";font-weight:800;font-display:swap;src:url(/fonts/nunito-sans-latin-800-normal.woff2) format("woff2");size-adjust:99.2%;ascent-override:94.7%;descent-override:26.2%;line-gap-override:0%}
@font-face{font-family:"cub-g";font-weight:300;font-display:swap;src:url(/fonts/montserrat-latin-300-normal.woff2) format("woff2");size-adjust:101.4%;ascent-override:87.8%;descent-override:15.8%;line-gap-override:14.5%}
@font-face{font-family:"cub-g";font-weight:300;font-style:italic;font-display:swap;src:url(/fonts/montserrat-latin-300-italic.woff2) format("woff2");size-adjust:101.4%;ascent-override:87.8%;descent-override:15.8%;line-gap-override:14.5%}
@font-face{font-family:"cub-g";font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-600-normal.woff2) format("woff2");size-adjust:101.4%;ascent-override:87.8%;descent-override:15.8%;line-gap-override:14.5%}
@font-face{font-family:"cub-ace";font-weight:400;font-display:swap;src:url(/fonts/ace-sans-free.woff2) format("woff2");size-adjust:104%;ascent-override:84.6%;descent-override:11.5%;line-gap-override:14.7%}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#fff;color:#000;font-family:"cub-g",sans-serif;font-weight:300}
img,video,iframe{display:block;border:0}
a{color:inherit}
p,h1,h2,h3,h4,h5,h6,ul,ol,li{margin:0;padding:0;font-weight:inherit;font-size:inherit}

/* two layouts: desktop (Wix desktop grid) and phone (Wix phone layout, 320px wide, scaled by the browser) */
.dk{position:relative;min-width:980px;overflow-x:clip}
.mb{display:none;position:relative;width:320px;margin:0 auto;overflow-x:clip}
@media (max-width:599px){.dk{display:none}.mb{display:block}}

/* soft fade between pages, like Wix */
@view-transition{navigation:auto}
/* entrance animations: elements wait hidden until they play (see site.js) */
html.an [data-an]:not(.anr){opacity:0}

.ws{position:relative;display:block}
.wh{position:fixed;top:0;left:0;right:0;z-index:50}
.c{position:absolute}
.tx{overflow-wrap:break-word;word-wrap:break-word}
.tx a{color:inherit;text-decoration:none}
.bgc,.bgl{position:absolute;inset:0}
.bgl{overflow:hidden}
.bgl .fi,.bgl video{width:100%;height:100%;object-fit:cover}
.bgl.px .pxi{position:absolute;left:0;top:0;width:100%;height:100vh;will-change:transform}
.strip{position:absolute}
.cols{display:flex;position:absolute;inset:0}
.col{position:relative;overflow:hidden}
.col.ab{position:absolute}
.im{overflow:hidden;display:block}
.im .fi{width:100%;height:100%}
.ci{position:absolute;max-width:none}
.bx{overflow:hidden}
.cov{display:block}
.bt{display:flex;align-items:center;text-decoration:none;cursor:pointer;background:none;border:0;padding:0;font:inherit;color:inherit;transition:background-color .2s}
.bt span{white-space:nowrap;transition:color .2s}
.bt.bxb:hover{background-color:#000!important}
.bt.bxb:hover span{color:#fff!important}
.ar{display:flex;align-items:center;justify-content:center;transition:background-color .2s}
.ar svg{width:13px;height:13px;fill:rgb(209,209,209);transition:fill .2s}
.ar:hover svg{fill:#000}
.mi{display:block;text-align:center;text-decoration:none;white-space:nowrap}
.mi:hover{color:rgb(163,163,163)!important}
@media (max-width:1683px){.dk .mi{transform:translateX(-58px)}}
.yv iframe{width:100%;height:100%}
.vb{object-fit:cover}

/* gallery (slider with arrows) */
.gal{overflow:hidden}
.gtr{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain}
.gtr::-webkit-scrollbar{display:none}
.gs{flex:0 0 auto;position:relative;overflow:hidden;scroll-snap-align:start}
.gs .fi{width:100%;height:100%}
.ga{position:absolute;width:40px;height:40px;border-radius:50%;background:#fff;opacity:.9;border:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ga svg{width:9.8px;height:16.7px;fill:#000}
.ga[hidden]{display:none}

/* contact form */
.wf .fl,.wf .fi2,.wf .fb,.wf .ok{position:absolute;margin:0}
.wf .fl{display:block}
.wf .fi2{border-radius:0;background:transparent;outline:none;-webkit-appearance:none;appearance:none;resize:none}
.wf .fi2:focus{border-color:#000}
.wf .fb{cursor:pointer;transition:background-color .2s,color .2s}
.wf .fb:hover{background-color:#000!important;color:#fff!important}
.wf .ok{text-align:center}
.hp{display:none}

/* phone menu */
.mt{background:none;border:0;padding:0;cursor:pointer}
.mt span,.mx span{position:absolute;left:2px;top:2px;width:22px;height:22px}
.mt span::before,.mt span::after,.mx span::before,.mx span::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:#000}
.mt span::after{transform:rotate(90deg)}
.mx span{transform:rotate(45deg)}
.mx span::after{transform:rotate(90deg)}
.mmenu{position:fixed;inset:0;background:#fff;z-index:100}
.mmenu[hidden]{display:none}
.mx{position:absolute;left:269px;top:31px;width:26px;height:26px;background:none;border:0;padding:0;cursor:pointer}
.mmenu a{position:absolute;left:70px;width:188px;height:50px;line-height:50px;text-align:center;font-family:"cub-g",sans-serif;font-weight:300;font-size:15px;color:#000;text-decoration:none}
.mmenu a.on{color:rgb(191,191,191)}

/* lightbox for "FULL VIDEO HERE" / "HERE" buttons */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:200;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lbin{width:min(90vw,1400px);aspect-ratio:16/9}
.lbin iframe{width:100%;height:100%}
.lbx{position:absolute;top:16px;right:24px;font-size:42px;color:#fff;background:none;border:0;cursor:pointer}
