/*
 Theme Name: GuruMeditation2024
 Description: The custom theme Guru using the parent theme Twenty Seventeen.
 Author: gurumeditation.fr
 Author URI: gurumeditation.fr
 Template: twentytwentyfour
 Version: 1.0.24
 */
/*
 main >  * > *{
    opacity: 1;
 }
 main > .hide > *{
    opacity: 0;
 }
 main > .hide > .show{
    opacity: 1;
 }

 main > .hide > .show img{
    opacity: 0;
 }
 main > .hide > .show img.show{
    opacity: 1;
    transition: opacity 0.2s 0s cubic-bezier(.64,.14,.27,.74);
 }
*/
/*
hack this : used guru-show instead of show / v 1.0.24

@media (prefers-reduced-motion: no-preference)
.wp-block-image img.show {
    animation: show-content-image .4s;
}
*/
main .hide > * {
    opacity: 0;
    transition: opacity 0.2s 0s cubic-bezier(.64,.14,.27,.74);
 }
main .hide > .guru-show {
    opacity: 1;
 }
 /*
main .hide img{
    opacity: 0;
    transition: opacity 0.2s 0s cubic-bezier(.64,.14,.27,.74);
 }
*/
 main img {
    opacity: 0;
    transition: opacity 0.2s 0s cubic-bezier(.64,.14,.27,.74);
 }
 main img.guru-show{
    opacity: 1;
 }


 header.fixed {
   position: fixed;
   width: 100%;
   top: 0;
   z-index: 99;
   margin-block-start: 0;
 }
 .chocolat-wrapper {
   z-index: 101;
 }
 /*
 header.fixed + main {
   margin-top: 132px !important;
 }
 */

 .guru-projects figure {
    position: relative;
    transition: filter 0.2s 0s cubic-bezier(.64,.14,.27,.74);
    filter: blur(0px);
    transform: translate3d(0, 0, 0);

 }
 .guru-projects figure.blur{
    transition: filter 0.2s 0s cubic-bezier(.64,.14,.27,.74);
    filter: blur(5px);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
 }
 /*
 .guru-projects figure:hover img{
    transform: scale3d(1.1,1.1,1.1);
    transition: transform 12s 0s cubic-bezier(.64,.14,.27,.74);
 }

/*
 .guru-projects figure {
    transition: transform 0.8s 0.1s cubic-bezier(.64,.14,.27,.74), opacity 0.4s 0s cubic-bezier(.64,.14,.27,.74), filter 0.4s 0.1s;
    filter: blur(0px);
      transform: translateX(0);
    opacity: 1;
 }


 .guru-projects figure img{
    transition: transform 0.4s 0s cubic-bezier(.64,.14,.27,.74), opacity 0.4s 0s cubic-bezier(.64,.14,.27,.74), filter 0.4s 0.1s !important;
    transform: translateX(-20%);
    transform: translateX(20%);
    opacity: 0.4;
    filter: blur(0px);
 }
 .guru-projects.in-view figure img{
 }
 .in-view figure img{
    transform: translateX(0);
    opacity: 1;
 }
 .guru-projects figure.blur{
    filter: blur(6px);
    opacity: 0.8 !important;
    transition: opacity 0.4s 0s cubic-bezier(.64,.14,.27,.74), filter 0.8s 0s;
 }
 .guru-projects figure:hover img{
    transform: scale3d(1.2,1.2,1.2);
    transform: scale3d(1.1,1.1,1.1);
    transition: transform 12s 0.4s cubic-bezier(.64,.14,.27,.74) !important;
 }
 */
 /*
 .guru-projects figure.blur img{
   transform: translateX(20%);
   transition: transform 0.8s 0.2s cubic-bezier(.64,.14,.27,.74);
 }
    filter: blur(0);
 
 .guru-projects.in-view figure:before {

    transition: all 0.4s 0s ease-in-out;
    transform: translateX(100%);
 }
 .guru-projects figure:before {

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--wp--preset--color--contrast-2);
    transform: translateX(0);
    content: "";
    z-index: 2;
}
*/
.guru-tabs .guru-tabs-panel {
   position: relative;
   overflow: hidden;
}
.guru-tabs .guru-tabs-content{
   transition: all 0.4s 0.1s;
   display: none;
   /*margin-top: var(--wp--preset--spacing--50);*/
}
/*.wp-element-button.on,*/
.is-style-outline.is-style-outline > .wp-block-button__link {
   transition:  all 0.2s 0s cubic-bezier(.64,.14,.27,.74);
}
.is-style-outline.is-style-outline > .wp-block-button__link.on {
   background-color: var(--wp--preset--color--black);
   color: var(--wp--preset--color--white);

}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
   background-color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, transparent));
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, currentColor));
}

.guru-tabs .guru-tabs-content.show {
   display: block;
   opacity: 0;
   transform: translateX(20px);
   transition: all 0.3s 0.1s cubic-bezier(.64,.14,.27,.74);
}
.guru-tabs .guru-tabs-content.show.anim {
   display: block;
   opacity: 1;
   transform: translateX(0);
   transition: all 0.4s 0s cubic-bezier(.64,.14,.27,.74);
}
.guru_white_banner {
   border-color: var(--wp--preset--color--white);
   background-color: var(--wp--preset--color--contrast);
}
.guru_white_banner .wp-block-cover__image-background {

   background-size: cover;
   transition: background-position 0.4s 0s ease-out;
   background-repeat: repeat-x;
}

.guru_full_banner {
   background-color: var(--wp--preset--color--contrast);
}
.guru_full_banner .wp-block-cover__image-background {
   will-change: transform;
   transform-style: preserve-3d;
   transition: transform 0.2s 0s ease-out;
}

#page-transition {
    position: fixed;
    z-index: 998;
    opacity: 0;
    height: 1px;
}


#page-loading {

    position: fixed;
    z-index: 999;
    width: 80px;
    height: 80px;
    background: transparent url(public/img/loading.gif) no-repeat center;
    background-size: cover;
    bottom: 40px;
    right: 40px;
    display: block;

}
body.exit #page-transition {
    width: 100vw;
    height: 100vh;
    top: 0;
    left:  0 ;
    opacity: 1;
    background-color: var(--wp--preset--color--contrast-2);
    background-color: transparent;
    transition: height 0.3s 0.2s ease-in;
    border-right: 1px solid #fff;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    -o-backdrop-filter: blur(12px);
    display: flex;
    justify-content: center;
    align-items: center;
}
body.exit #page-transition > div{
   opacity: 0;
    width: 50vw;
    height: 50vh;
    background: transparent url(public/img/exit.png) no-repeat center;
   /* background-size: contain; */
    
}
body.exit #page-transition.reload > div{
   opacity: 1;
   transition: opacity 0.2s 0s ease-out;
}
/*
body.exit #page-loading {

    width: 360px;
    height: 360px;
    right: calc(50vw - 180px);
    bottom: calc(50vh - 180px);
    background-image:  url(public/img/exit.png);
}

    /*
@-webkit-keyframes rotating  {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#page-loading.reload{
    width: 120px;
    height: 120px;
    right: calc(50vw - 64px);
    bottom: calc(50vh - 40px);
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}
    */


.arrow,
.arrow:before {
  position: absolute;
  left: calc(50%);
}

.arrow {
  display: block;
  width: 24px;
  height: 24px;
  bottom: 60px;
  margin: 0 0 0 0;
  transform: rotate(45deg);
  border-left: none;
  border-top: none;
  border-right: 2px #fff solid;
  border-bottom: 2px #fff solid;
  z-index: 3;

  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-name: arrow;
}

@keyframes arrow {
  0% {
    transform: rotate(45deg) translate(0, 0);
  }
  20% {
    transform: rotate(45deg) translate(10px, 10px);
  }
  40% {
    transform: rotate(45deg) translate(0, 0);
  }
}
/*
.arrow:before {
  content: "";
  width: 20px;
  height: 20px;
  margin: 8px 0 0 -2px;
  border-left: none;
  border-top: none;
  border-right: 2px #fff solid;
  border-bottom: 2px #fff solid;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-name: arrow;
}
@keyframes arrow {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(10px, 10px);
  }
}
*/

/* WordPress overrides 
.has-global-padding :where(.has-global-padding:not(.wp-block-block)) {
    padding-right: 0;
    padding-left: 0;
}
*/
.page-numbers {
   display: inline-block;
   text-decoration: none;
   width: 30px;
   height: 30px;
   line-height: 30px;
   padding: 0;
   margin: auto 5px;
   text-align: center;
   vertical-align: middle;
}
.page-numbers.current {
   border: 3px solid var(--wp--preset--color--contrast-2);
   border-radius: 100%;
}
a.page-numbers:hover {
   color: var(--wp--preset--color--contrast-2);
}
.entry-content > .has-global-padding {
    padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
}

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
   position: relative;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
   text-decoration: none;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content::before{
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #fff;
  transition: 0.5s transform ease-in-out;
  transform: scale3d(0,1,1);
  transform-origin: 0 50%;
  opacity: 0.8;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover::before{
  transform: scale3d(1,1,1);
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content::before{
  background: var(--wp--preset--color--contrast-2);;
  transform-origin: 0 50%;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover::before{
  opacity: 1;
  transform-origin: 100% 50%;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
   background-color: var(--wp--preset--color--base);
}
/*
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
   align-items: center;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
   background-color: var(--wp--preset--color--base);
   justify-content: center;
   align-items: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
   align-items: center;
}
*/
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
   color: var(--wp--preset--color--contrast);
   font-size: var(--wp--preset--font-size--x-large);

}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
   color: var(--wp--preset--color--contrast);
font-size: var(--wp--preset--font-size--x-small);

}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
   color: var(--wp--preset--color--contrast);

}
@media (max-width: 781px) {
   .wp-block-columns.is-not-stacked-on-mobile  {
      flex-wrap: wrap !important;
      justify-content: space-between;
   }
   .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
       flex-basis: calc(33.3333333% - 0.9rem) !important;
       flex-basis: calc(50% - 0.9rem) !important;
       flex-grow: 0;
   }

   .guru-hide-on-mobile {
      display: none;
   }


   .nf-field-container.guru-nf-half-left,
   .nf-field-container.guru-nf-third-left,
   .nf-field-container.guru-nf-half-right {
      float: none ;
      width: 100%;
      clear: none;
      margin-bottom: 0;
 }

  .entry-content aside.wp-block-group-is-layout-flex {
   flex-wrap: wrap;
   flex-direction: column;
   align-items: flex-start;
  }
}
@media (max-width: 1281px) {
   .wp-container-core-post-template-layout-1.wp-container-core-post-template-layout-1 {
       grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
   }
}
@media (min-width: 782px) {
   .guru-hide-on-desktop {
      display: none;
   }
}
.wp-block-navigation__submenu-container,.wp-block-navigation .has-child .wp-block-navigation__submenu-container{ display:none; }
.is-menu-open .wp-block-navigation .has-child .wp-block-navigation__submenu-container{ display:initial; 
padding-right: 0 !important; text-align: right;
border-top: 2px solid #000 !important;
margin-top: var(--wp--style--block-gap,2em);
}

.wp-block-navigation__responsive-container.is-menu-open{
  animation:guru-overlay .4s ease-in-out;
}
@keyframes guru-overlay{
  0%{
    filter: blur(10px);
    opacity:0;
    transform:translateX(2.5em);
  }
  to{
    filter: blur(0);
    opacity:1;
    transform:translateX(0);
  }
}
.has-modal-open .wp-site-blocks > main {
   filter: blur(8px);
}
.wp-site-blocks > main {
   filter: blur(0);
   transition: filter 0.2s 0s  cubic-bezier(.64,.14,.27,.74);
}

/*
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
   padding-left: 0;
   padding-right: 8%;
}
.wp-block-media-text .wp-block-media-text__content {
   padding-left: 8%;
   padding-right: 0;
}
*/
.wp-block-media-text .wp-block-media-text__content {
   padding: 4% 8%;
}

/* 
Carousel 
*/
.splide__slide  {
   /*
   */
  transition: all 0.4s 0s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
}
.splide  {
  transition: all 0.2s 0.4s ease-in-out;
  opacity: 0;
}
.splide.is-ready  {
  opacity: 1;
}
/*
  transform: scale3d(0.2, 1.0, 1.0);

.splide__slide.is-next img,
.splide__slide.is-prev img   {
   transform: translate3d(-40px, 0px, 0px);
}

  transform: scale3d(1, 1.0, 1.0);
*/
.splide__slide.is-active   {
   opacity: 1;
}


/*
Ninja Forms
*/
.listcheckbox-container .nf-field-element label {
   cursor: pointer;
}
.nf-form-content .list-select-wrap .nf-field-element>div, .nf-form-content input:not([type=button]), .nf-form-content textarea {
    /*
    background: #f7f7f7;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    border-width: 0;
    border-radius: 48px;*/
    border-radius: 0;
    border: 1px solid #000;
    background-color: transparent;
}
.nf-error.field-wrap .nf-field-element:after {
  /*  border-radius: 48px; */
    border-radius: 0;  
    background-color: var(--wp--preset--color--contrast-2);
}
.nf-form-content button, .nf-form-content input[type=button], .nf-form-content input[type=submit] {
    color: #000;
    border-radius: 48px;
    cursor: pointer;
}
.nf-form-fields-required {
   font-size: var(--wp--preset--font-size--x-small);
   display: none;
}
/*
.nf-form-content .label-above .nf-field-label, .nf-form-content .label-below .nf-field-label, .nf-form-content .label-hidden .nf-field-label {
   border-bottom: 2px solid var(--wp--preset--color--contrast);
}
*/
#ninja_forms_required_items, .nf-field-container {
   margin-bottom: 1.2rem;
}
.nf-error .nf-error-msg {
   font-size: 0.8em;
}
.nf-error .ninja-forms-field {
    border-color: var(--wp--preset--color--contrast-2) !important;
}
.nf-field-container.guru-nf-half-left {
   float: left;
   width: 49%;
   clear: none;
   margin-right: 2%;
 }
.nf-field-container.guru-nf-half-right {
   float: right;
   width: 48%;
   clear: none;
 }
.nf-field-container.guru-nf-third-left {
   float: left;
   width: 32%;
   clear: none;
   margin-right: 2%;
 }
.listcheckbox-container .nf-field-element label:before,
.listcheckbox-container .nf-field-element label:after {
    top: 1px;
}

.nf-form-content .listselect-wrap .nf-field-element div, .nf-form-content input.ninja-forms-field:not([type=submit]), .nf-form-content select.ninja-forms-field:not([multiple]) {
}
.label-hidden .nf-field-label
{
   display: none;
}
.list-checkbox-wrap .nf-field-element li:last-child {
   margin-bottom: 6px !important;
}
.html-container:not(.has-x-small-font-size) .html-wrap p {

    padding-left: 1rem;
    border-bottom: 2px solid #000;
    font-weight: 700;
    text-transform: uppercase;
    font-size: var(--wp--preset--font-size--x-small);
    margin-bottom: 0;
 }
