/* 2. reset */

/* Futura Lt BT (Light) */
@font-face {
    font-family: 'Editor Gifted';
    src: url('../fonts/EditorGifted-Regular.eot');
    src: url('../fonts/EditorGifted-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/EditorGifted-Regular.woff2') format('woff2'),
        url('../fonts/EditorGifted-Regular.woff') format('woff'),
        url('../fonts/EditorGifted-Regular.ttf') format('truetype'),
        url('../fonts/EditorGifted-Regular.svg#EditorGifted-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


@font-face {
  font-family: 'Futura Lt BT';
  src: url('../fonts/Futura-light.woff2') format('woff2'),
       url('../fonts/Futura-light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}


@font-face {
    font-family: 'TideSans-500Dudette';
    src: url('../fonts/TideSans-500Dudette.eot');
    src: url('../fonts/TideSans-500Dudette.eot?#iefix') format('embedded-opentype'),
        url('../fonts/TideSans-500Dudette.woff2') format('woff2'),
        url('../fonts/TideSans-500Dudette.woff') format('woff'),
        url('../fonts/TideSans-500Dudette.ttf') format('truetype'),
        url('../fonts/TideSans-500Dudette.svg#TideSans-500Dudette') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



/* 1. TEMPLATE BACKGROUNDS */
/* 1.1. logo mobile IMG BACKGROUND */
.header-navigation-xs .logo-holder {
background: url(../img/logo-light.png) no-repeat center;
}

.header-navigation-xs .logo-holder.logo-holder-dark {
background: url(../img/logo-dark.png) no-repeat center;
}


/* 1.2. parallax title IMG BACKGROUND */
.parallax-title.parallax-title-shop {
background-image: url(../img/parallax-title/parallax-title-shop.png);
}

.parallax-title.parallax-title-services {
background-image: url(../img/parallax-title/parallax-title-shop.png);
}

.parallax-title.parallax-title-spotlight {
background-image: url(../img/parallax-title/parallax-title-shop.png);
}



/* 1.3. shop*/


/* Item 01 */
.shop-item-01.color-1 { background-image: url(../img/shop/thumb/1-2.jpg) !important; }

.shop-item-01.color-1.state-1 { background-image: url(../img/shop/1-1.jpg) !important; }
.shop-item-01.color-1.state-2 { background-image: url(../img/shop/1-2.jpg) !important; }
.shop-item-01.color-1.state-3 { background-image: url(../img/shop/1-3.jpg) !important; }

.shop-item-01.color-2 { background-image: url(../img/shop/thumb/1-2-c2.jpg) !important; }

.shop-item-01.color-2.state-1 { background-image: url(../img/shop/1-1-c2.jpg) !important; }
.shop-item-01.color-2.state-2 { background-image: url(../img/shop/1-2-c2.jpg) !important; }
.shop-item-01.color-2.state-3 { background-image: url(../img/shop/1-3-c2.jpg) !important; }



/* Item 02 */
.shop-item-02.color-1 { background-image: url(../img/shop/thumb/2-2.jpg) !important; }

.shop-item-02.color-1.state-1 { background-image: url(../img/shop/2-1.jpg) !important; }
.shop-item-02.color-1.state-2 { background-image: url(../img/shop/2-2.jpg) !important; }
.shop-item-02.color-1.state-3 { background-image: url(../img/shop/2-3.jpg) !important; }

.shop-item-02.color-2 { background-image: url(../img/shop/thumb/2-2-c2.jpg) !important; }

.shop-item-02.color-2.state-1 { background-image: url(../img/shop/2-1-c2.jpg) !important; }
.shop-item-02.color-2.state-2 { background-image: url(../img/shop/2-2-c2.jpg) !important; }
.shop-item-02.color-2.state-3 { background-image: url(../img/shop/2-3-c2.jpg) !important; }

/* Item 03 */
.shop-item-03.color-1 { background-image: url(../img/shop/thumb/3-2.jpg) !important; }

.shop-item-03.color-1.state-1 { background-image: url(../img/shop/3-1.jpg) !important; }
.shop-item-03.color-1.state-2 { background-image: url(../img/shop/3-2.jpg) !important; }
.shop-item-03.color-1.state-3 { background-image: url(../img/shop/3-3.jpg) !important; }

.shop-item-03.color-2 { background-image: url(../img/shop/thumb/3-2-c2.jpg) !important; }

.shop-item-03.color-2.state-1 { background-image: url(../img/shop/3-1-c2.jpg) !important; }
.shop-item-03.color-2.state-2 { background-image: url(../img/shop/3-2-c2.jpg) !important; }
.shop-item-03.color-2.state-3 { background-image: url(../img/shop/3-3-c2.jpg) !important; }

/* Item 04 */
.shop-item-04.color-1 { background-image: url(../img/shop/thumb/4-2.jpg) !important; }

.shop-item-04.color-1.state-1 { background-image: url(../img/shop/4-1.jpg) !important; }
.shop-item-04.color-1.state-2 { background-image: url(../img/shop/4-2.jpg) !important; }
.shop-item-04.color-1.state-3 { background-image: url(../img/shop/4-3.jpg) !important; }

.shop-item-04.color-2 { background-image: url(../img/shop/thumb/4-2-c2.jpg) !important; }

.shop-item-04.color-2.state-1 { background-image: url(../img/shop/4-1-c2.jpg) !important; }
.shop-item-04.color-2.state-2 { background-image: url(../img/shop/4-2-c2.jpg) !important; }
.shop-item-04.color-2.state-3 { background-image: url(../img/shop/4-3-c2.jpg) !important; }

.shop-item-04.color-3 { background-image: url(../img/shop/thumb/4-2-c3.jpg) !important; }

.shop-item-04.color-3.state-1 { background-image: url(../img/shop/4-1-c3.jpg) !important; }
.shop-item-04.color-3.state-2 { background-image: url(../img/shop/4-2-c3.jpg) !important; }
.shop-item-04.color-3.state-3 { background-image: url(../img/shop/4-3-c3.jpg) !important; }

/* Item 05 */
.shop-item-05.color-1 { background-image: url(../img/shop/thumb/5-1.jpg) !important; }
.shop-item-05.preview { background-image: url(../img/shop/thumb/5-preview.jpg) !important; }


.shop-item-05.color-1.state-1 { background-image: url(../img/shop/5-1.jpg) !important; }
.shop-item-05.color-1.state-2 { background-image: url(../img/shop/5-2.jpg) !important; }
.shop-item-05.color-1.state-3 { background-image: url(../img/shop/5-3.jpg) !important; }

/* Item 06 */
.shop-item-06.color-1 { background-image: url(../img/shop/thumb/6-2.jpg) !important; }

.shop-item-06.color-1.state-1 { background-image: url(../img/shop/6-1.jpg) !important; }
.shop-item-06.color-1.state-2 { background-image: url(../img/shop/6-2.jpg) !important; }
.shop-item-06.color-1.state-3 { background-image: url(../img/shop/6-3.jpg) !important; }

/* 1.4. services */


.media-tile{
  position: relative;
  overflow: hidden;
}

.media-tile .tile-img,
.media-tile .tile-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.media-tile .tile-video{
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

.video-hover:hover .tile-video{
  opacity: 1;
}









html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, /* img */, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}

html, body {
height: 100%;
}



body {
line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

ol, ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
content: "";
content: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

*:focus {  
outline: none;
}

a:focus, a:active,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
border: 0;
outline: 0;
}


/* 3. layout */


body {
font-family: 'Futura Lt BT', sans-serif;
font-size: 15px;
font-style: normal;
font-weight: 400;
text-align: left;
/*color: #2e2e2e;*/
color: black;
background: #fff;
 -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
margin: 0;
padding: 0;
line-height: 1.4;
}

a {
/*color: #ff264a;*/
text-decoration: none;
outline: none;
 -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
-webkit-transition: all 0.1s linear;
   -moz-transition: all 0.1s linear;
    -ms-transition: all 0.1s linear;
     -o-transition: all 0.1s linear;
        transition: all 0.1s linear;
-webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);

    font-weight: 300;
}

a:hover,
a:visited,
a:active,
a:focus {
/*color: #000;*/
text-decoration: none;
outline: none;

-webkit-transition: all 0.1s linear;
   -moz-transition: all 0.1s linear;
    -ms-transition: all 0.1s linear;
     -o-transition: all 0.1s linear;
        transition: all 0.1s linear;
-webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}

p {
letter-spacing: 0.05em;

 -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
-webkit-backface-visibility: hidden;
        backface-visibility: hidden;
}
/*
@media only screen and (max-width: 880px) {
  p {
	font-size: 17px;
  }
}
*/
p a,
p a:hover {

text-decoration: none;
outline: none;
font-weight: 300;
-webkit-transition: all 0.1s linear;
   -moz-transition: all 0.1s linear;
    -ms-transition: all 0.1s linear;
     -o-transition: all 0.1s linear;
        transition: all 0.1s linear;
-webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}

strong {
font-weight: bold;
}

::-moz-selection {
background: #020a6f;
color: #fff;
}

::selection {
background: #020a6f;
color: #fff;
}

.nopadding {
    width: 100%;
    /*padding: 0;*/
    margin: 0;
}

/* Screens 1440px and wider */
@media (min-width: 1480px) {
    .nopadding {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
		padding: 0;
        padding: initial; /* optional: restore padding if needed */
    }
}

.section-light {
background: #fff;
width: 100%;
}

.section-dark {
background: #000;
}


/* 4. upper page */
.upper-page {
  position: relative;
  
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  margin: 0;
}

.container-fluid 
{
	padding-left: 10px;
	padding-right: 10px;
}

/* 5. center container */
.center-container-home {
  display: flex;
  justify-content: center;   /* center horizontally */
  align-items: center;       /* center vertically */
  flex-direction: column;    /* stack ARAMI, NICE, and paragraph vertically */
  width: 100%;
  height: 100vh;
  height: 100dvh;
  text-align: center;
  background: none;
  z-index: 10;
}

.center-block-home {
  /* this class no longer needs table-cell or vertical-align */
  /* keep it as a normal container for content alignment */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.center-container {
position: absolute;
display: table;
table-layout: fixed;
width: 100%;
height: 100%;
background: none;
z-index: 4;
}

.center-block {
display: table-cell;
vertical-align: middle;
}




/* 6. hero container */ 
.hero-fullscreen {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
overflow: hidden;
z-index: 3;
}

.hero-fullscreen-thumbnail-slider {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
overflow: hidden;
}


/* 6.1. hero bg */
.hero-bg {
position: relative;
width: 100%;
height: 100%;
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
   -moz-background-size: cover;
    -ms-background-size: cover;
     -o-background-size: cover;
        background-size: cover;
}


/* 6.2. hero fullscreen FIX */ 
.hero-fullscreen-FIX {
width: 100%;
height: 100%;
}


/* 7. intro */
h1.home-page-title {
position: relative;
font-family: 'Oswald', sans-serif;
font-style: normal;
font-weight: 700;
font-size: 160px;
text-align: center;
text-transform: uppercase;
letter-spacing: -0.02em;
color: #fff;
margin: 0 auto -6px auto;
width: 100%;
line-height: 100%;
z-index: 1;
}

@media all and (min-width: 1920px) {
  h1.home-page-title {
    font-size: 210px;
	margin: 0 auto -8px auto;
  }
}

@media only screen and (max-width: 1200px) {
  h1.home-page-title {
    font-size: 115px;
	margin: 0 auto -4px auto;
  }
}

@media only screen and (max-width: 1024px) {
  h1.home-page-title {
    font-size: 85px;
    margin: 0 auto -4px auto;
  }
}

@media only screen and (max-width: 880px) {
  h1.home-page-title {
    font-size: 85px;
    margin: 0 auto -4px auto;
  }
}

@media only screen and (max-width: 640px) {
  h1.home-page-title {
    font-size: 65px;
	margin: 0 auto -1px auto;
  }
}

h2.home-page-title {
font-family: 'Oswald', sans-serif;
font-style: normal;
font-weight: 400;
font-size: 15px;
text-align: center;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #fff;
margin: -2px 0 0 11px;
}

/* 7.1. bottom credits */
.bottom-credits {
position: absolute;
display: block;
width: auto;
height: auto;
left: 51px;
bottom: 47px;
color: #fff;


text-align: left;
/*font-size: 13px;
letter-spacing: 0.05em;
font-family: 'Barlow Condensed';
font-weight: 100;*/
 -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
z-index: 50;
}

@media only screen and (max-width: 768px) {
  .bottom-credits {
    left: 26px;
    bottom: 47px;
	font-size: 13px;
  }
}

.bottom-credits a,
.bottom-credits a:hover {
color: #fff;
text-decoration: none;
}

.bottom-credits.bottom-credits-dark,
.bottom-credits.bottom-credits-dark a,
.bottom-credits.bottom-credits-dark a:hover {
color: #111;
}


/* 8. overlay */
.overlay:before {
content: "";
position: absolute;
display: block;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 1;
}

.overlay-dark-70:before {
background: rgba(0, 0, 0, .7);
-webkit-pointer-events: none;
   -moz-pointer-events: none;
        pointer-events: none;
}

.overlay-dark-60-video:before {
content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.9) 0px,
        rgba(0, 0, 0, 0.4) 150px,
        rgba(0, 0, 0, 0.4) calc(100% - 150px),
        rgba(0, 0, 0, 0.9) 100%
    );

    pointer-events: auto;
    z-index: 50;
}


/* 9. buttons */
.the-button-wrapper,
.the-button-wrapper-2 {
position: relative;
width: 175px;
height: auto;
line-height: 1.5;
padding: 0;
text-align: center;
cursor: pointer;
}

.the-button-wrapper {
margin: -7px auto 0 auto;
}

@media all and (min-width: 1920px) {
  .the-button-wrapper {
    width: 205px;
    margin: -4px auto 0 auto;
  }
}

@media only screen and (max-width: 640px) {
  .the-button-wrapper {
    width: 175px;
  }
}

.the-button-wrapper-2 {
margin: -7px auto 12px auto;
}

@media all and (min-width: 1920px) {
  .the-button-wrapper-2 {
    width: 205px;
    margin: -4px auto 16px auto;
  }
}

.the-button {
position: relative;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
letter-spacing: 0.10em;
color: #fff;
background: none;
padding: 10px 40px 0 40px;
margin-top: 10px;
-webkit-border-radius: 0;
   -moz-border-radius: 0;
    -ms-border-radius: 0;
     -o-border-radius: 0;
        border-radius: 0;
}

.the-button.the-button-light {
color: #fff;
}

.the-button.the-button-dark {
color: #2e2e2e;
}

.the-button.the-button-color {
color: #ff264a;
}

@media all and (min-width: 1920px) {
  .the-button {
    font-size: 11px;
    letter-spacing: 0.25em;
	padding: 11px 40px 0 40px;
  }
}

@media only screen and (max-width: 640px) {
  .the-button {
    font-size: 10px;
	letter-spacing: 0.10em;
  }
}

.the-button:hover:before {
width: 100%;
}

.the-button:hover:after {
width: 100%;
}

.the-button::before {
content: "";
position: absolute;
width: 15px;
height: 38px;
top: -2px;
left: -6px;
border: 1px solid #fff;
border-right: none;
-webkit-transition: all 0.5s linear;
   -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
     -o-transition: all 0.5s linear;
        transition: all 0.5s linear;
}

.the-button.the-button-light::before {
border: 1px solid #fff;
border-right: none;
}

.the-button.the-button-dark::before {
border: 1px solid #2e2e2e;
border-right: none;
}

.the-button.the-button-color::before {
border: 1px solid #ff264a;
border-right: none;
}

@media all and (min-width: 1920px) {
  .the-button::before {
    width: 20px;
    height: 47px;
	top: -5px;
  }
}

@media only screen and (max-width: 640px) {
  .the-button::before {
    width: 15px;
	height: 38px;
	top: -2px;
  }
}

.the-button::after {
content: "";
position: absolute;
width: 15px;
height: 38px;
top: -2px;
right: -6px;
border: 1px solid #fff;
border-left: none;
-webkit-transition: all 0.5s linear;
   -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
     -o-transition: all 0.5s linear;
        transition: all 0.5s linear;  
}

.the-button.the-button-light::after {
border: 1px solid #fff;
border-left: none;
}

.the-button.the-button-dark::after {
border: 1px solid #2e2e2e;
border-left: none;
}

.the-button.the-button-color::after {
border: 1px solid #ff264a;
border-left: none;
}

@media all and (min-width: 1920px) {
  .the-button::after {
    width: 20px;
    height: 47px;
	top: -5px;
  }
}

@media only screen and (max-width: 640px) {
  .the-button::after {
    width: 15px;
	height: 38px;
	top: -2px;
  }
}

.the-button-submit {
width: 175px;
top: -19px;
border: none;
}

@media all and (min-width: 1920px) {
  .the-button-submit {
    width: 205px;
	border: none;
  }
}

@media only screen and (max-width: 640px) {
  .the-button-submit {
    width: 175px;
	top: -19px;
  }
}

.contact-form-submit-wrapper {
position: relative;
width: 205px;
height: auto;
line-height: 1.5;
padding: 0;
left: 0;
}

.contact-form-submit-wrapper {
margin: 42px auto -6px auto;
}

@media all and (min-width: 1920px) {
  .contact-form-submit-wrapper {
    margin: 42px auto -2px auto;
  }
}

.spotlight-details {
position: relative;
width: 175px;
height: auto;
line-height: 1.5;
margin: 8px auto 10px auto;
padding: 0;
text-align: center;
cursor: pointer;
}

@media all and (min-width: 1920px) {
  .spotlight-details {
    width: 205px;
    margin: 12px auto 15px auto;
  }
}

@media only screen and (max-width: 640px) {
  .spotlight-details {
    width: 175px;
  }
}

.the-button.the-button-spotlight-details {
font-size: 10px;
font-weight: 700;
padding: 12px 40px 0 40px;
margin-top: 10px;
}

@media all and (min-width: 1920px) {
  .the-button.the-button-spotlight-details {
    font-size: 11px;
    letter-spacing: 0.25em;
  }
}

@media only screen and (max-width: 640px) {
  .the-button.the-button-spotlight-details {
    font-size: 10px;
	letter-spacing: 0.10em;
  }
}


/* 10. preloader */
.preloader-bg {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
background: #000;
z-index: 150;
}

#preloader {
position: fixed;
display: table;
table-layout: fixed;
width: 100%;
height: 100%;
overflow: hidden;
background: transparent; /* background moved to .preloader-bg */
z-index: 151; /* above .preloader-bg so logo stays on top during fade */
pointer-events: none;
}

#preloader-status {
display: table-cell;
vertical-align: middle;
}

.preloader-position {
position: relative;
margin: 0 auto;
text-align: center;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
     -o-box-sizing: border-box;
        box-sizing: border-box;
}

.loader {
position: relative;
width: 45px;
height: 45px;
left: 50%;
top: auto;
margin-left: -22px;
margin-top: 2px;
-webkit-animation: rotate 1s infinite linear;
   -moz-animation: rotate 1s infinite linear;
    -ms-animation: rotate 1s infinite linear;
     -o-animation: rotate 1s infinite linear;
        animation: rotate 1s infinite linear;
border: 3px solid rgba(255, 255, 255, .15);
-webkit-border-radius: 50%;
   -moz-border-radius: 50%;
    -ms-border-radius: 50%;
     -o-border-radius: 50%;
        border-radius: 50%;
}

.loader span {
position: absolute;
width: 45px;
height: 45px;
top: -3px;
left: -3px;
border: 3px solid transparent;
border-top: 3px solid rgba(255, 255, 255, .75);
-webkit-border-radius: 50%;
   -moz-border-radius: 50%;
    -ms-border-radius: 50%;
     -o-border-radius: 50%;
        border-radius: 50%;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.preloader-line {
  position: relative;
  width: 100%;
  height: 2px;
  margin-top: 20px;
  background: rgba(255,255,255,0.1);
  overflow: hidden;
}

.preloader-line-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: #fff;
  transition: width 0.25s ease;
}

/* Center inline-block inside the table-cell */
#preloader-status{
  text-align: center;
}

/* Make the preloader container shrink to its contents (logo width) */
.preloader-position{
  display: inline-block;
  margin: 0;              /* margin auto not needed anymore */
}

/* Ensure logo defines the width cleanly */
.preloader-logo {
  display: block;
  margin: 0 auto;
  width: 260px;
  height: auto;
}

.hero-logo {
  display: block;
  width: 260px;
  height: auto;
}

/* Bar will now match the logo width because it's 100% of .preloader-position */
.preloader-line{
  width: 100%;
}


/* 11. to top arrow */
.to-top-arrow {
position: fixed;
right: 29px;
bottom: -10px;
width: 37px;
height: 37px;
line-height: 40px;
cursor: pointer;
font-size: 16px;
text-align: center;
color: #000;
background: #fff;
border: 1px dashed #5e5e5e;
border-radius: 10px !important;
        opacity: 0;
   -moz-opacity: 0;
-webkit-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-border-radius: 3px;
   -moz-border-radius: 3px;
        border-radius: 3px;
-webkit-transform: translateY(40px);
   -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
     -o-transform: translateY(40px);
        transform: translateY(40px);
-webkit-transition: all .6s ease;
   -moz-transition: all .6s ease;
    -ms-transition: all .6s ease;
     -o-transition: all .6s ease;
        transition: all .6s ease;
z-index: 101;
}

@media only screen and (max-width: 880px) {
  .to-top-arrow {
    width: 40px;
    height: 40px;
    line-height: 40px;
	right: 15px;
  }
}

.to-top-arrow.show {
bottom: 9px;
-webkit-transform: translateY(-20px);
   -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
     -o-transform: translateY(-20px);
        transform: translateY(-20px);
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

@media only screen and (max-width: 880px) {
  .to-top-arrow.show {
    bottom: -5px;
  }
}

.to-top-arrow:hover 
{
	color: #fff;
	background: #000;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
		-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
		 -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
			transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);  
}


/* 12. navigation */
.navigation-bg-light {
background: rgba(255, 255, 255, 1);
-webkit-transition: all .4s ease-out;
   -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
     -o-transition: all .4s ease-out;
        transition: all .4s ease-out;
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .35);
   -moz-box-shadow: 0 0 5px rgba(0, 0, 0, .35);
        box-shadow: 0 0 5px rgba(0, 0, 0, .35);
}

header {
  position: fixed;
  top: env(safe-area-inset-top, 0px);
  left: 0;
  width: 100%;
  z-index: 102;
  box-sizing: border-box;

  -webkit-transform: none;
  transform: none;
  will-change: auto;
}


#rotate-device-warning {
  position: fixed;
  inset: 0;
  background: #000;
  color: #fff;
  display: none;
  z-index: 999999;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#rotate-device-warning .rotate-message {
  font-size: 18px;
  line-height: 1.4;
}

#rotate-device-warning .rotate-icon {
  font-size: 42px;
  margin-bottom: 10px;
}

/* show ONLY on small landscape phones */

@media (max-width: 640px) and (orientation: landscape) {
  #rotate-device-warning {
    display: flex;
  }
}



.header-navigation-xs {
  min-height: calc(74px + env(safe-area-inset-top, 0px));
  height: calc(74px + env(safe-area-inset-top, 0px));
  box-sizing: border-box;
}

.logo-holder {
position: relative;
display: inline-block;
width: 59px;
height: 35px;
margin-left: -10px;
bottom: 2px;
-webkit-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
}

.logo-holder img {
-webkit-transition: all .3s ease-in-out .3s;
    -ms-transition: all .3s ease-in-out .3s;
        transition: all .3s ease-in-out .3s;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.logo-holder.closed {
width: 0;
margin-left: -5px;
-webkit-transition: all .3s ease-in-out .3s;
    -ms-transition: all .3s ease-in-out .3s;
        transition: all .3s ease-in-out .3s;
}

.logo-holder.closed img {
-webkit-transition: all .3s ease-in-out 0s;
    -ms-transition: all .3s ease-in-out 0s;
        transition: all .3s ease-in-out 0s;
        opacity: 0;
   -moz-opacity: 0;
-webkit-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-pointer-events: none;
   -moz-pointer-events: none;
        pointer-events: none;
}

.logo-holder {
margin-right: 60px;
}

.logo-holder.closed {
margin-right: 0;
}



.header-navigation a {
display: inline-block;
font-family: 'Oswald', sans-serif;
font-style: normal;

font-weight: 400;
text-transform: uppercase;
/*letter-spacing: 0.05em;*/
padding: 0px 10px 0 10px;
color: #fff;

       
    /*text-transform: capitalize;*/
    font-size: 15px;
	
	   
		
	
}

.header-navigation a:hover,
.header-navigation a:visited,
.header-navigation a:active,
.header-navigation a:focus {
font-weight: 400;
}

.header-navigation-dark a {
	color: black;
/*color: #2e2e2e;*/
}


.header-navigation-xs>a {
display: inline-block;
font-family: 'Oswald', sans-serif;
font-style: normal;
font-size: 13px;
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0 5px;
color: #fff;
}

.header-navigation-xs.header-navigation-xs-dark>a {
color: #2e2e2e;
}

.header-navigation-xs .logo-holder {
position: relative;
display: block;
width: 129px;
height: 34px;
margin: 17px auto 9px auto;
text-align: center;
}


.text-center.hidden-xs
{
	position: relative;
}

.text-center.hidden-xs
{
	position: relative;
	display: flex;
	align-items: center;
}

.nav-back
{
	position: absolute;
	left: 0px;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
}

.nav-back
{
	/*display: none;*/
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease;
}

body.artwork-open .nav-back,
body.service-open .nav-back
{
	/*display: block;*/
	visibility: visible;
	opacity: 1;
	
}


.nav-fullscreen{
  position: absolute;
  right: 0px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
   

}

/* tighter label for the header */
.fullscreen-button{
  padding-left: 9px;
  padding-right: 9px;
  color: #fff !important;
  background-color: transparent!important;
   box-sizing: border-box;
 
}

.language-button{
	margin-right: 20px;
	border: none;
	background-color: transparent;
	font-family: 'Oswald', sans-serif;
	font-size: 13px;
	margin-top: 4px;
	color: #fff;
	 box-sizing: border-box;
}

.language-button img{
	width: 44px;
	padding: 4px;
	padding-top: 0px;
}

/* LIGHT MODE ONLY */
header.navigation-bg-light .language-button,
header.navigation-bg-light .fullscreen-button{
	
  color: #000!important;
}

/* 12.1. link underline menu */
.link-underline-menu {
position: relative;
text-decoration: none;
cursor: pointer;
opacity: 0;
transition: opacity 0.3s ease;
}

.link-underline-menu:before {
content: "";
position: absolute;
width: 80%;
height: 1px;
bottom: -20px;
left: 10px;
right: auto;
background: #fff;
visibility: hidden;
-webkit-transform: scaleX(0);
   -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
     -o-transform: scaleX(0);
        transform: scaleX(0);
-webkit-transition: all 0.4s ease-in-out 0s;
   -moz-transition: all 0.4s ease-in-out 0s;
    -ms-transition: all 0.4s ease-in-out 0s;
     -o-transition: all 0.4s ease-in-out 0s;
        transition: all 0.4s ease-in-out 0s;
}

.link-underline-menu.link-underline-menu-dark:before {
bottom: -11px;
background: #2e2e2e;
}

.link-underline-menu:hover:before {
visibility: visible;
-webkit-transform: scaleX(1);
   -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
     -o-transform: scaleX(1);
        transform: scaleX(1);
}

@media only screen and (max-width: 768px) {
  .link-underline-menu:hover:before {
    visibility: hidden;
  }
}


/* 13. vertical spacer line */
.the-line {
position: relative;
width: 1px;
height: 100px;
background: -webkit-linear-gradient(top, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
margin: 0 auto;
}

.the-line.the-line-light {
background: #fff;
}

@media all and (min-width: 1920px) {
  .the-line {
    height: 125px;
  }
}

@media only screen and (max-width: 991px) {
  .the-line {
    height: 80px;
  }
}

.the-line.the-line-facts {
height: 50px;
}

@media all and (min-width: 1920px) {
  .the-line.the-line-facts {
    height: 50px;
  }
}

@media only screen and (max-width: 991px) {
  .the-line.the-line-facts {
    height: 40px;
  }
}


/* 14. facts */
.facts-counter-wrapper {
position: relative;
margin: 0 auto;
text-align: center;
}

.facts-counter-number {
position: relative;
top: 0;
font-family: 'Oswald', sans-serif;
font-size: 55px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: -0.04em;
color: #fff;
line-height: 1;
margin: -5px auto 0 auto;
z-index: 10;
}

@media only screen and (max-width: 640px) {
  .facts-counter-number {
    font-size: 40px;
	margin: -3px auto 0 auto;
  }
}

.facts-counter-title {
font-family: 'Oswald', sans-serif;
font-style: normal;
font-weight: 400;
font-size: 15px;
text-align: center;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #fff;
}


/* 15. copyright */
.copyright-home {
position: absolute;
bottom: 25px;
right: 29px;
text-align: right;
font-size: 9px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
margin: 0;
z-index: 10;
}

@media only screen and (max-width: 880px) {
  .copyright-home {
    bottom: 11px;
    right: 15px;
  }
}

@media only screen and (max-width: 640px) {
  .copyright-home {
    display: none;
	visibility: hidden;
  }
}

.copyright-home,
.copyright-home a,
.copyright-home a:hover {
color: #fff;
}

.copyright {
position: relative;
text-align: center;
letter-spacing: 0.05em;
margin: 0 auto;
padding-bottom: 20px;
}


.copyright a
{
	font-family: 'Editor Gifted';
	font-size: 24px;
	color: black;
}


/* 16. link underline */
.link-underline {
position: relative;
display: inline-block;
}

.link-underline::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: #ff264a;
-webkit-transform-origin: right center;
   -moz-transform-origin: right center;
    -ms-transform-origin: right center;
        transform-origin: right center;
-webkit-transform: scale(0, 1);
   -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
     -o-transform: scale(0, 1);
        transform: scale(0, 1);
-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   -moz-transition: -moz-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    -ms-transition: -ms-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     -o-transition: -o-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.link-underline:hover::before {
-webkit-transform-origin: left center;
   -moz-transform-origin: left center;
    -ms-transform-origin: left center;
        transform-origin: left center;
-webkit-transform: scale(1, 1);
   -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
     -o-transform: scale(1, 1);
        transform: scale(1, 1);
}

.link-underline.link-underline-light::before {
background: #fff;
}

.link-underline.link-underline-dark::before {
background: #2e2e2e;
}


/* 12. link underline from WOX template override*/
.link-underline {
position: relative;
display: inline-block;
text-decoration: none;
color: inherit;
}

.link-underline::after {
content: "";
position: absolute;
display: block;
width: 100%;
height: 1px;
left: 0;
bottom: 0;
padding: 0;
background-color: #fff;
-webkit-transform-origin: left center;
   -moz-transform-origin: left center;
    -ms-transform-origin: left center;
        transform-origin: left center;
-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   -moz-transition: -moz-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    -ms-transition: -ms-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     -o-transition: -o-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.link-underline.link-underline-dark::after {
background-color: #5f5f5f;
}

.link-underline:hover::after {
-webkit-transform-origin: left center;
   -moz-transform-origin: left center;
    -ms-transform-origin: left center;
        transform-origin: left center;
-webkit-transform: scale(0, 1);
   -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
     -o-transform: scale(0, 1);
        transform: scale(0, 1);
-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   -moz-transition: -moz-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    -ms-transition: -ms-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     -o-transition: -o-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}



/* 20. section intro */
.section-intro p {
/*font-family: 'Futura Lt BT';
font-size: 15px;
font-style: normal;
font-weight: 500;
text-transform: none;*/
text-align: center;

line-height: 1.5;
margin: -7px auto 0 auto;
}



@media only screen and (max-width: 991px) {
  .section-intro p {
    /*font-size: 20px;*/
	margin: -5px auto 0 auto;
  }
}

@media only screen and (max-width: 880px) {
  .section-intro p {
    font-size: 18px;
	font-weight: 400;
  }
}

.section-intro p a,
.section-intro p a:hover {
text-decoration: none;
}

.section-intro.section-intro-light p {
color: #fff;
}


/* 21. parallax title */
.parallax-title-content {
position: relative;
font-family: 'Oswald', sans-serif;
font-weight: 700;
font-size: 160px;
text-align: center;
text-transform: uppercase;
line-height: 1;
letter-spacing: -0.08em;
color: #2e2e2e;
background: #fff;
mix-blend-mode: lighten;
overflow: hidden;
margin: -20px auto -6px auto;
}

.parallax-title-content.parallax-title-content-dark {
color: #fff;
background: #000;
mix-blend-mode: darken;
}

@media all and (min-width: 1920px) {
  .parallax-title-content {
    font-size: 210px;
	margin: -26px auto -6px auto;
  }
}

@media only screen and (max-width: 1200px) {
  .parallax-title-content {
    font-size: 115px;
	margin: -12px auto -3px auto;
  }
}

@media only screen and (max-width: 1024px) {
  .parallax-title-content {
	font-size: 85px;
	margin: -9px auto -2px auto;
	letter-spacing: -0.04em;
  }
}

@media only screen and (max-width: 991px) {
  .parallax-title-content {
    letter-spacing: -0.04em;
  }
}

@media only screen and (max-width: 880px) {
  .parallax-title-content {
    font-size: 85px;
	margin: -9px auto -2px auto;
  }
}

@media only screen and (max-width: 640px) {
  .parallax-title-content {
    font-size: 65px;
	margin: -7px auto 0 auto;
  }
}

.parallax-title {
position: relative;
background-repeat: no-repeat;
background-position: center center;
    -webkit-background-size: cover;
       -moz-background-size: cover;
        -ms-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
border: none;
z-index: 1;
}


/* 22. sections */
/* 22.1. all section */
.post-txt {
position: relative;
display: block;
margin: -17px auto 0 auto;
text-align: center;
}

.post-txt-light p {
color: #fff;
}

.post-txt p {
margin: -7px auto 0 auto;
}

.post-heading,
.post-heading-services,
.post-heading-works,
.post-heading-spotlight {
font-family: 'Oswald', sans-serif;
font-size: 15px;
font-style: normal;
font-weight: 400;
text-transform: uppercase;
padding: 0;
text-align: center;
letter-spacing: 0.05em;
color: #2e2e2e;
}

.post-heading,
.post-heading-services,
.post-heading-works,
.post-heading-spotlight {
margin: -2px auto 0 auto;
}

.post-heading-light {
color: #fff;
}

.post-heading-spotlight.post-heading-spotlight-dark {
color: #ff264a;
}

.post-title,
.post-email-title {
position: relative;
top: 0;
font-family: 'Oswald', sans-serif;
font-size: 55px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: -0.04em;
color: #2e2e2e;
line-height: 1;
z-index: 10;
}

.post-title-light {
color: #fff;
}

.post-title {
margin: -7px auto -2px auto;
}

@media all and (min-width: 1920px) {
  .post-title {
    font-size: 65px;
    margin: -9px auto -1px auto;
  }
}

@media only screen and (max-width: 640px) {
  .post-title {
    font-size: 40px;
	margin: -4px auto -1px auto;
  }
}

.post-email-title {
margin: -20px auto 0 auto;
}

@media all and (min-width: 1920px) {
  .post-email-title {
    font-size: 65px;
    margin: -24px auto 0 auto;
  }
}

@media only screen and (max-width: 768px) {
  .post-email-title {
    font-size: 40px;
    margin: -14px auto 0 auto;
  }
}

@media only screen and (max-width: 640px) {
  .post-email-title {
    font-size: 20px;
    margin: -6px auto 0 auto;
  }
}

.post-title a,
.post-title a:hover {
line-height: 1.5;
color: #fff;
}

.post-email-title a,
.post-email-title a:hover {
line-height: 1.5;
color: #2e2e2e;
}

@media only screen and (max-width: 768px) {
  .swiper-slide .post-title {
    width: 70%;
  }
}

@media only screen and (max-width: 640px) {
  .swiper-slide .post-title {
    width: 60%;
  }
}


/* 22.2. services section */
.services-txt,
.services-txt-dark {
margin: 0 auto;
padding: 0 100px;
}

@media all and (min-width: 1920px) {
  .services-txt,
  .services-txt-dark {
	padding: 0 150px;
  }
}

@media only screen and (max-width: 1200px) {
  .services-txt,
  .services-txt-dark {
    padding: 0 80px;
  }
}

@media only screen and (max-width: 991px) {
  .services-txt,
  .services-txt-dark {
    padding: 0 35px;
  }
}

@media only screen and (max-width: 880px) {
  .services-txt,
  .services-txt-dark {
    padding: 0 15px;
  }
}

.services-txt {
color: #fff;
}

.services-txt-dark {
color: #2e2e2e;
}

.services-bg-1,
.services-bg-2 {
width: 100%;
height: auto;
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
   -moz-background-size: cover;
    -ms-background-size: cover;
     -o-background-size: cover;
        background-size: cover;
-webkit-filter: grayscale(100%);
        filter: grayscale(100%);
-webkit-transition: all 1s ease;
   -moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
     -o-transition: all 1s ease;
        transition: all 1s ease;
}

.halves:hover .services-bg-1,
.halves:hover .services-bg-2 {
-webkit-filter: none;
        filter: none;
-webkit-transition: all 1s ease;
   -moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
     -o-transition: all 1s ease;
        transition: all 1s ease;
}


/* SERVICES title card (matches nav width on desktop, full width on mobile) */
#works{
  
}

.services-title-wrap{
  position: relative;
  width: 544px;
  max-width: 1440px;   /* same as .header-navigation */
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
}

.services-title-bg{
  display: block;
  width: 100%;
  height: auto;
}

/* overlay text on top of the image */
.services-title-content{
  position: absolute;
  inset: 0;
  padding: 10px;       /* 10px gap on all sides */
  box-sizing: border-box;
}

/* IMPORTANT: neutralize your artwork-page sizing rules inside this title */
.services-title-content.artwork-page-text-content{
  width: auto;
  max-width: none;
  padding: 50px;   /* override your existing 15px etc */
}

/* mobile: full width */
@media (max-width: 880px){
  .services-title-wrap{
    max-width: none;
  }
}

@media (max-width: 991px){

  .col-md-12{
    padding-right: 0px;
    padding-left: 0px;
  }
}

@media (max-width: 544px){
  .services-container{
    padding-right: 0px;
    padding-left: 0px;
  }
  
}


/* 23.3. HTML5 video */
.html5-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
}
.html5-videoContainment{ position:relative; z-index:1; }
video.html5-videoContainment{
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;           /* can be omitted */
  object-fit: cover;
  display: block;
}



/* 27. swiper parallax */
.parallax .swiper-button-next,
.parallax .swiper-button-prev {
display: block;
visibility: visible;
width: 20px;
height: 20px;
background-size: 20px 20px;
display: none;
visibility: hidden;
}

.parallax a,
.parallax a:hover {
color: #fff;
}

.parallax .swiper-container {
width: 100%;
height: 100%;
background: #000;
left: 0;
top: 0;
}

.parallax .swiper-slide {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
        box-sizing: border-box;
}
	
.parallax .parallax-bg {
position: absolute;
left: 0;
top: 0;
width: 130%;
height: 100%;	  
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
   -moz-background-size: cover;
    -ms-background-size: cover;
     -o-background-size: cover;
        background-size: cover;
}



/* 33. divider */
.inner-divider,
.inner-divider-half,
.inner-divider-post,
.inner-divider-mobile,
.inner-divider-half-post {
position: relative;
width: 100%;
margin: 0 auto;
background: none;
z-index: -1;
}

.inner-divider {
height: 70px;
}

.top-divider {
height: 99px;
}

@media all and (min-width: 1920px) {
  .inner-divider {
	height: 70px;
  }
}

@media only screen and (max-width: 991px) {
  .inner-divider {
    height: 70px;
  }
}

@media only screen and (max-width: 640px) {
  .inner-divider {
    height: 70px;
  }
}

.inner-divider-half {
height: 50px;
}

@media only screen and (max-width: 640px) {
  .inner-divider-half.inner-divider-home {
    height: 23px;
  }
}

.inner-divider-post {
height: 70px;
}

.inner-divider-mobile {
display: none;
visibility: hidden;
height: 70px;
}

@media only screen and (max-width: 991px) {
  .inner-divider-mobile {
    display: block;
    visibility: visible;
  }
}

@media only screen and (max-width: 640px) {
  .inner-divider-mobile {
    height: 70px;
  }
}

@media only screen and (max-width: 991px) {
  .hide-on-mobile {
    display: none;
    visibility: hidden;
  }
}

@media only screen and (max-width: 768px) {
  .inner-divider-hide {
    display: none;
    visibility: hidden;
  }
}

.inner-divider-half-post {
height: 20px;
}

@media all and (min-width: 1920px) {
  .inner-divider-half-post {
    height: 40px;
  }
  
  .inner-divider-half-post.inner-divider-half-post-works {
    height: 20px;
  }
}


/* 34. vertical lines */
.vertical-lines-wrapper {
position: fixed;
width: 100%;
height: 100vh;
height: 100dvh;
overflow: hidden;
left: 0;
top: 0;
margin: 0;
-webkit-pointer-events: none;
   -moz-pointer-events: none;
        pointer-events: none;
z-index: 2;
}

.vertical-lines {
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.vertical-effect {
position: relative;
width: 25%;
height: 100%;
float: left;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
        box-sizing: border-box;
border-right: 1px solid rgba(119, 119, 119, .1);
}

.vertical-effect::before {
content: "";
position: absolute;
display: block;
width: 1px;
-webkit-animation-direction: normal;
   -moz-animation-direction: normal;
    -ms-animation-direction: normal;
     -o-animation-direction: normal;
        animation-direction: normal;
}

.vertical-effect:first-child::before,
.vertical-effect:last-child::before {
content: "";
position: absolute;
right: -1px;
}

.vertical-effect:first-child::before {
top: 0;
-webkit-animation: raindrop 6s ease-out infinite;
   -moz-animation: raindrop 6s ease-out infinite;
    -ms-animation: raindrop 6s ease-out infinite;
     -o-animation: raindrop 6s ease-out infinite;
        animation: raindrop 6s ease-out infinite;
background: -webkit-linear-gradient(top, rgba(138, 135, 122, 0), rgba(138, 135, 122, 1));
background: -ms-linear-gradient(top, rgba(138, 135, 122, 0), rgba(138, 135, 122, 1));
background: linear-gradient(top, rgba(138, 135, 122, 0), rgba(138, 135, 122, 1));
}

.vertical-effect:last-child::before {
bottom: 0;
-webkit-animation: raindrop-reverse 6s ease-out infinite;
   -moz-animation: raindrop-reverse 6s ease-out infinite;
    -ms-animation: raindrop-reverse 6s ease-out infinite;
     -o-animation: raindrop-reverse 6s ease-out infinite;
        animation: raindrop-reverse 6s ease-out infinite;
background: -webkit-linear-gradient(top, rgba(138, 135, 122, 1), rgba(138, 135, 122, 0));
background: -ms-linear-gradient(top, rgba(138, 135, 122, 1), rgba(138, 135, 122, 0));
background: linear-gradient(top, rgba(138, 135, 122, 1), rgba(138, 135, 122, 0));
}

@-webkit-keyframes raindrop {
  0% {
    top: -10%;
    opacity: 0;
    height: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 100%;
    height: 35%;
  }
}
@-ms-keyframes raindrop {
  0% {
    top: -10%;
    opacity: 0;
    height: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 100%;
    height: 35%;
  }
}
@keyframes raindrop {
  0% {
    top: -10%;
    opacity: 0;
    height: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 100%;
    height: 35%;
  }
}

@-webkit-keyframes raindrop-reverse {
  0% {
    bottom: -10%;
    opacity: 0;
    height: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    bottom: 100%;
    height: 35%;
  }
}
@-ms-keyframes raindrop-reverse {
  0% {
    bottom: -10%;
    opacity: 0;
    height: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    bottom: 100%;
    height: 35%;
  }
}
@keyframes raindrop-reverse {
  0% {
    bottom: -10%;
    opacity: 0;
    height: 0;
  }
  50% {
    opacity: 1;
   }
  100% {
    bottom: 100%;
    height: 35%;
  }
}


/* 35. intro */

.intro-subtitle,
#intro-title {
text-align: center;

font-family: 'Editor Gifted';
font-weight: normal;
font-style: normal;
font-size: 100px;
letter-spacing: normal;
line-height: 0.6;

 -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
padding: 0 0 28px 0;
color: #fff;


position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); /* exact center */
  margin: 0;
  z-index: 20;

}


.intro-wrapper {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 10;
}

.intro-subtitle {
font-family: 'TideSans-500Dudette';
font-weight: normal;
font-style: normal;
font-size: 15px;
line-height: 1;
letter-spacing: 0.05em;

margin: 0 0 2px 0;
color: #fff;

position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(50% + 30px);   /* 60px below the vertical center — adjust as needed */
  z-index: 19;
}

.scroll-indicator-gif {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}

.scroll-indicator-gif img {
  display: block;
  height: 80px;
  width: auto;
}

.homepage-txt-light {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(50% + 80px);  /* 100px below center — adjust as needed */
  width: 80%;              /* optional: confine paragraph width */
  max-width: 780px;
  margin: 0;
  z-index: 18;
  text-align: center;
  color: white;
	font-family: 'Futura Lt BT';
	/*font-size: 17px;*/
	text-transform: none;
}

.intro-subtitle.intro-subtitle-dark {
color: #111;
}

#intro-title.intro-title-dark {
color: #111
}

/* For screens 880px and below */
@media (max-width: 880px) {

    /* --- 1. Reset #intro-title (ARAMI) to Top-Aligned Flow --- */
    #intro-title {
        /* Reset centering properties */
        position: static;
        top: auto;
        left: auto;
        transform: none;
        
        /* Add top margin/padding to start it from the top of the viewport */
        margin-top: 50px;
        margin-left: 0; /* Clear the -6px margin from your other mobile query */
        
        /* Your existing mobile font size override */
        font-size: 115px; 
    }

    /* --- 2. Reset .intro-subtitle (NICE) to Flow beneath ARAMI --- */
    .intro-subtitle {
        /* Reset centering properties */
        position: static;
        top: auto;
        left: auto;
        transform: none;
        
        /* Set standard margin to sit right below ARAMI */
        margin-top: 5px; 
        margin-bottom: 9px; /* Your existing mobile bottom margin */
    }

    /* --- 3. Reset .homepage-txt-light (Paragraph) to Flow beneath NICE --- */
    .homepage-txt-light {
        /* Reset centering properties */
        position: static;
        top: auto;
        left: auto;
        transform: none;
        
        /* Set top margin for gap */
        margin-top: 50px;
        
        /* Allow it to use full width on mobile */
        width: 100%;
        max-width: none;
        padding: 0 30px 70px 30px;
		
		color: white;
		font-family: 'Futura Lt BT';
		font-size: 15px;
		text-transform: none;
    }

    /* --- 4. Adjust the main content container to flow naturally --- */
    .center-container-home {
        /* Ensure the content is not affected by any residual centering from the flex query 
        display: block;*/
        padding-top: 0;
        margin: 0 auto;
        width: 100%;
    }
}




/* 37. IMG carousel */
.carousel-item-img-wrapper {
position: relative;
height: auto;
margin: 0;
padding: 0;
overflow: hidden;
cursor: grab;
}

@media only screen and (max-width: 991px) {
  .carousel-item-img-wrapper {
    width: 100%;
  }
}

.carousel-item-img-wrapper.carousel-item-img-wrapper-all {
height: auto;
}

.mosaic-big,
.mosaic-half,
.service-mosaic-big,
.service-mosaic-half,
.carousel-item-all {
position: relative;
/*width: 100%;*/

border-radius: 10px;

background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
   -moz-background-size: cover;
    -ms-background-size: cover;
     -o-background-size: cover;
        background-size: cover;

}

.carousel-item-all 
{
	height: 70vh;
	min-height: 520px;

}


.circle-wrapper-half .carousel-item-all {
position: absolute;
width: 100%;
height: 100%;
-webkit-border-radius: 50%;
   -moz-border-radius: 50%;
    -ms-border-radius: 50%;
     -o-border-radius: 50%;
        border-radius: 50%;
z-index: 0;
}

.circle-wrapper-half .carousel-item-all {
position: absolute;
width: -webkit-calc(100% - 40px);
width: -moz-calc(100% - 40px);
width: calc(100% - 40px);
height: -webkit-calc(100% - 40px);
height: -moz-calc(100% - 40px);
height: calc(100% - 40px);
top: 20px;
right: 20px;
bottom: 20px;
left: 20px;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
        box-sizing: border-box;
background-repeat: no-repeat;
background-position: center center;
    -webkit-background-size: cover;
       -moz-background-size: cover;
        -ms-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
}

@media only screen and (max-width: 880px) {
  .circle-wrapper-half .carousel-item-all {
    width: -webkit-calc(100% - 20px);
    width: -moz-calc(100% - 20px);
    width: calc(100% - 20px);
    height: -webkit-calc(100% - 20px);
    height: -moz-calc(100% - 20px);
    height: calc(100% - 20px);
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
	min-height: 570px;
  }
}

@media (max-width: 576px) {
	.carousel-item-all 
	{
		min-height: 70vh;
	}
}

.circle-wrapper-full .carousel-item-all {
position: absolute;
width: 100%;
height: 100%;
z-index: 0;
}

.circle-wrapper-full .carousel-item-all {
position: absolute;
width: 100%;
height: 100%;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
        box-sizing: border-box;
background-repeat: no-repeat;
background-position: center center;
    -webkit-background-size: cover;
       -moz-background-size: cover;
        -ms-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
}


/* 34. extra margin */
.extra-margin-home {
margin-left: 0;
margin-right: 0;
overflow: hidden;
}

@media only screen and (max-width: 991px) {
  .extra-margin-home {
    margin-left: 50px;
    margin-right: 50px;
  }
}

@media only screen and (max-width: 880px) {
  .extra-margin-home {
    margin-left: 25px;
    margin-right: 25px;
  }
}

.extra-margin-all {
margin-left: 35px;
margin-right: 35px;
overflow: hidden;
}

@media only screen and (max-width: 880px) {
  .extra-margin-all {
    margin-left: 10px;
    margin-right: 10px;
  }
}

.extra-margin-owl {
margin-left: 50px;
margin-right: 50px;
overflow: hidden;
}

@media only screen and (max-width: 880px) {
  .extra-margin-owl {
    margin-left: 10px;
    margin-right: 10px;
  }
}

/* 44. divider */
.visible-mobile-devices,
.visible-mobile-devices-xs {
display: none;
visibility: hidden;
}

@media only screen and (max-width: 991px) {
  .visible-mobile-devices {
    display: block;
    visibility: visible;
  }
}

@media only screen and (max-width: 880px) {
  .visible-mobile-devices-xs {
    display: block;
    visibility: visible;
  }
}

.hidden-mobile-devices {
display: none;
visibility: hidden;
}

.divider-s,
.divider-s-2,
.divider-m,
.divider-m-2,
.divider-l,
.divider-xl,
.inner-divider-50 {
position: relative;
width: 100%;
margin: 0 auto;
background: none;
z-index: -1;
}

.divider-s {
height: 25px;
}

@media only screen and (max-width: 880px) {
  .divider-s {
    height: 25px;
  }
}

.divider-s-2 {
height: 100px;
}

@media only screen and (max-width: 991px) {
  .divider-s-2 {
    height: 75px;
  }
}

@media only screen and (max-width: 880px) {
  .divider-s-2 {
    height: 50px;
  }
}

.divider-m {
height: 25px;
}

@media all and (min-width: 1920px) {
  .divider-m {
    height: 50px;
  }
}

@media only screen and (max-width: 880px) {
  .divider-m {
    height: 25px;
  }
}

.divider-m-2 {
height: 50px;
}

@media only screen and (max-width: 880px) {
  .divider-m-2 {
    height: 25px;
  }
}

.divider-l {
height: 100px;
}

@media only screen and (max-width: 880px) {
  .divider-l {
    height: 50px;
  }
}

.divider-xl {
height: 150px;
}

@media only screen and (max-width: 880px) {
  .divider-xl {
    height: 100px;
  }
}

.inner-divider-50 {
height: 50px;
}

@media only screen and (max-width: 880px) {
  .inner-divider-50 {
    height: 30px;
  }
}

h6 {
display: none!important;
visibility: hidden!important;
}


/* 8.2. spotlight IMG carousel items */
.gallery-style-title h4, .title-grid h4, .contact-title h4 {
	font-family: Libre Bodoni;
	font-size: 17px;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: left;
	color: #000;
	line-height: 1.25;
	margin-bottom: 10px;
}

.font-17px {
	font-size: 17px !important;
}




@media only screen and (max-width: 880px) {
  .gallery-style-title h4 {
    font-size: 17px;
	/*line-height: 1.5;*/
	padding: 0 0 3px 0;
	
  }
}

.spotlight-page-img-carousel-spacer-top {
margin-top: 42px;
}

.spotlight-page-img-carousel-spacer-bottom {
margin-top: 25px;
}

.spotlight-page-img-carousel-wrapper {
position: relative;
background: none;
height: 100vh;
height: 100dvh;
}

.spotlight-page-img-carousel-wrapper::after {
content: "";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
        opacity: 0;
   -moz-opacity: 0;
-webkit-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-transition: all 1s ease 0s;
   -moz-transition: all 1s ease 0s;
    -ms-transition: all 1s ease 0s;
     -o-transition: all 1s ease 0s;
        transition: all 1s ease 0s;
background-color: rgba(0, 0, 0, 0);
}

.spotlight-page-img-carousel-wrapper .elle-aime-collection-img-carousel-text {
  position: absolute;
  width: 100%;

  /* ✨ Your desired styles: */
  font-family: 'Futura Lt BT', sans-serif;
  font-style: italic;
  font-weight: 300;
  line-height: 1;
  text-align: left;

  /* Keep the rest of the needed styles */
  font-size: 15px;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;

  left: -10px;
  bottom: 50px;
  padding: 0 60px;
  z-index: 10;
}




@media only screen and (max-width: 880px) {
  .spotlight-page-img-carousel-wrapper .elle-aime-collection-img-carousel-text {
    font-size: 13px;
	left: 0;
	padding: 0 50px;
  }
}

.spotlight-page-img-carousel-wrapper .elle-aime-collection-img-carousel-text .spotlight-page-img-carousel-heading {
font-family: 'Oswald', sans-serif;
font-size: 10px;
line-height: 1.5;
font-style: normal;
font-weight: 400;
text-transform: uppercase;
text-shadow: 1px 1px 2px #111;
letter-spacing: 0.05em;
}

.spotlight-page-img-carousel-heading.spotlight-page-img-carousel-heading-dark {
text-align: left;
font-size: 10px;
text-transform: uppercase;
font-weight: 700;
padding-bottom: 37px;
margin-top: -30px;
color: #111;
}

@media only screen and (max-width: 880px) {
  .spotlight-page-img-carousel-heading.spotlight-page-img-carousel-heading-dark {
    text-align: center;
	padding-bottom: 0;
	margin-top: -14px;
  }
}

.spotlight-page-img-carousel-heading.spotlight-page-img-carousel-heading-dark span {
display: block;
font-style: italic;
font-weight: 700;
padding-top: 7px;
color: #000;
}

@media only screen and (max-width: 880px) {
  .spotlight-page-img-carousel-heading.spotlight-page-img-carousel-heading-dark span {
    padding-top: 5px;
  }
}

.spotlight-page-img-carousel-wrapper .elle-aime-collection-img-carousel-text .spotlight-page-img-carousel-content {
max-height: 0;
        opacity: 0;
   -moz-opacity: 0;
-webkit-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
overflow: hidden;
-webkit-transition: all 0.5s ease-out;
   -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
     -o-transition: all 0.5s ease-out;
        transition: all 0.5s ease-out;
}

.spotlight-page-img-carousel-wrapper:hover::after {
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.spotlight-page-img-carousel-wrapper:hover .spotlight-page-img-carousel-content {
max-height: 600px;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-webkit-transition: all 1s ease-in;
   -moz-transition: all 1s ease-in;
    -ms-transition: all 1s ease-in;
     -o-transition: all 1s ease-in;
        transition: all 1s ease-in;
}


.price {
    text-align: right;
}
.price-red {
	text-align: right;
    color: red !important;
}
#live-label{
	vertical-align: baseline;
    animation: liveBlink 1.2s ease-in infinite;
}

@keyframes liveBlink {
    0%   { opacity: 1; }
    50%  { opacity: 0.0; }
    100% { opacity: 1; }
}



.title-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 0px;
    align-items: start;
}


/* Right side alignment */
.price,
.buy-button {
    justify-self: end;
	font-style: normal !important;
}

/* Buy button styling */

.back-button,
.buy-button {
    padding: 3px 7px 4px 7px;
    border: 1px dashed #5e5e5e;
    border-radius: 10px;
    background: #fff;
    color: black;
    text-decoration: none;
    text-align: center;
    display: inline-block;
	box-sizing: border-box;
	position: relative;
	font-family: 'Oswald', sans-serif;
    font-size: 13px;
	font-weight: 400;
	text-transform:uppercase;
	letter-spacing: 0.05em;
	box-sizing: border-box;
}

.back-button:visited {
    color: black;
}

.back-button:hover,
.buy-button:hover {
    background: #000;
	color: #fff;
	border: 1px dotted #000;
}

.post-box{
	z-index: 3;
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(3,  1fr);
    gap: 32px;
}
.post-grid.services-post-grid {
    grid-template-columns: repeat(4,  1fr);
	gap: 16px;
}




.video-hover {
  position: relative;
  overflow: hidden;
  max-height: 600px;
  min-height: 450px;
}

.video-hover video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.video-hover:hover video {
  opacity: 1;
}




@media (max-width: 991px) {
    .post-grid {
        grid-template-columns: repeat(2, 1fr);
		gap: 16px;
    }

	.post-grid.services-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}



@media (max-width: 576px) {
    .post-grid {
        grid-template-columns: 1fr;
    }
	.post-grid.services-post-grid {
		grid-template-columns: 1fr;
	}
}

.black-line {
    width: 100%;
    height: 1px;
    background-color: black;
}

.gray-line {
    width: 100%;
    height: 1px;
    background-color: rgba(119, 119, 119, .1);
}

.post-box-inner {
    display: flex;
    flex-direction: column;
}

.readmore-button {
    margin-left: auto;
    display: inline-block;
}

.read-more {
  margin-left: 6px; /* adjust value */
}

.full-screen-height-minus-footer {
    min-height: calc(100vh - 154px);           /* full viewport height */
}

.centered-aligned-area {
    display: flex;
    flex-direction: column;    /* stack vertically */
    justify-content: center;   /* centers the main content vertically */
    /*align-items: center;        horizontally center content */
    position: relative;        /* for absolutely positioned copyright */
	padding-right: 0px;
    padding-left: 0px;
}

.full-screen-height {
    min-height: calc(100vh - 69px);
    min-height: calc(100dvh - 69px);
}

.contact-title {
    text-align: left;
	display: inline-block; /* shrink to content */
    white-space: nowrap;   /* prevent line breaks if you want a single line */
}

.horizontal-aligned{
	align-items: center;
}
/* Owl Carousel v2.2.0 CUSTOM */
/*
//
//
//
*/
.owl-buttons {
position: static;
}

.owl-prev,
.owl-next {
position: absolute;
display: block;
top: 40%;
margin-top: -29px;
width: 56px;
height: 56px;
line-height: 56px;
font-size: 14px;
text-align: center;
-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
     -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);	
}

@media (min-width: 1500px) {
    .owl-prev {
        margin-left: -70px;
    }
	
	.owl-next {
        margin-right: -70px;
    }
}



.owl-prev {
left: -10px;
}

.owl-next {
right: -10px;
}

.owl-prev:before,
.owl-next:before {
-webkit-border-radius: 3px;
   -moz-border-radius: 3px;
        border-radius: 3px;
content: "";
display: block;
width: 66%;
height: 66%;
position: absolute;
border: 1px dashed #5e5e5e;
border-radius: 10px;
background: #fff;
-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
     -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.owl-prev:before {
left: 45px;
top: 9px;
}

.owl-next:before {
right: 45px;
top: 9px;
}

.owl-prev .owl-custom,
.owl-next .owl-custom {
position: relative;
}

.owl-prev .owl-custom {
position: relative;
left: 34px;
}

.owl-next .owl-custom {
position: relative;
right: 34px;
}




.owl-next,
.owl-prev {
    opacity: 1 !important;       /* always fully visible */
    -moz-opacity: 1 !important;
    -webkit-opacity: 1 !important;
    filter: none !important;
    -ms-filter: none !important;

    transition: none !important;         /* remove all transitions */
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;

    /* keep position/size from your original code */
    position: absolute;
    top: 50%;
    width: 56px;
    height: 56px;
    line-height: 56px;
    font-size: 14px;
    color: #000;
    text-align: center;
    margin-top: -29px;  /* keeps it vertically centered */
}



.owl-prev:hover,
.owl-next:hover {
	color: #fff;
}


.owl-prev:hover:before,
.owl-next:hover:before,
.owl-prev:active:before,
.owl-next:active:before{
    background: #000;  
}




/* 27. Time line for spotlight section
//
//
//
*/
/* Dot container */
#spotlight-carousel .owl-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;               /* 10px space between dots */
    margin-top: 10px;       /* space from carousel */
}

/* Normal dot */
#spotlight-carousel .owl-dot {
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
    padding: 0;
    margin: 0;
    transition: all 0.2s ease;
}

/* Active dot */
#spotlight-carousel .owl-dot.active {
    width: 8px;
    height: 8px;
}


#spotlight-carousel {
    position: relative;
	transform: translateY(-55px); /* Half of the 110px offset to perfectly center the remaining space */
}

/* timeline container */
.timeline-dots {
    position: absolute;
    width: 100%;
    height: 40px; /* a bit taller for year labels */
    pointer-events: none;
	/*margin-top: -30px;*/
	padding-top: 20px;
}

.timeline-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;              /* white inside */
    border: 1px solid #2e2e2e;     /* outline */
	z-index: 4;
	
	position: absolute;
    left: var(--x);        /* set via JS or inline */
    transform: translateX(-50%);
    box-sizing: border-box;
	
}

#timeline-dots { pointer-events: auto; }
#timeline-dots * { pointer-events: none; }

#timeline-dots {
  position: relative;
}

#timeline-dots::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  bottom: -50px;
  pointer-events: auto;
}

.timeline-dot-active {
    width: 14px; /* 7px radius */
    height: 14px;
    border-radius: 50%;
    background: #2e2e2e;
    bottom: 10px;
	
	position: absolute;
    left: var(--x);        /* set via JS or inline */
    transform: translateX(-50%);
    box-sizing: border-box;
    
    transition: left 0.3s ease;
    z-index: 9;
}

.timeline-date {
    position: absolute;
    bottom: 30px;
    transform: translateX(-50%);
    /*font-size: 11px;*/
    color: #000;
    white-space: nowrap;
    text-align: center;
	font-weight: 300;
    z-index: 10;
    transition: left 0.3s ease;
}

.timeline-year {
	font-family: 'Oswald';
    font-size: 17px;
    color: #e4e4e4;
    display: inline-block;
    text-align: center;
    transform-origin: center center;
    transform: rotate(-90deg);
    position: absolute;
    bottom: -56px;
    white-space: nowrap;
	
	left: 50%;                   /* will be overridden inline */
	transform: translateX(-50%) rotate(-90deg);
	
	z-index: 3;
	background: #fff;              /* white background */
    padding-right: 4px;
	padding-left: 8px;
	
	box-sizing: border-box;
}

.timeline-year::before {
    content: "";
    position: absolute;
    left: calc(50% + 5px);
    bottom: 100%;
    width: 1px;
    height: 40px;
    background: #e4e4e4;
    transform: translateX(40px) translateY(80%) rotate(-90deg);
	box-sizing: border-box;
	z-index = 0;
}

@media only screen and (max-width: 570px) {
  .timeline-year {
	font-size: 11px;
    padding-right: 9px;
	}
	.timeline-year::before {
		
		transform: translateX(35px) translateY(69%) rotate(-90deg);
	}

}



/* spotlight*/
/*
//
//
//
*/

#spotlight {
    position: relative;
}

#spotlight .spotlight-item {
padding: 10px;
    
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
-webkit-transform: scale3d(0.8, 0.8, 1);
   -moz-transform: scale3d(0.8, 0.8, 1);
    -ms-transform: scale3d(0.8, 0.8, 1);
     -o-transform: scale3d(0.8, 0.8, 1);
        transform: scale3d(0.8, 0.8, 1);			
-webkit-transition: all .3s ease-in-out;
   -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
		
	
}

#spotlight .spotlight-item:before {
	content: "";
    position: absolute;
    inset: 0;                    
    background-color: #fff;      
    opacity: 0.3;               
    z-index: 1;
	transition: opacity 0.4s ease-out;
	/*pointer-events:;*/
	
}


#spotlight .spotlight-item {
	opacity: 1 !important;
	transform: scale3d(1, 1, 1) !important;
	box-sizing: border-box;
}
	
.height-100-percent
{
	height:100%;
}
	
/* --- Split Container --- */
.spotlight-split-container {
    display: flex;
    width: 100%;
    height: calc(100vh - 225px);
    align-items: stretch;
}

/* --- Left Column Logic --- */
.spotlight-text-side {
    flex: 0 0 33.33%;
    position: relative; /* Anchor for the absolute logo below */
    padding-right: 0px;
    display: flex;
    flex-direction: column;
}

/* --- Meta Text (Top Aligned) --- */
.spotlight-meta {
    position: relative;
    z-index: 10;
    margin-top: 0;
   max-height: none;
	overflow: visible;
	padding-right:10px;
}

.spotlight-meta h4 {
    margin-top: 0 !important;
}

/* --- Independent Logo Centering (50% default) --- */
.spotlight-logo-center-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none;
    z-index: 5;
}

/* --- When text overlaps: jump logo to 75% --- */
.spotlight-text-side.logo-low .spotlight-logo-center-wrap{
  top: 75% !important;
}

.spotlight-mini-logo {
    width: 128px !important;
    height: auto;
    margin-right: 30px !important;
}


/* --- Right Column (Image) --- */
.spotlight-image-side {
    flex: 0 0 66.66%;
}


/* ---  Whitespace --- */

#spotlight .spotlight-item {
	padding: 0 30px;
	
}
  
@media only screen and (max-width: 1500px) {
  #spotlight .spotlight-item {
    padding: 0 100px;
  }
}

@media only screen and (max-width: 991px) {
  #spotlight .spotlight-item {
    padding: 0 30px;
  }
  
  .spotlight-text-side {
    flex: 0 0 50%;
  }
  
  .spotlight-image-side {
    flex: 0 0 50%;
  }
}

@media only screen and (max-width: 768px)
{
	.spotlight-split-container {
		height: calc(100vh - 241px);
	}
}
@media only screen and (max-width: 680px) {

  #spotlight .spotlight-item {
    padding: 0 0px;
    padding-top: 101px;
  }
  
  #spotlight {
  overflow-x: hidden;
}

  .spotlight-text-side {
    flex: 0 0 100%;
  }
  
  .spotlight-image-side {
    flex: 0 0 0%;
    display: none;
  }

  .owl-prev,
  .owl-next {
    top: 80%;
  }

  .owl-prev{
    left: 0;
    transform: translateX(-45px);
  }

  .owl-next{
    right: 0;
    transform: translateX(45px);
  }

}



#spotlight .owl-item.active.center .spotlight-item {
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-webkit-transform: scale3d(1.0, 1.0, 1);
   -moz-transform: scale3d(1.0, 1.0, 1);
    -ms-transform: scale3d(1.0, 1.0, 1);
     -o-transform: scale3d(1.0, 1.0, 1);
        transform: scale3d(1.0, 1.0, 1);
}


#spotlight .owl-item.active.center .spotlight-item:before {
    opacity: 0.0;
	transition: opacity 0.4s ease-out;
	pointer-events: none;
}
		
.owl-carousel .owl-item img {
margin: 0;
padding: 0;
background: #fff;
-webkit-transform-style: preserve-3d;
   -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
     -o-transform-style: preserve-3d;
        transform-style: preserve-3d;
}



.thumbnail-height{
	max-height: 573px;
    height: 60vh;
    min-height: 320px;
}

.spotlight-item .spotlight-content img {
max-width: 100%;
-webkit-transition: all .8s ease-out;
   -moz-transition: all .8s ease-out;
    -ms-transition: all .8s ease-out;
     -o-transition: all .8s ease-out;
        transition: all .8s ease-out;
}

.spotlight-item:hover .spotlight-content img {
-webkit-transform: scale(1.1);
   -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
     -o-transform: scale(1.1);
        transform: scale(1.1);
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .35);
   -moz-box-shadow: 0 0 10px rgba(0, 0, 0, .35);
        box-shadow: 0 0 10px rgba(0, 0, 0, .35);
-webkit-transform-origin: top center;
    -ms-transform-origin: top center;	
        transform-origin: top center;
}

.spotlight-content {
position: relative;
overflow: hidden;
margin: 0 0 70px 0;
width: 100%;
min-width: 250px;
height: auto;
color: #111;
text-align: left;
background-color: #fff;
-webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, .25);
   -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, .25);
        box-shadow: 0 10px 20px rgba(0, 0, 0, .25);	
}

.spotlight-content a {
color: #111;
}

.spotlight-content img {
max-width: 100%;
vertical-align: top;
margin: 0;
padding: 0;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.spotlight-content .date {
position: absolute;
width: 100%;
background-color: #fff;
top: 0;
right: 0;
padding: 15px 20px;
text-align: right;
font-size: 9px;
letter-spacing: 1px;
color: #111;
text-transform: uppercase;
}

.spotlight-content .date:before {
content: "";
position: absolute;
width: 0;
height: 0;
top: 100%;
left: 0;
border-style: solid;
border-width: 0 400px 35px 0;
border-color: transparent #fff transparent transparent;
}

@media only screen and (max-width: 1200px) {
  .spotlight-content .date:before {
    border-width: 0 800px 35px 0;
  }
}

.spotlight-content figcaption {
position: relative;
width: 100%;
background-color: #fff;
padding: 20px;
}

.spotlight-content figcaption:before {
content: "";
position: absolute;
width: 0;
height: 0;
bottom: 100%;
left: 0;
border-style: solid;
border-width: 35px 0 0 400px; 
border-color: transparent transparent transparent #fff;

}

@media only screen and (max-width: 1200px) {
  .spotlight-content figcaption:before {
    border-width: 35px 0 0 800px;
  }
}

.spotlight-content h2 {
font-family: 'Montserrat', sans-serif;
font-size: 17px;
color: #111;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
text-align: left;
}

.spotlight-content h3 {
font-family: 'Montserrat', sans-serif;
margin: 0 0 20px 0;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #5f5f5f;
}

.spotlight-content p {
margin: 30px 0 20px 0;
}

/* spotlight section vertical active line  */
/*
//
//
//
*/
/* Ensure the container of the carousel is the anchor for the line */
#spotlight .container-fluid.nopadding {
    position: relative; 
}

#spotlight .timeline-active-line {
    position: absolute;
    top: 0;
	bottom: -70px;
    width: 1px;
    background-image: linear-gradient(
        to bottom,
        #000 40%,
        rgba(0,0,0,0) 0%
    );
    background-size: 1px 8px;   /* dotted */
    background-repeat: repeat-y;

    z-index: 3;                 /* behind everything */
    pointer-events: none;
	transition: all 0.2s ease;
}

#timeline
{
	justify-content: end;
	min-height: calc(100vh - 140px);
}




/* --- Vertical Carousel Shift --- */
#spotlight-carousel {
    position: relative; /* Added this */
    transform: translateY(-15px) !important; 
}




/* Safari / WebKit: hide fullscreen control button (best-effort) */
#spotlight video::-webkit-media-controls-fullscreen-button {
  display: none !important;
}
#spotlight video::-webkit-media-controls-play-button,
#spotlight video::-webkit-media-controls-volume-slider,
#spotlight video::-webkit-media-controls-mute-button,
#spotlight video::-webkit-media-controls-timeline {
  /* keep these if you want controls; remove if not */
}


/* 22. shop item 3d image view
//
//
//
*/

/* ALL logic applies to any div with this class */
.shop-item-logic {
    position: relative;
    background-size: cover;
    background-position: center;
    transition: background-image 0.2s ease-in-out;
}


/* --- THE BIG CIRCLE (OVAL) --- */
.shop-item-logic::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 256px;
    height: 100px;
    margin-top: -50px;
    margin-left: -128px;
    border: 1px dashed #2e2e2e;
    border-radius: 50%;
    background-color: transparent;
    -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
    opacity: 0;
    transition: opacity 0.1s ease-in-out;
    pointer-events: none;
    z-index: 10;
}

/* --- THE ACTIVE INDICATOR (Curved Path) --- */
.shop-item-logic .active-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    margin-left: -8px;
    border: 1px solid #000000;
    border-radius: 50%;
    opacity: 0;
    z-index: 12;
    pointer-events: none;

    /* Define the oval path exactly matching your big-circle */
    /* ellipse(radius-x radius-y at center-x center-y) */
    offset-path: ellipse(128px 50px at center);
    
    /* Glide along the path */
    transition: opacity 0.1s ease, offset-distance 0.5s cubic-bezier(0.25, 1, 0.5, 1);
	
	offset-rotate: 0deg;
}

/* The movement percentages (Shared across all items) */
.shop-item-logic.state-1 .active-indicator { offset-distance: 45.75%; }
.shop-item-logic.state-2 .active-indicator { offset-distance: 25%; }
.shop-item-logic.state-3 .active-indicator { offset-distance: 4.25%; }


/* Container for the big-circle and viewpoint circles */




/* --- VIEWPOINT CIRCLES BASE --- */
/* --- SENSORS (Triggers) --- */
.trigger-left, .trigger-center, .trigger-right {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 33.333%;
    z-index: 5; 
}
.trigger-left { left: 0; }
.trigger-center { left: 33.333%; }
.trigger-right { left: 66.666%; }


/* Show on Hover */
.post-box:hover .active-indicator {
    opacity: 1;
}


/* --- 65 DEGREE POSITIONING --- */
.vp-right { transform: translate(116px, 21px); }
.vp-left  { transform: translate(-116px, 21px); }
.vp-bottom { transform: translate(0, 50px); }

/* This makes everything (Big Circle, Dashed Dots, and Solid Indicator) appear at once */
.post-box:hover .shop-item-logic::before,
.post-box:hover .viewpoint-circle,
.post-box:hover .active-indicator {
    opacity: 1;
}

/* --- VIEWPOINT CIRCLES BASE (The 3 dashed dots) --- */
.viewpoint-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px; /* Centers them vertically */
    margin-left: -8px; /* Centers them horizontally */
    border: 1px dashed #000000; /* The visual dots */
    border-radius: 50%;
    opacity: 0; /* Hidden until hover */
    z-index: 11; /* Sits above the Big Circle (10) but below Indicator (12) */
    pointer-events: none; /* Allows mouse to hit triggers behind them */
    transition: opacity 0.1s ease-in-out;
}

@media (max-width: 576px) {
  .post-box .shop-item-logic::before,
  .post-box .viewpoint-circle,
  .post-box .active-indicator {
    opacity: 1 !important;
  }
}

/* 22. Color selection
//
//
//
//
//
*/
.color-selector {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: flex;
    flex-direction: column; 
    gap: 16px; 
    z-index: 20;
}

.color-square {
    width: 50px; 
    height: 50px;
    border-radius: 10px;
    cursor: pointer;
    background: linear-gradient(to bottom, var(--c1), var(--c2));
    /* No outline here anymore */
}

/* --- THE MOVING SELECTION FRAME --- */
.selection-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    border: 1px dashed #000;
    border-radius: 10px;
    pointer-events: none; /* Mouse clicks pass through to squares */
    
    /* Smooth movement between squares */
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 21;
}

/* --- CALCULATED POSITIONS --- */
/* Square 1: Position 0 */
.shop-item-logic.color-1 .selection-frame {
    transform: translateY(0);
}

/* Square 2: 50px (square height) + 16px (gap) = 66px */
.shop-item-logic.color-2 .selection-frame {
    transform: translateY(66px);
}

/* Square 3: 132px (66 * 2) */
.shop-item-logic.color-3 .selection-frame {
    transform: translateY(132px);
}

.color-square, .selection-frame, .viewpoint-circle, .active-indicator {
    box-sizing: border-box;
}












/* SHOP: force 1 horizontal row + horizontal scroll
#shop .post-grid{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 32px;
  padding: 0 32px;
  overflow: hidden;         
}

#shop .post-grid > .post-box{
  flex: 0 0 calc((100% - 32px * 2) / 3);
}
#shop .post-grid > .post-box.double-width{
  flex-basis: calc(((100% - 32px * 2) / 3) * 2 + 32px);
}

#works .post-grid{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 32px;
  padding: 0 32px;
  overflow: hidden; 
}

#works .post-grid > .post-box{
  flex: 0 0 calc((100% - 32px * 2) / 3);
}
#works .post-grid > .post-box.double-width{
  flex-basis: calc(((100% - 32px * 2) / 3) * 2 + 32px);
}

html, body{
  overscroll-behavior: none;
}


.lock-sticky-bottom{
  position: sticky;
  bottom: 0;
 
  display: flex;
  align-items: flex-end;  
}


.shop-scroll-area,
.spotlight-scroll-area,
.services-scroll-area{
  position: relative;
}

*/








/* 23. Revealed state */
.reveal-effect {
    opacity: 0;
    will-change: transform, opacity;
    /* Use a very short transition for the 'hidden' states 
       so they snap into position instantly while off-screen */
    transition: transform 0.1s flat, opacity 0.3s ease; 
	
	/* Hardware acceleration for buttery smoothness */
    will-change: transform, opacity;
    
    /* Softens the render of moving text/edges */
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

.reveal-effect.from-bottom {
    transform: translateY(50px);
}

.reveal-effect.from-top {
    transform: translateY(-50px);
}

/* The actual reveal transition remains smooth and elegant */
.reveal-effect.is-visible {
    opacity: 1;
    transform: translateY(0) !important;
    transition: 
		opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), 
		transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}





/* 24 header vertical line navigation */

.header-navigation {
    position: relative; /* Essential for the line to anchor here */
	max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
	height: 69px;
	z-index: 999;

display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
justify-items: center;
}

.nav-left {
  justify-self: end;
}

.nav-right {
  justify-self: start;
  
    padding-left: 10px;

}

.nav-active-line {
    position: absolute;
    top: 0;
    bottom: 0; /* Stretches from top to bottom of the nav bar */
    width: 1px;
    background-image: linear-gradient(to bottom, #2e2e2e 40%, rgba(0,0,0,0) 0%);
    background-size: 1px 8px;
    background-repeat: repeat-y;
    pointer-events: none;
    z-index: 2000;
    opacity: 0;
    /* transition must be on transform for high-performance sliding */
    transition: opacity 0.4s ease, transform 0.1s linear;
    left: 0; 
}

/* Light mode support */
header:not(.navigation-bg-light) .nav-active-line {
    background-image: linear-gradient(to bottom, #fff 40%, rgba(0,0,0,0) 0%);
}



/*

25 dollar being two times larger
*/

/* Apply the span to the specific class */
.post-grid .double-width {
    grid-column: span 2;
}

/* Maintain responsive behavior */
@media (max-width: 991px) {
    .post-grid .double-width {
        grid-column: span 2;
    }
}

@media (max-width: 576px) {
    .post-grid .double-width {
        grid-column: span 1;
    }
}

.double-width .carousel-item-all {
    /* If you want the wide item to be taller than the others: */
    background-size: cover;
    background-position: center;
}

.double-width .shop-item-logic {
    display: flex;
    justify-content: center; /* Keeps the oval and buttons in the middle of the wide image */
}

/* Make double-width items fade in slightly slower for more drama */
.double-width.is-visible {
    transition-duration: 0.8s;
}





/* 54. white page transition for between AJAX loads */
#page-transition {
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
    height: calc(100%);
    z-index: 100;
    display: none; 
    pointer-events: none;
}

#page-transition.is-visible {
    display: flex;          /* enable only during transition */
}

/* quarter mask */
.panel-mask {
    width: 25vw;
    height: 100%;

    /* ⬅️➡️ remove 1px from left and right INSIDE the quarter */
    padding-left: 0px;
    padding-right: 0px;

    box-sizing: border-box;
    overflow: hidden;
}

/* sliding panel */
.panel {
    width: 100%;
    height: 100%;
    background:
        linear-gradient(to right, #ffffff, #f3f3f3 ),
        linear-gradient(to right, #e4e4e4, #e4e4e4);

    background-size:
        100% 100%,
        0px 100%;

    background-position:
        left top,
        right top;
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}



/* COVER */
#page-transition.active .panel {
    transform: translateX(0);
}

/* UNCOVER */
#page-transition.out .panel {
    transform: translateX(100%);
}

#page-transition,
#page-transition * {
    border-radius: 0 !important;
}





/*

57.


artwork page

*/


/* One shared height for the whole mosaic */


/* Right column fills full height */

.mosaic-right{
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 !important;
}

.mosaic-top-right{
  margin-bottom: 3px;
  border-radius: 0px 10px 0px 0px;
}

.mosaic-bottom-right{
  margin-top: 3px;
  border-radius: 0px 00px 10px 0px;
}


.service-mosaic-half,
.mosaic-half
{
  height: calc(40vh - 3px);
  margin-left: 5px;
}

.service-mosaic-big,
.mosaic-big
{
  height: 80vh;
  border-radius: 10px 0px 0px 10px;
}

.mosaic-top{
  margin-bottom: 3px;
  border-radius: 10px 10px 0px 0px;
}

.mosaic-bottom{
  margin-top: 3px;
  border-radius: 0px 0px 10px 10px;
}



.mosaic-3stack {
  width: 100%;
}

.mosaic-3stack .mosaic-img {
  width: 100%;
  height: auto;           /* sir: keep aspect ratio */
  aspect-ratio: 2048 / 1323;    /* sir: optional, remove if you want natural bg behavior */
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
}



.no-padding
{
    padding: 0 ;
}


.artwork-page-text-content h4 {
  margin-top: 0;
  font-size: 26px;
}


.z-index-3
{
	z-index: 3;
}

.artwork-page-text-content p
{
  width: auto;
  max-width: none;
}



.artwork-page-text-content{
  padding-left: 15px;
  width: calc(25vw - 15px);
  max-width: calc(25vw - 15px);
}

.align-right-in-col{
  margin-left: auto;   /* pushes it to the right inside its col */
  padding-left: 15px;
  padding-right: 12px;
  padding-left: 5px;
}


.artwork-page-price {
	font-family: Libre Bodoni;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.row {
    margin-right: 0px;
    margin-left: 0px;
}

.row-flex-end {
	display: flex;
	align-items: flex-end;
}




.col-md-6 
{
	padding-right: 0px;
    padding-left: 0px;
}




.inline-title{
  position: relative;
  font-family: inherit;
  font-size: inherit;
  color: #c9c7c7;
  line-height: 1.4;
  display: flex;
  align-items: center;
  width: 100%;
  top: -11px;
  left: -16px;
}

/* text */
.inline-title-text{
  white-space: nowrap;
  position: relative;
}

/* left line */
.inline-title::before{
  content: "";
  height: 1px;
  background: #e4e4e4;
  width: 12px;
  margin-right: 5px;
}

/* right line */
.inline-title::after{
  content: "";
  height: 1px;
  background: #e4e4e4;
  margin-left: 5px;
  flex-grow: 1;        /* ← dynamic fill to container edge */
  margin-right: -27px;
}

.inline-title-left-col{
  left: -17px;
}
.inline-title-left-col::before{
  width: 16px;
}
.inline-title-left-col ::after{
	margin-right: -35px;
}




.webgl-3d-canvas{
	width: 50vw;               
	max-width: 50vw;
	padding: 0;
	margin: 0;

	height: 100vh; 
  /*aspect-ratio: 3 / 4;   */     
}


.webgl-3d-canvas canvas{
  width: 100%;
  height: 100%;
  display: block;
}


/* scope everything so you don't affect other .col-md-6 instances */
.artwork-hero {
  position: relative;
  /*height: 100vh;*/
  
}

/* your 3D area defines the column height */
.artwork-hero > .row {
  height: 100%;
  min-height: 800px;
}

/* 50vw x 100vh webgl surface */
.artwork-hero .webgl-hero {
  width: 50vw;
  height: calc(100vh - 99px);
  position: relative;
  min-height: 800px;
}

/* ensure the actual canvas fills it */
.artwork-hero .webgl-hero canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

/* float text above without changing layout height */
.artwork-hero .artwork-page-text-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 50vw; /* match the 3D width; remove if you want it wider */
  pointer-events: auto;
}

/* certificate preview */

.cert-hover{
  text-decoration: underline;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

#certPreview{
  position: fixed;
  left: 0;
  top: 0;
  width: 500px;            /* change size */
  height: 365px;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  box-shadow: 0 12px 35px rgba(0,0,0,.35);
  pointer-events: none;     /* important: doesn't block hover */
  opacity: 0;
  transform: translate(-9999px, -9999px);
  transition: opacity 0.15s ease;
  z-index: 50;
}



/* artworks-list */

:root {
  --item-h: 47px;
  --artworkPreview-items: 6;
  --artworkPreview-h: calc(var(--item-h) * var(--artworkPreview-items)); /* 282px */
  --artworkPreview-w: calc(var(--artworkPreview-h) * 3 / 4);             /* 211.5px */
}

/* 50% centered */
.artworks-wrap {
 width: 50%;
  margin: 0 auto;
  position: relative; /* anchor artworkPreview */
}

/* list */
.artworks-list .item {
  height: var(--item-h);
  display: flex;
  align-items: center;
  justify-content: space-between;

  border-top: 1px solid #c7c6c6;
  background: transparent;

  padding: 0 12px;
  cursor: pointer;
  user-select: none;
}

#artworks-list
{
	display: none;
}

#sections-container
{
	min-height: 110vh;
}

.artworks-list .item:last-child { border-bottom: 1px solid #c7c6c6; }

.artworks-list h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}
.artworks-list .price { white-space: nowrap; }

.artworks-list .item.selected {
  background-image: radial-gradient(#b5b5b5 0.6px, #f5f5f5 0.6px);
  background-size: 7px 7px;
  background-position: 0 0;
}

/* artworkPreview layer (over the list) */
.artworkPreview {
  position: absolute;
  top: 0;
  left: 100px;                 /* JS will override */
  height: var(--artworkPreview-h);
  width: var(--artworkPreview-w);     /* enforce 4:3 (height:width = 4:3) */
  pointer-events: none;
  z-index: 5;

  /* image "wrapping" best practice */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;

  /* optional: avoid subpixel blur on some browsers */
  overflow: hidden;
  
  transition: top 0.1s linear, left 0s linear;
}

/* dot pattern overlay (same as selected item) */
.artworkPreview::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background-image: radial-gradient(#ddddddb8 0.6px, #ffffff15 0.6px);
  background-size: 7px 7px;
  background-position: 0 0;
}

.artworkPreview img {
  height: 100%;
  width: auto;          /* keep ratio */
  display: block;
  
  transition: background-image 0.2s ease-in-out;
}

#artworksList .item,
#artworkPreview
{
	cursor: pointer;
}


/* artwork page Single-column mode (Bootstrap md breakpoint and below) */

/* Make container fluid (override plugins/bootstrap fixed container widths) */
@media (min-width: 768px) {
  .container {
    width: 100% !important;
    max-width: none !important;
	padding-right: 0px;
    padding-left: 0px;
  }
}

@media (max-width: 991px) {
	/* Artworks list wrapper: stop using 50vw when the page is already one column */
  .artworks-wrap {
    width: 100%;
    max-width: none;
	!important; overflow: hidden;
  }
}
@media (max-width: 768px) {

  /* Remove the mysterious top spacing by force (scope to the artwork section) */
  #artwork .col-md-6 {
    padding-top: 10px ;
  }
}
@media (max-width: 640px) {

  /* Remove the mysterious top spacing by force (scope to the artwork section) */
  #artwork .col-md-6 {
    padding-top: 5px !important;
    margin-top: 0 !important;
  }
  
  #artworkPreview
  {
	  display:none;
  }

  

  /* If you want the WebGL area to also behave nicely on mobile */
  #artwork .webgl-3d-canvas {
    
    max-width: none;
	height: calc(100vh - 30px);
	margin-left: -10px;
	width: 100vw;
  }

  

	.artwork-page-text-content { width: 100% !important; max-width: none !important; }
	
	
	
	/*make webgl full width*/
	.row-flex-end {
	display: block;
	}
}

:root {
  --sbw: calc(100vw - 100%);
}

/* Wherever you used 100vw, use this instead */
.full-vw {
  width: calc(100vw - var(--sbw));
}





/* 66. free-floating transition system */
 
/* free-floating FLIP layer */
.floating-bbox {
  position: fixed;
  left: 0;
  top: 0;

  background: transparent;
  /*border: 1px solid #000; */
  box-sizing: border-box;

  z-index: 100;
  pointer-events: none;
  overflow: hidden; /* important for cropping */
  will-change: left, top, width, height;
}

.floating-bbox .ff-layer {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  /* we will copy size/position from computed styles */
}

.floating-bbox .ff-end {
  opacity: 0; /* fades in */
}


/* 67. about section*/

#about .col-md-6{
  position: relative;
  
}

#big-screen-video-target{
  padding-right: 15px;
}

#small-screen-video-target{
  padding-left: 0px;
  padding-right: 0px;
}

#about video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  z-index: 2;
  
}

/* Scope overrides ONLY inside logo-block-about */
.logo-block-about #intro-title,
.logo-block-about .intro-subtitle{
  color: #000;              /* black text */
}

/* Reset your custom vertical positioning */
.logo-block-about #intro-title,
.logo-block-about .intro-subtitle{
  position: static;        /* removes absolute/fixed */
  top: auto;
  left: auto;
  transform: none;
  margin: 0;
}



.tooltip-trigger {
    position: relative;
    cursor: pointer;
}

.tooltip-box {
    position: absolute;
    max-width: 260px;
    background: #111;
    color: #fff;
    padding: 14px 16px;
    font-size: 13px;
    line-height: 1.5;
    border-radius: 6px;
    display: none;
    z-index: 999;
    box-shadow: 0 8px 30px rgba(0,0,0,0.35);
}

.tooltip-box ul {
    margin: 8px 0 0 0;
    padding-left: 18px;
}

.tooltip-box strong 
{
    font-size: 12px;
    letter-spacing: 0.05em;
    opacity: 0.8;
}



.about-container-fullscreen-height
{
	min-height: calc(-69px + 100vh);
}

/* underline element */
.tooltip-trigger::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 1px;
    background: #bbb;

    transform: scaleX(0);
    transform-origin: left;

    animation: tooltipUnderlineSweep 2s infinite;
}

/* keyframes */
@keyframes tooltipUnderlineSweep {

    /* hidden */
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }

    /* enter from left */
    40% {
        transform: scaleX(1);
        transform-origin: left;
    }

    /* stay full */
    50% {
        transform: scaleX(1);
        transform-origin: left;
    }
	51% {
        transform: scaleX(1);
        transform-origin: right;
    }

    /* exit to the right */
    80% {
        transform: scaleX(0);
        transform-origin: right;
    }

    /* hidden pause */
    100% {
        transform: scaleX(0);
        transform-origin: right;
    }
}





#morph-debug-box{
  position: fixed;
  left: 0;
  top: 0;
  width: 10px;
  height: 10px;
  /*border: 1px solid #000;*/
  background: transparent;
  pointer-events: none;
  z-index: 2;
  border-radius: 0px;
  box-sizing: border-box;
  transform: translate(0px, 0px);
  transform-origin: 0 0;
  overflow: hidden; /* IMPORTANT for rounded corners */
}

/* fill the box */
#morph-debug-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}


/* keep cross on top 
#morph-debug-box .morph-cross{
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background: #000;
  transform: translateY(-0.5px);
  z-index: 2;
}
#morph-debug-box .morph-cross-2{
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  transform: translateX(-0.5px);
}*/

/* when docked, the box becomes part of the about column */
#morph-debug-box.is-docked{
  position: absolute !important;
  transform: none !important;
  z-index: 5;           /* inside the column */
}

#morph-debug-box .morph-overlay{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  opacity: 1;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.9) 0px,
    rgba(0, 0, 0, 0.4) 150px,
    rgba(0, 0, 0, 0.4) calc(100% - 150px),
    rgba(0, 0, 0, 0.9) 100%
  );
}


.logo-block-about-divider-before {
	height: 250px;
}

/* mobile */
@media (max-width: 991px) {

	.logo-block-about-divider-before {
		height: 99px;
	}
}


.logo-block-about-divider-after {
	height: 40px;
}

/* mobile */
@media (max-width: 991px) {

	.logo-block-about-divider-after {
		height: 70px;
	}
	
	#about-section-text-content
	{
		padding-top: 15px;
		padding-left: 0px;
	}
	.logo-block-about
	{
		display:none;
	}
}

@media (max-width: 640px) {

	.logo-block-about-divider-after {
		height: 0px;
	}
	.logo-block-about-divider-before {
		height: 0px;
	}
	
	#about{
		padding-top: 15px;
	}
	.to-top-arrow.show {
		display:none !important;
	}

}



/****************************************
*          trophies page              	*
*****************************************/

.service-top-left-image {
	margin-right: 15px;
    height: 60vh;
	min-height: 500px;
    max-width: calc(25vw - 30px);
	width: calc(25vw - 30px);
    margin-left: auto;
	border-radius: 10px
}


.margin-20-px {
	margin-left: 20px;
	margin-right: 20px;
}


@media (max-width: 1200px) {
	.service-top-left-image {
		max-width: calc(-30px + 50vw);
		width: calc(-30px + 50vw);
	}
	
	
	.artwork-page-text-content {
		max-width: calc(-30px + 50vw);
		width: calc(-30px + 50vw);
	}
	
	#about-section-text-content {
		width: 100%!important;
        max-width: 100%!important;
	}
	
	.service-top-left-image {
		margin-right: 15px;

		height: 60vh;
		max-width: 100%;
	}
	
	
	
	.inline-title::after {
		margin-right: -16px;
	}
	
	.project-col {
		float: left !important;
		width: 50% !important;
	}
  
}



.first-project-card-divider
{
	height:0px;
}
	
@media (max-width: 991px) {
	.gallery-style-title .artwork-page-text-content {
		max-width: calc(-30px + 100vw);
		width: calc(-30px + 100vw);
	}
	.project-last-card-row {
		display: flex;
		/*flex-direction: column;*/
	 }
	  
	.project-last-card-left {
		order: 2;
		
	}

	.project-last-card-right {
		order: 1;
		
	}
	
	.project-last-card-title
	{
		padding-left: 5px;
	}

}
@media (max-width: 767px) 
{
	.first-project-card-divider
	{
		height:20px;
	}
}
@media (max-width: 640px) {
	.margin-20-px {
		margin-left: 5px;
		margin-right: 5px;
		
	}
	
	.col-md-6 {
		float: left;
		width: 100%;
	}
	
	.project-last-card-row {
		display: flex;
		flex-direction: column;
	 }
	 
	.project-row {
		display: flex;
		flex-direction: column;
	  }

	  .project-left {
		order: 2;
	  }

	  .project-right {
		order: 1;
	  }
	  
	.project-col {
		float: left !important;
		width: 100% !important;
	}
	
	.service-top-left-image {
		max-width: calc(-30px + 100vw);
		width: calc(-30px + 100vw);
	}
	
	.artwork-page-text-content {
		max-width: calc(-10px + 100vw) !important;
		padding-left: 5px;
        padding-bottom: 10px;
	}
	
	/* Text blocks should use the available width in single-column layout */
	  #artwork .artwork-page-text-content {
		width: 100%;
		max-width: none;
		padding-left: 5px;   /* or keep 15px if you prefer */
		padding-right: 5px;
		box-sizing: border-box;
	  }
	
	.container-fluid
	{
		padding-left: 5px;
		padding-right: 5px;
	}
	.post-grid.services-post-grid {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	.align-right-in-col	{
        padding-right: 0px;
		width: 100% !important;
	}
	
	
	.inline-title {
		left: -20px;
	}
	.inline-title::before {
		width: 17px;
	}
	.inline-title::after {
		margin-right: -20px;
	}
	
	.artwork-hero .webgl-hero {
		width: 100%;
	}
	
	.webgl-3d-canvas {
		max-width: 100%;
	}
	
	
	.slick-dotted.slick-slider
	{
		margin-bottom:0px;
		margin-left:5px;
	}
}

/* < 640px: swap the 2 col-md-6 in the #service first row */
@media (max-width: 640px){

  /* target ONLY that hero row (matches your trophies.html structure) */
  #service > .container-fluid.nopadding > .container-fluid > .row{
    display: flex;
    flex-direction: column;
  }

  /* kill Bootstrap 3 floats + make them full width */
  #service > .container-fluid.nopadding > .container-fluid > .row > .col-md-6{
    float: none;
    width: 100%;
    max-width: 100%;
  }

  /* swap order */
  #service > .container-fluid.nopadding > .container-fluid > .row > .col-md-6.artwork-hero{
    order: 1; /* first */
  }

  #service > .container-fluid.nopadding > .container-fluid > .row > .col-md-6:not(.artwork-hero){
    order: 2; /* second */
  }
}
















.left-col-bottom-align{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
	min-height: calc(100vh - 99px);
    
}

/* 4 cols -> 2 cols -> 1 col (only for this specific grid) */
.post-grid-4col{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;                 /* adjust spacing */
  align-items: stretch;
}

/* make sure old float/width rules (if any) don’t fight the grid */
.post-grid-4col > .post-box{
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* optional: ensure each card fills its grid cell */
.post-grid-4col > .post-box > a{
  display: block;
}

/* breakpoint logic:
   - below ~1100px: 4 cols becomes too tight (each tile gets ~250px-ish after gaps) => go 2 cols
   - below 640px: 2 cols too tight => go 1 col
*/
@media (max-width: 1100px){
  .post-grid-4col{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .post-grid-4col{
    grid-template-columns: 1fr;
  }

	.post-grid-4col .media-tile{
		max-height: 80vh;
		height: 520px;
	}
}

.post-grid-4col .media-tile{
	min-height: 400px;
  max-height: 80vh;
  height: 500px;
}


/* footer */
/* parent anchor */
#service .container-fluid.nopadding{
  position: relative;
}

/* only this one */
#service .container-fluid.nopadding > .copyright{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;

  padding: 0;     /* kills the whitespace your current .copyright adds */
  margin: 0;
  text-align: center;
}

/* stack: ARAMI on top, © line under */
#service .container-fluid.nopadding > .copyright a,
#service .container-fluid.nopadding > .copyright p{
  display: block;
  margin: 0;
}

/* ---------- Trophies: 5-viewpoint overlay gizmo (IMG swapping) ---------- */

/* ================== TROPHIES: 5 triggers + 5 dots using the SAME shop overlay ================== */

/* Make the 5 sensors cover the tile (like shop triggers, but 5 zones) */
.trophy-item-logic .trigger-1,
.trophy-item-logic .trigger-2,
.trophy-item-logic .trigger-3,
.trophy-item-logic .trigger-4,
.trophy-item-logic .trigger-5{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20%;
  z-index: 5;
}

.trophy-item-logic .trigger-1{ left: 0%; }
.trophy-item-logic .trigger-2{ left: 20%; }
.trophy-item-logic .trigger-3{ left: 40%; }
.trophy-item-logic .trigger-4{ left: 60%; }
.trophy-item-logic .trigger-5{ left: 80%; }

/* Put the 5 dashed dots on the same oval path (same overlay design) */
.trophy-item-logic .viewpoint-circle{
  offset-path: ellipse(128px 50px at center);
  offset-rotate: 0deg;
}

/* 5 dot positions along the same visible arc used by shop */
.trophy-item-logic .vp-1{ offset-distance: 45.75%; }
.trophy-item-logic .vp-2{ offset-distance: 35.375%; }
.trophy-item-logic .vp-3{ offset-distance: 25%; }
.trophy-item-logic .vp-4{ offset-distance: 14.625%; }
.trophy-item-logic .vp-5{ offset-distance: 4.25%; }

/* Override indicator positions for trophies (shop has only 3) */
.trophy-item-logic.state-1 .active-indicator{ offset-distance: 45.75%; }
.trophy-item-logic.state-2 .active-indicator{ offset-distance: 35.375%; }
.trophy-item-logic.state-3 .active-indicator{ offset-distance: 25%; }
.trophy-item-logic.state-4 .active-indicator{ offset-distance: 14.625%; }
.trophy-item-logic.state-5 .active-indicator{ offset-distance: 4.25%; }

/* Optional: soften img swap (indicator already eases from existing shop CSS) */
.trophy-item-logic img.trophy-img{
  transition: opacity 0.18s ease;
}

/* ================= TROPHIES: GIZMOS 0.5 NORMAL / 1 HOVER ================= */

/* Default = semi transparent */
.trophy-item-logic.shop-item-logic::before{
  opacity: 1 !important;
}

.trophy-item-logic.shop-item-logic .viewpoint-circle{
  opacity: 0.0 !important;
  transition: opacity 0.18s ease;
}

.trophy-item-logic.shop-item-logic .active-indicator{
  opacity: 1 !important;
}


.trophy-item-logic.shop-item-logic:hover::before{
  opacity: 1 !important;
}

.trophy-item-logic.shop-item-logic:hover .viewpoint-circle{
  opacity: 1 !important;
  transition: opacity 0.18s ease;
}

.trophy-item-logic.shop-item-logic:hover .active-indicator{
  opacity: 1 !important;
}



/* Overlay container */
.trophy-view-overlay{
  position: absolute;
  inset: 0;
  pointer-events: none; /* allow triggers to decide */
}

/* 5 trigger zones (each 20% width) */
.trophy-triggers{
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  pointer-events: auto; /* hover works */
}
.trophy-trigger{
  height: 100%;
}

/* Dots gizmo */
.trophy-view-dots{
  position: absolute;
  left: 18px;
  bottom: 18px;
  width: 64px;
  height: 64px;
  pointer-events: auto; /* optional: allow clicking dots */
}

/* Dot base */
.trophy-dot{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(255,255,255,0.45);
}
.trophy-dot.active{
  background: rgba(255,255,255,0.95);
}

/* Place 5 dots with 45° step (fan) */
/* angles: -90, -45, 0, +45, +90 */
.trophy-dot[data-view="1"]{ transform: translate(-50%, -50%) rotate(-90deg) translate(0, -24px); }
.trophy-dot[data-view="2"]{ transform: translate(-50%, -50%) rotate(-45deg) translate(0, -24px); }
.trophy-dot[data-view="3"]{ transform: translate(-50%, -50%) rotate(0deg)   translate(0, -24px); }
.trophy-dot[data-view="4"]{ transform: translate(-50%, -50%) rotate(45deg)  translate(0, -24px); }
.trophy-dot[data-view="5"]{ transform: translate(-50%, -50%) rotate(90deg)  translate(0, -24px); }

/* ================= TROPHIES: color selector (48px, single column like shop) ================= */

.trophy-color-logic .color-selector{
  position: absolute;
  right: 16px;

  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;

  display: flex;
  flex-direction: column;
  gap: 8px;

  width: 36px;
  z-index: 20;
}




.trophy-color-logic.shop-item-logic:hover::before{
  opacity: 0 !important;
}
.trophy-color-logic.shop-item-logic::before{
  opacity: 0 !important;
}


.trophy-color-logic .color-square{
  width: 36px;
  height: 36px;
  min-height: 36px;

  flex: 0 0 auto;     /* do not grow/shrink */
  flex-shrink: 0;     /* IMPORTANT: prevents the 18.88px shrink */

  display: block;
  border-radius: 10px;
  overflow: hidden;
}


/* selection frame will be moved by JS (translate) */
.trophy-color-logic .selection-frame{
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  pointer-events: none;

  transition: transform 220ms ease, opacity 220ms ease;
}

/* ================= TROPHIES: sprite thumbnails (single image) ================= */

/* change this if your thumbs are not 36px */
:root{
  --trophyThumb: 36px;
}


/* force squares to show the sprite, not gradients */
.trophy-color-logic .color-square{
  width: var(--trophyThumb);
  height: var(--trophyThumb);
  overflow: hidden;

  background-image: url("../img/trophies/thumbnail-tiles.png");
  background-repeat: no-repeat;
  background-size: 36px auto;
  background-position: 0 calc(var(--i) * -36px);

  /* kills old gradient if any */
  background-color: transparent;
}

/* selection frame must match size */
.trophy-color-logic .selection-frame{
  width: var(--trophyThumb);
  height: var(--trophyThumb);
}

/* TROPHIES: make the tile the positioning context for the absolute selector */
.trophy-color-logic{
  position: relative;
}



/* top banner

Service hero slider (fade) */
/* slick wrappers must fill your fixed tile height */
.service-top-left-image.service-hero-slider .slick-list,
.service-top-left-image.service-hero-slider .slick-track,
.service-top-left-image.service-hero-slider .slick-slide,
.service-top-left-image.service-hero-slider .slick-slide > div,
.service-top-left-image.service-hero-slider .hero-slide{
  height: 100%;
}

/* keep slick official dots, but move them inside the tile */
.service-top-left-image.service-hero-slider{
  position: relative;
}

/* override slick-theme bottom:-25px */
.service-top-left-image.service-hero-slider .slick-dots{
  bottom: 14px;
  z-index: 20;
}

/* spacing between dots */
.service-top-left-image.service-hero-slider .slick-dots li{
  margin: 0px; /* default is tight */
}

/* make active dot bigger (official still used, we scale it) */
.service-top-left-image.service-hero-slider .slick-dots li.slick-active button:before{
  transform: scale(1.5);
}
/* ensure slick theme dots render correctly */
.service-top-left-image.service-hero-slider .slick-dots li button{
  width: 14px;
  height: 14px;
}

.service-top-left-image.service-hero-slider .slick-dots li button:before{
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #000;
  display: block;
  margin: auto;
  opacity: .5;
}

.service-top-left-image.service-hero-slider
.slick-dots li.slick-active button:before{
  opacity: 1;
  transform: scale(1.3);
}



/*  Rules that ONLY apply if there is an <img> tag inside the mosaic*/
.service-mosaic-big .mosaic-img,
.service-mosaic-half .mosaic-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Acts like background-size: cover */
    display: block;
    border-radius: inherit; /* Inherits the radii from the parent div */
}

.service-mosaic-half
{
  height: calc(30vh - 3px);
  min-height: 197px;
}

.service-mosaic-big
{
  height: 60vh;
  min-height: 400px;
}

.service-video
{
  border-radius: 10px;
  width: 100%;
}

.padding-right-15
{
	padding-right: 15px;
}
@media (max-width: 640px){
	.padding-right-15
{
	padding-right: 0px;
}
}
/* Maintain the 16:9 box even before the iframe loads */
.youtube-player {
    position: relative;
    width: 100%;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    background: #000;
    border-radius: 10px;
    overflow: hidden;
}

/* Force the iframe to fill the container */
.youtube-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}



.project-card {
  background-color: #fff;
  background-color: transparent;
}

.scroll-area {
    width: 100%;
    position: relative;
    overflow: visible !important;
}

.video-placeholder-300 {
  aspect-ratio: 16 / 9;
  min-height: 300px;
  width: 100%;
}
.video-placeholder-300 > video {
  width: 100%;
  margin-bottom: 30px;
  display: block;
}

.service-wider-top-left-image {
    width: 100%;
    max-width: 705px;
    aspect-ratio: 1 / 1;
    height: auto; /* Changed from 100% to auto */
    object-fit: cover; /* Ensures the image fills the 1:1 square without distortion */
    margin-bottom: 0px !important;
	margin-left:0px !important;
}

.service-half-width-center-slider
{
	width: calc(50vw - 40px);
    max-width: 100%;
    aspect-ratio: 3/1;
	height:100%;
	margin-left: auto !important;
    margin-right: auto !important;
    float: none !important; /* Ensures it doesn't lean left in Bootstrap */
}
@media (max-width: 991px)
{
	.service-half-width-center-slider
	{
		width: 100%;
		 margin-bottom: 10px !important;
	}
}