/*
Theme Name:  Virtuoz Theme
Version:     1.0.0
Template:    nectar-blocks-theme
Description: Sub-theme for virtuoz.
Theme URI:   https://virtuoz.ch
Text Domain: virtuoz-theme
*/

/*-------------------------------------------------------------------------*/
/* Note: The theme CSS files are loaded through the /css/ folder. 
/*-------------------------------------------------------------------------*/


html {
    font-size: 11px;
    margin-top: 0!important;
}

@media (min-width: 1440px) {
    html {
        font-size:.694vw;
    }
}
.image-slide{
  transform: scale(1.03);
}


.dropdown-border-top{
  border-top: .1rem solid rgba(0, 0, 0, 0.1);
}

.puce-left:before{
    content: "";
    display: inline-block;
    width: .65em;
    height: .65em;
    border-radius: 100px;
    background: black;
    margin-right: .8em;
}

.button-call{
  font-family: Inter;
  font-size:16px;
}

#showreel-home.initial {
  
  opacity: 0;
  transform: scale(1.5);
  margin-top:55vh;
 
}

#showreel-home.animated {

 
 transform: scale(1);
 opacity: 1;
 margin-top:0;
  transition:1s cubic-bezier(.15,.3,.03,.98);
}

.strong-competence a::after {
  content: "";
  display: inline-block;
  width: .7em;
  height: .7em;
  background-color:rgb(222, 255, 197);
  border-radius:50px;
  background-image: url('https://virtuoz.virtuoz.space/wp-content/uploads/2025/08/animation-icone-services3.gif');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: .1em;
  margin-bottom:-.05em;
}

.strong-competence a {
 color:rgb(222, 255, 197) ;
 transition:.2s;
 
}

.strong-competence a:hover {
 color:inherit;
 transition:.2s;
 
}

@media screen and (min-width: 800px) and (orientation: landscape) {
  
.service-box .nectar-blocks-flex-box__inner{
  border-radius: 1vw 1vw 1vw 1vw;
  

}
.service-box .nectar-blocks-flex-box__inner:hover{
  background-color: var(--nectar-gc-7SGm0fZCId);
  border-radius: 1vw 1vw 4vw 1vw;

}

.service-box .nectar-blocks-flex-box__inner:hover .service-arrow .nectar-blocks-icon__inner{
  transition: 1s cubic-bezier(.09,.62,.4,.99);
  transform: translate(3vw, -3vw);
transition-delay:.5s;
 
}

.service-box .nectar-blocks-flex-box__inner .service-arrow .nectar-blocks-icon__inner:after{
  content:"";
  background-image:url('https://virtuoz.virtuoz.space/wp-content/uploads/2025/08/23.svg');
  transform: translate(-3vw, 3vw);
  
top:0;
left:0;
width:100%;
height:100%;
position:absolute; 

}



.service-box .nectar-blocks-flex-box__inner:hover .service-arrow{
 background: #ffffff;
transition:.5s;

 
}

.service-box .nectar-blocks-flex-box__inner .service-arrow{
   border-radius:100px;
  overflow: hidden;
 padding:.8vw;
 

}
}

.button-service-box div.nectar-blocks-flex-box__inner{
    box-shadow: rgba(0, 0, 0, .3) 0px 10px 100px;            

}

.button-service-box:hover div.nectar-blocks-flex-box__inner{
  padding: 20px 20px;
            transition: .3s ease;
            box-shadow: rgb(255, 136, 92) 0px 10px 100px;
            

}
.flex-wrap{
flex-wrap: wrap !important;
}
.flex-wrap p{
padding: 2px 5px;
    color: #ffffff;
    font-size: clamp(12px, 10px, 100vw);
    background: #0000006e;
    border-radius: 5px;
}



.nectar-blocks-carousel-item__content:has(.button-service-box-2) .nectar__bg-color, .nectar-blocks-carousel-item__content:has(.button-service-box-2) .nectar-blocks-icon__inner img, .nectar-blocks-carousel-item__content:has(.button-service-box-2) .nectar__bg-image{
  transition:.3s;
}
.nectar-blocks-carousel-item__content:has(.button-service-box-2:hover) .nectar__bg-color{
opacity:.6;
  transition:.3s;
}

.nectar-blocks-carousel-item__content:has(.button-service-box-2:hover) .nectar__bg-image{
transform: scale(1.1);
  transition:.3s;
}

.nectar-blocks-carousel-item__content:has(.button-service-box-2:hover) .nectar-blocks-icon__inner img{
transform: scale(0.8);
  transition:.3s;
}


.nectar-blocks-carousel-item__content{
  overflow: hidden;
  border-radius: 10px;
}


.button-service-box-2:hover div div div.wp-block-nectar-blocks-icon {
transition: .5s cubic-bezier(.09,.62,.4,.99);
  transform: rotate(45deg);
}
.button-service-box-2 div div div.wp-block-nectar-blocks-icon {
transition: .5s cubic-bezier(.09,.62,.4,.99);
}





.carousel-container-box .nectar__bg-image{
  transition:.3s;
}
.carousel-container-box:has(.button-service-box:hover) .nectar__bg-image{
  opacity:1;
  transition:.3s;
}

.carousel-container-box .nectar-blocks-carousel-item__content{
  overflow: hidden;
  border-radius: 10px;
}

.button-service-box:hover div div h2{
      color: #f15d00 !important;
            transition: .3s ease;

}

.button-service-box:hover div div div.wp-block-nectar-blocks-icon {
transform: rotate(90deg);
            transition: .3s ease-in-out;

}

.swiper-scrollbar-horizontal{
  margin-bottom:-50px;
}

.container-service-box > .wp-block-group {
  opacity:1;
      transition:.3s;

}

.container-service-box:has(.button-service-box:hover) > .wp-block-group {
    opacity: 0;
    transition:.3s;
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    
    left: 0;
       width: 100%;

}

body.material #nectar-nav #search-outer:before {
    border-radius: 12px;
}

#search-outer .nectar-ajax-search-results .inner{
  padding-top:20px;
}
.results-shown #search-outer .nectar-ajax-search-results{
  border-radius:12px;
  margin-top:10px;
}


body #nectar-nav{
  width: calc(100% - 8vw) !important;
    max-width: calc(100% - 8vw) !important;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: max(calc(var(--container-padding) / 3), 25px);
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
}


.nectar-header-text-content a {
    background-color: rgb(0 0 0 / 5%);
    padding: 8px 23px 9px 20px !important;
    border-radius: 20px;
    transition:  .2s !important;
   
}

#nectar-nav:not([data-format=left-header]) #top nav>.buttons>li{
  margin: 0 !important;
}
.nectar-header-text-content{
padding-top:0 !important;
padding-bottom:0 !important;

}

.nectar-header-text-content a:hover{
background-color:rgba(0,0,0, 0);
color: white;
}

.nectar-header-text-content:hover .circle{
    background-color: #a4ffa7;
    width:20px;
    transform: translate(-10px, 0);
    transition: all 0.3s cubic-bezier(0.3, 0.8, 0.3, 2.3);
    
}

.nectar-header-text-content:hover .pulse{
    background-color: #a4ffa700;
     transition: ease .3s;
    
}
.nectar-header-text-content:hover .wrapper-bounce{
    margin-left:20px;
    transition: all 0.3s cubic-bezier(0.3, 0.8, 0.3, 2.3);
    
}




.wrapper-bounce {
  position: relative;
  width: 10px;
  height: 10px;
  margin-left: 10px;
  transition: ease .3s;
}
  .circle {
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 5px;
    background-color: #62ec83;
    margin: auto;
    transform: scale(1, 1);
    transition: ease .3s;
    
}

    .pulse {
      width:10px;
    height: 10px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 5px;
    background-color: #72fe77;
    margin: auto;
    transition: .3s;
    transform: scale(1, 1);
      animation-timing-function: ease;
      animation: pulse 2s infinite;
      opacity:1 ;
    }
  


@keyframes pulse {
  0% {
    transform: scale(1, 1);
    opacity:0;
  }
  25% {
    transform: scale(1, 1);
    opacity:1;
  }
  50% {
    transform: scale(2.5, 2.5);
    opacity:0;
  }
 
  100% {
    transform: scale(1, 1);
    opacity:0;
  }
}

@media screen and (max-width: 645px) {
  #date{display:none !important;}
  #nectar-nav{margin-top:4vw !important; border:none;}
}


 body:not([data-header-format="left-header"]) #top .sf-menu li ul{
  background-color: transparent !important;
  box-shadow: none;
  width:500px;
  padding:0;
 }

 #top nav>ul>li>ul>li, #top nav>ul>li>ul>li{
  display:inline-flex;


 }

  #top nav>ul>li>ul>li>a, #top nav>ul>li>ul>li>a{
  background-color:black !important;
  margin-top:10px;
  transition: .3s;
 
 }
#nectar-nav:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a{
  transition:.3s;
}
 #nectar-nav:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a:hover{
  padding-right:30px;
  transition: .3s;
  background-color: black !important;
  color:white !important;
  
    

 
 }
body:before{
  background-color: #ffffff85;
  -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
 }

 #nectar-nav:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a:hover img{
   background:rgba(255, 255, 255, 1);
 }

 .sub-menu img{
  background:rgba(255, 255, 255, 0.792);
  padding:12px 10px;
  border-radius: 5px;
 }

 .sub-menu .nectar-menu-icon-text{
  padding:10px 20px;
 }


.btn--primary {
    background: #000;
    color: #fff;
}

.btn--primary:before {
    background: #252525;
}

.btn:before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .6s cubic-bezier(1, 0, .25, .995);
    width: 100%;
}

.btn__text {
    transition: transform .8s cubic-bezier(1, 0, .25, .995);
}

.btn__icon, .btn__text {
    position: relative;
    z-index: 1;
}

.btn__text:after {
    color: #fff;
    content: attr(data-text);
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, calc(-50% + 5rem));
    white-space: nowrap;
    z-index: 2;
}


.btn__icon {
    align-items: center;
    display: flex;
    color:white;
    height: 1.4rem;
    justify-content: center;
    margin-left: auto;
    width: 1.4rem;
}

.btn {
    align-items: center;
    -webkit-appearance: none;
    border-radius: .5rem;
    cursor: pointer;
    display: flex;
    font-size: 1.6rem;
    font-weight: 400;
    height: 5rem;
    justify-content: center;
    line-height: 1.2;
    overflow: hidden;
    padding: 1rem 2rem;
    position: relative;
    transition-duration: .3s;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    will-change: transform;
}

.btn:hover:before {
    transform: scaleY(1);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.btn:hover .btn__text {
    transform: translateY(-5rem);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.btn__icon svg {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
}
.svgi {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
}

[data-animation=blink], [data-component=local-time] [data-delimeter] {
    animation: blink 1s linear infinite;
}

@keyframes blink {
0%, 49.9% {
    opacity: 1;
}
50%, 99.9% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}

.rounded .nectar-blocks-column__wrapper{
  border-radius:1rem;
}



@keyframes globe {
  0% {
    transform: translate(-50%, -50%) rotate(15deg);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-15deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(15deg);
  }
}

@keyframes circle2 {
  0% {
    border-radius: 50%;
    box-shadow: inset 0.1em 0px 0px 0.08em #121212;
    width: 100%;
  }
  49% {
    border-radius: 50%;
    box-shadow: inset 0.1em 0px 0px 0.08em #121212;
    background: transparent;
  }
  50% {
    border-radius: 0%;
    width: 0.175em;
    background: #121212;
  }
  51% {
    border-radius: 50%;
    box-shadow: inset -0.1em 0px 0px 0.08em #121212;
    background: transparent;
  }
  100% {
    border-radius: 50%;
    box-shadow: inset -0.1em 0px 0px 0.08em #121212;
    width: 100%;
  }
}

.light-globe {
font-size: 12px;
  color: #121212;
}

.globe {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  overflow: hidden;
  will-change: transform;
}

.light-globe .globe-wrap {
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(30deg);
  animation: globe 5.4s cubic-bezier(0.35, 0, 0.65, 1) infinite;
  overflow: hidden;
  box-shadow: inset 0px 0px 0px 0.125em #121212;
}

.light-globe .circle-globe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  box-shadow: inset 0.1em 0px 0px 0.08em #121212;
  animation: circle2 2.7s linear infinite;
  font-size: 0.75em;
}

.globe :nth-child(1) {
  animation-delay: -1.8s;
}

.globe :nth-child(2) {
  animation-delay: -0.9s;
}

.light-globe .circle-hor {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  height: 55%;
  box-shadow: inset 0px 0px 0px 0.15em #121212;
  font-size: 0.75em;
}

.light-globe .circle-hor-middle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150%;
  transform: translate(-50%, -50%);
  border-radius: 0%;
  height: 0.15em;
  background: #121212;
  font-size: 0.75em;
}
