/* Float Clearing
--------------------------------------------- */
.archive-pagination:before,.clearfix:before,.entry:before,.entry-pagination:before,.post-navigation:before,.footer-widgets:before,.nav-primary:before,.nav-secondary:before,.site-container:before,.site-footer:before,.site-header:before,.site-inner:before,.wrap:before{content:" ";display:table;}
.archive-pagination:after,.clearfix:after,.entry:after,.entry-pagination:after,.post-navigation:after,.footer-widgets:after,.nav-primary:after,.nav-secondary:after,.site-container:after,.site-footer:after,.site-header:after,.site-inner:after,.wrap:after{clear:both;content:" ";display:table;}

/* WP preset
--------------------------------------------- */
img.aligncenter {text-align:center; margin:0 auto; }
img.alignright {text-align:right;}


/* General
--------------------------------------------- */

html {box-sizing:border-box;}
html * { box-sizing: inherit; }
* { margin:0; padding:0; }

/* Remove scrollbar */

*::-webkit-scrollbar { display:none }
* { scrollbar-width: none; }


.disabled {pointer-events:none}
.pointer {cursor:pointer}

input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* Support
--------------------------------------------- */

.support-transform-transition {
backface-visibility: hidden; 
transform: translateZ(0);
-webkit-backface-visibility: hidden; 
-webkit-transform: translateZ(0);
}

/* Typography
--------------------------------------------- */
  @font-face {
    font-family: "inter";
    font-weight: 100 900; 
    src: url('../fonts/inter-var.woff2') format('woff2');
    font-display: swap;
  } 

  body { -webkit-text-size-adjust: 100%; --font-family:"inter"; }

  *,#main-site * {color: var(--color-text, inherit); font-size:var(--font-size,18px);font-family:var(--font-family,sans-serif); line-height: var(--line-height,auto); -webkit-font-smoothing: antialiased;  }

  a {cursor:pointer;}
  a, a:hover, a:focus { text-decoration: none; }
  p a, p a:hover, p a:focus {text-decoration:underline}
  .no-wrap { white-space:nowrap; }
  .reverse { direction:rtl}

  strong, .ft-strong{ font-weight: 700;  }
  .oblique {transform: skewX(-7deg);display: inline-block;}


  .upper { text-transform:uppercase; }
  .capital { text-transform:capitalize;}
  .lower { text-transform:lowercase;}

  .underline, .underline-links a {position:relative;background: linear-gradient(var(--color,var(--color-text)),var(--color,var(--color-text))) no-repeat bottom var(--underline-proximity,0) left;background-size: 100% var(--underline-size,1px); text-decoration: none!important;}


  ol, ul { list-style: none; margin:0; padding:0; }
  ol li, ul li {display:inline-block; }

  .list {--dot-size:.3em;--dot-spacing:-1em;--dot-color:black;--indent-spacing:1.8em;}
  .list ul{display: block;list-style:none; padding:10px; padding-left:var(--indent-spacing,1.2em); }
  .list ul li {text-align: -webkit-match-parent;position:relative;display: block;}
  .list ul li:before {content: "";position:absolute;margin-left:var(--dot-spacing, -1.1em);min-height:2px;min-width:2px;display: block;height: var(--dot-size, .3em);background-color: var(--color-text, black);width:var(--dot-size, .3em);border-radius: 50%;top: calc(var(--line-height, 1.1em)/2);transform: translateY(-50%);}

/* Effects
--------------------------------------------- */
  .white {--color-text:white; }
  .black {--color-text:black;}
  .grayscale {filter:grayscale(1)}
  .exclusion {mix-blend-mode: exclusion; --color-text:white}
  .hide { opacity:0; pointer-events:none; }
  .flip {transform:rotate(180deg);}

/* Icons
--------------------------------------------- */

  .ic-close,.ic-full,.ic-menu { display: inline-block; cursor:pointer }
  .ic-close:before,.ic-close:after,
  .ic-full:before,.ic-full:after,
  .ic-menu:before,.ic-menu:after {
    transition:transform var(--icon-duration, .5s); 
    transition-delay: var(--icon-delay,0);
    transition-timing-function: var(--icon-function, ease); 
  }

  /*close*/
  .ic-close {cursor:pointer;background:none;margin:var(--icon-margin, 0px );width: calc(var(--icon-width, 17px) + 3px);height: calc(var(--icon-height,var(--icon-width, 17px)) + 3px);}
  .ic-close:before, .ic-close:after {content:"";background:var(--color-text,black); position: absolute;width:0; border-radius:var(--icon-radius, 0px); height:100%; width:var(--icon-weight,1px); left:calc(50% - var(--icon-weight,1px)); top:0}
  .ic-close:before, .ic-close:after { transform-origin:50% 50%; transform:rotate(-45deg)}
  .ic-close:after {transform:rotate(45deg)}


  /*full*/
  .ic-full:before,.ic-full:after{content:"";  width: 50%; height: 50%;  position:absolute;  transform-origin: 50% 50%; }
  .ic-full:before,.ic-full:after {
      background:var(--color-text, black); 
      mask: url(https://cdn0.iconfinder.com/data/icons/feather/96/591275-arrow-up-64.png) no-repeat center center;
      -webkit-mask: url(https://cdn0.iconfinder.com/data/icons/feather/96/591275-arrow-up-64.png) no-repeat center center;
      mask-size: contain;
      -webkit-mask-size: contain;
  }
  .ic-full:before { transform: rotate(-45deg); top: 0; left:0; }
  .ic-full:after { transform: rotate(135deg); bottom: 0; right:0; }

  .expanded .ic-full:before {transform: rotate(135deg)}
  .expanded .ic-full:after {transform: rotate(-45deg)}

  /*icon-scroll*/


  .ic-scroll {position:fixed;bottom:0;z-index: 5;pointer-events: none!important;left:0;right:0;margin: 40px auto;}

  .ic-scroll{width: 38px;height: 58px;box-shadow: inset 0 0 0 1.5px var(--color-text);border-radius: 30px;}
  .ic-scroll:before{ position: absolute; left: 50%;}
  .ic-scroll:before{ content: ''; width: 8px; height: 8px; background:var(--color-text); margin-left: -4px;  top: 8px; border-radius: 4px }
  .ic-scroll:before{ animation-duration: 1.5s; animation-iteration-count: infinite; animation-name: scroll}
  
  @keyframes scroll{
    0% { opacity: 1}
    100% {opacity: 0; transform: translateY(25px);} 
  }


  /*menu*/
  .ic-menu:before, .ic-menu:after {content:"";position: absolute;width:0;height:100%; border-left:var(--icon-weight,1px) solid; left:calc(50% - var(--icon-weight,1px)); top:0}
  .ic-menu:before {transform:rotate(90deg) translateX(3px);  }
  .ic-menu:after  {transform:rotate(90deg) translateX(-3px);  }

  .open .ic-menu:before, .open .ic-menu:after { transform-origin:50% 50%; transform:rotate(-45deg)}
  .open .ic-menu:after {transform:rotate(45deg)}

  /*cart*/
  .logged-user .ic-user {--asset-image:url(../icons/solid-user.svg);}

  /*arrow tooltyp*/
  .arrow-tooltip::after, .arrow-tooltip::before {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
  }

/* Assets
--------------------------------------------- */

  .icon {
    display: inline-block;
    width: var(--asset-width-container, var(--icon-width, 1em));
    height: var(--asset-height-container, var(--icon-height, var(--icon-width, 1em)));
    background: var(--color-text, white);
    -webkit-mask: var(--asset-image) center center no-repeat;
    mask: var(--asset-image) center center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    vertical-align: text-bottom;
    position:relative;
    backface-visibility: hidden; 
    transform: translateZ(0);
    -webkit-backface-visibility: hidden; 
    -webkit-transform: translateZ(0);
  }

  .item {
    display:inline-block;
    background-image:var(--asset-image,'');
    background-size:var(--asset-size, contain );
    background-color:var(--color,'');
    background-repeat:var(--asset-repeat, no-repeat);
    width:var(--asset-width-container, 100%);
    height:var(--asset-height-container, 100%);
    background-position: center;
  }

  .mask  {
    display:inline-block;
    background:var(--color-text, white);
    -webkit-mask:var(--asset-image) center center no-repeat;
    mask:var(--asset-image) center center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }


/* Spacing
--------------------------------------------- */

  h1,h2,h3,h4,h5,h6, small {margin:var(--heading-margin,0) 0; font-weight:normal;}

  .heading-fix-top:before, .heading-fix-bottom:after  {
    content: "";
    display: block;
    margin-top: calc((var(--font-primary-capital-letter) - var(--heading-line-height)) * 0.5em);
    width: 0;
    height: 0;
  }

  .separate>*:not(:last-child):after{content:var(--separate-symbol,"\2013");margin:0 var(--separate-spacing,0);margin-left: 0.3em;}
  .separate.comma>*:not(:last-child):after {margin-left:0; }

  .separate.long-dash>* {--separate-symbol:"\2014";  }
  .separate.dash{--separate-symbol:"-"}
  .separate.slash>* {--separate-symbol:"/ "}
  .separate.comma>* {--separate-symbol:", "}
  .separate.dot>* {--separate-symbol:"\00b7"}
  .separate>.no-separate:after { display:none; }

/* Objects
--------------------------------------------- */

  /*embed,iframe,img,object,video {max-width: 100%;}*/
  iframe { border: none; } 
  img {height: auto;width: auto\9; /* IE8 */display: block;}

/* Forms
--------------------------------------------- */

  input,select,textarea {background:none;border: 1px solid;padding: 0.3em;width: 100%;}
  input:focus,textarea:focus {border: 1px solid;outline: none;}

  input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius:0; }

  input[type="checkbox"],input[type="image"],input[type="radio"] {width: auto;}
  input[type="checkbox"] {position:relative;width:20px;height:20px;display: inline-block;vertical-align: baseline;margin-right: 7px;}
  input[type="checkbox"]:checked:after {content:""; top:50%; left:50%; transform:translate3d(-50%,-50%,0); position:absolute; display:block; width:50%; border-radius:50%;  height:50%; background:var(--color-text, black)}
  input[type=checkbox]+* {display: inline-block;vertical-align: top;line-height: 1em;max-width: calc(100% - 2em);}

  ::-moz-placeholder {color:var(--color-text,black); opacity: 0.6;}
  ::-webkit-input-placeholder {color:var(--color-text,black); opacity: 0.6;}

  button,input[type="button"],input[type="reset"],input[type="submit"],
  .button {font-size: inherit;align-items:center;justify-content:center;cursor: pointer;padding: 0.5em 0.8em;width: auto;display: flex;border: 3px solid;text-transform: uppercase;font-weight:700;margin:var(--text-distance, 1em) 0;}

  button:hover, input:hover[type="button"],input:hover[type="reset"], input:hover[type="submit"], .button:hover,
  button:focus, input:focus[type="button"],input:focus[type="reset"],input:focus[type="submit"],
  .button:focus {box-shadow:none;outline: none;}

  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-results-button { display: none;}
  
  /*message*/
  .wpcf7 form .wpcf7-response-output,
  .wpcf7 form span {margin:0; }
  .wpcf7 form .wpcf7-response-output {text-align:center}
  .wpcf7 form.sent .wpcf7-response-output { border-color: var(--color-message,#46b450); }
  .wpcf7 form.failed .wpcf7-response-output,
  .wpcf7 form.aborted .wpcf7-response-output,
  .wpcf7 form.spam .wpcf7-response-output,
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output {
      border-color: var(--color-error,red); 
      background:var(--color-error-2,none);
      --color-text: var(--color-error,none);
  }
  .wpcf7 .wpcf7-not-valid-tip { --color-text: var(--color-error,red); }


/* Images
--------------------------------------------- */
  .no-image img { display:none;}
  
  .contain {--image-fit:contain;--image-height: 100%;--image-width: 100%;height: 100%;width: 100%;}
  .cover {--image-fit:cover;--image-height: 100%;--image-width: 100%;height: 100%;width: 100%;}
  .lazy-image-wrapper, figure  {height: fit-content;width: fit-content;height: -moz-fit-content;width: -moz-fit-content;}

  figure {
      background-image: var(--asset-image,'');
      background-size: var(--asset-size, auto);
      background-color:var(--color,lightrgray);
      background-repeat: var(--asset-repeat, no-repeat);
      padding:var(--image-spacing);
  }

  figure img { 
    height: var(--image-height, auto);  
    width: var(--image-width, 100%); 
    max-width: var(--image-max-width, 100%);
    max-height: var(--image-max-height, 100%); 
    display:block; 
    object-fit:var(--image-fit, cover); 
  }
  
  /*
  img[loading=lazy] { transition:0.5s opacity; opacity:0; }
  img.loaded {opacity:1;}
  */

/* Animation/transition
--------------------------------------------- */
  .animate {
    animation-name:var(--animation-name,none);
    animation-duration:var(--animation-duration,0s);
    animation-timing-function: var(--animation-function,ease);
    animation-delay: var(--animation-delay,0s);
    animation-iteration-count: var(--animation-loop);
    animation-direction: var(--animation-direction);
  }

  .animate>* { --transform-time:0s;--transform-delay:0s;
    --background-time:0s;--background-delay:0s; 
    --width-time:0s;--width-delay:0s;
    --min-width-time:0s;--min-width-delay:0s;
    --height-time:0s;--height-delay:0s;
    --opacity-time:0s;--opacity-delay:0s;
    --left-time:0s;--left-delay:0s;
  }

  .animate { transition:  transform var(--transform-time,0s) var(--transform-delay,0s), 
                      background var(--background-time,0s) var(--background-delay,0s),
                      width var(--width-time,0s) var(--width-delay,0s),
                      min-width var(--min-width-time,0s) var(--min-width-delay,0s),
                      height var(--heigth-time,0s) var(--height-delay,0s),
                      left var(--left-time,0s) var(--left-delay,0s),
                      opacity var(--opacity-time,0s) var(--opacity-delay,0s)
        }

/* Animation Kayframes
--------------------------------------------- */
  @keyframes pulse{
    0%{transform:scale(0.7)}
    50%{transform:scale(1.2)}
    100%{transform:scale(0.7)}
  }


/* Layout
--------------------------------------------- */

  .layout {display:grid;grid-template-columns: var(--layout, repeat(var(--columns, 2 ),1fr));grid-column-gap: var(--spacing,10px);grid-row-gap: var(--spacing,10px); }
  .column {display:grid;grid-row-gap: var(--spacing,10px);grid-auto-rows: var(--auto,auto);grid-template-rows: var(--column); grid-template-columns: 100%; }
  .row {display:grid;grid-column-gap: var(--spacing,10px);grid-auto-flow: column; grid-auto-columns:var(--auto,auto);grid-template-columns: var(--row); grid-template-rows: 100%; }
  .auto { grid-template-columns:initial; grid-template-rows:initial; --auto:max-content }
  .flex {display:flex}
  .flex-column { display:flex; flex-flow:column}
  .table {display:table}

  .full { width:100%; height:100%; }
  .full-height {height:100%;}
  .full-width {width:100%;}
  .full-screen {position:fixed; width:100%; height:100%; left:0; top:0; }
  .full-box {position:absolute; width:100%; height:100%; left:0; top:0;}
  .full-window {width:100vh; height:100vh; }
  .window-height {height:100vh;}
  .window-width {width:100vh}
  .height-auto {height:max-content}

  /*Positioning*/
  .right {position:absolute; right:0; left:auto;}
  .left {position:absolute; left:0; right:auto;}
  .top { position:absolute; top:0; }
  .bottom { position:absolute; bottom:0; }
  .middle {position:absolute; top:50%;transform: translateY(-50%);}
  .scroll.middle {transform: translateY(-50%);}
  .center {position:absolute;margin:0 auto;left:0;right:0;min-width: fit-content;}
  .out-right {position:absolute; left:100%; right:auto;}
  .out-left {position:absolute; right:100%; left:auto;}
  .out-top {position:absolute; bottom:100%; top:auto;}
  .out-bottom {position:absolute; top:100%; bottom:auto;}
  
  .fixed {position:fixed;}
  .relative {position:relative;}
  .inline, .inline p {display:inline}
  .sticky {position:sticky; position:-webkit-sticky; top:0; }
  .block{display:block}
  .no-layout {display:contents}

  /*Alignment*/
  .align-top {vertical-align: top; align-items:start; align-self:start; }

  .align-bottom {vertical-align: bottom; align-items:end;  align-self:end; justify-items: end;}
  .align-middle {vertical-align: middle; align-items:center;  align-self:center; }
  .align-sup {vertical-align: super; }
  .align-base {vertical-align: baseline; align-items:baseline; align-self:baseline; justify-items: baseline; }

  .align-center { justify-content:center; align-content:center; margin:auto }
  .align-left  { justify-content: flex-start; justify-self: flex-start; align-content: flex-start;}
  .align-right { justify-content: flex-end; justify-self: flex-end; align-content: flex-end;}

  .text-center { text-align: center;}
  .text-left   { text-align: left;}
  .text-right  { text-align: right;}

  /*justify*/
  .space-around {justify-content:space-around; align-content: space-around;}
  .space-between {justify-content:space-between; align-content: space-between;}
  .space-evenly {justify-content:space-evenly; align-content: space-evenly;}

/* Scroll
--------------------------------------------- */

  .no-scroll  {overflow:hidden!important;}
  .smooth {scroll-behavior: smooth;}

  .scroll.snap {scroll-snap-type: y mandatory; }
  .scroll.snap-prox {scroll-snap-type: y proximity;}
  .scroll.snap-prox .scroll-wrapper>*,
  .scroll.snap .scroll-wrapper>* {scroll-snap-align: start;}

  
  .slide.snap {
    scroll-snap-type: x mandatory;
    scroll-snap-type: mandatory;
    scroll-snap-points-x: repeat(100%);
    scroll-snap-destination: 0 0;
    -webkit-overflow-scrolling: touch;
  }
  .slide.snap-prox {scroll-snap-type: x proximity;}
  .slide.snap .slide-wrapper {overflow:visible}
  .slide.snap-prox .slide-wrapper>*,
  .slide.snap .slide-wrapper>* {scroll-snap-align: start;}

  .slide {cursor:grab}
  .slide.dragging {cursor:grabbing}

  .scroll {height: auto;overflow-y: auto;overflow-x: hidden;max-height: 100%;}
  .dv-iphone .scroll {max-height: 100%;}
  .scroll {/* transform:translate3d(0,0,0); *//* -webkit-transform: translate3d(0,0,0); */ overscroll-behavior-y: none; }
  .scroll-wrapper {min-height: fit-content;}

  .slide {width: 100%; overflow-x: auto;overflow-y: hidden;}
  .slide-wrapper {min-width:100%;height: 100%;vertical-align: top;display: grid;grid-auto-flow: column;width: max-content; justify-content: start;}
  .slide {transform:translate3d(0,0,0); -webkit-transform: translate3d(0,0,0);}

  .scroll-visible::-webkit-scrollbar-track{ border-radius: 10px; }
  .scroll-visible::-webkit-scrollbar{ display:initial!important; width: var(--scroll-width,10px);  }
  .scroll-visible::-webkit-scrollbar-thumb{ border-radius: var(--scroll-radius,5px);  background-color: var(--scroll-color,var(--color-text, gray));}
  
/* Contact Form
--------------------------------------------- */

  .wpcf7 form .ajax-loader {
    background:var(--color-text,black);
    -webkit-mask: url(../images/loader/three-dots.svg) no-repeat center center; 
    -webkit-mask-size:contain;
    mask: url(../images/loader/three-dots.svg) no-repeat center center; 
    mask-size:contain;
  }
  .wpcf7-form-control-wrap, span.wpcf7-form-control, span.wpcf7-list-item{ display:contents}

  .underline select, .underline  input[type=text],.underline input[type=email] 
  {border:none; border-bottom:2px solid var(--color); }
  .underline  textarea, .underline finput
  {border:2px solid var(--color); }

  /*form.contact  {display:grid; grid-row-gap:var(--spacing-form, 35px); padding:40px 0; }
  form.contact  * {display:contents;}
  form.contact input,.contact form select,
  form.contact select *,.contact  input[type=checkbox]+* { display:inline-block; width:100%}
  .contact input[type=checkbox] {margin-right:10px}
  .contact .wpcf7-acceptance { display:flex; align-items:middle}
  .contact div.wpcf7 .ajax-loader { display:contents}*/