/* =========================================================================================================== */
/* HEADER */
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 21;
  padding: calc(var(--distance-big) / 2) 0;
  background-color: transparent;
  pointer-events: none;
  transition: var(--transition);
}
header .wrapper {
  max-width: none;
}

/* =========================================================================================================== */
/* LOGO */
.logo,
.logo:visited,
.logo:focus,
.logo:hover {
  width: 250px;
  height: 50px;
  display: block;
  /* -webkit-mask: url(../media/logo/logo-curve.svg) no-repeat 50% 50%;
  mask: url(../media/logo/logo-curve.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain; */
  /* background-color: var(--grigio-chiaro); */
  transition: var(--transition);
  transform-origin: center center;
  pointer-events: all;
  opacity: 1;
  overflow: visible;
}
.logo svg {
  pointer-events: none;
  overflow: visible;
}

header .logo svg path {
  fill: var(--grigio-chiaro);
  transition: all 0.3s ease-out;
}

header .logo svg path.visible-on-hover {
  opacity: 0;
}
header .logo svg path#s.visible-on-hover {
  transition:
    opacity 0s 0.5s linear,
    fill 0.3s ease-out;
}
header .logo svg path#t.visible-on-hover {
  transition:
    opacity 0s 0.4s linear,
    fill 0.3s ease-out;
}
header .logo svg path#u.visible-on-hover {
  transition:
    opacity 0s 0.3s linear,
    fill 0.3s ease-out;
}
header .logo svg path#d.visible-on-hover {
  transition:
    opacity 0s 0.2s linear,
    fill 0.3s ease-out;
}
header .logo svg path#i.visible-on-hover {
  transition:
    opacity 0s 0.1s linear,
    fill 0.3s ease-out;
}
header .logo svg path#o.visible-on-hover {
  transition:
    opacity 0s linear,
    fill 0.3s ease-out;
}

header .logo:hover svg path#s.visible-on-hover {
  transition:
    opacity 0s linear,
    fill 0.3s ease-out;
}
header .logo:hover svg path#t.visible-on-hover {
  transition:
    opacity 0s 0.1s linear,
    fill 0.3s ease-out;
}
header .logo:hover svg path#u.visible-on-hover {
  transition:
    opacity 0s 0.2s linear,
    fill 0.3s ease-out;
}
header .logo:hover svg path#d.visible-on-hover {
  transition:
    opacity 0s 0.3s linear,
    fill 0.3s ease-out;
}
header .logo:hover svg path#i.visible-on-hover {
  transition:
    opacity 0s 0.4s linear,
    fill 0.3s ease-out;
}
header .logo:hover svg path#o.visible-on-hover {
  transition:
    opacity 0s 0.5s linear,
    fill 0.3s ease-out;
}

header .logo:hover svg path.visible-on-hover {
  opacity: 1;
}

/* body[data-header-color="bianco"] header .logo svg path,
body[data-header-color="bianco"] header .logo:visited svg path,
body[data-header-color="bianco"] header .logo:focus svg path,
body[data-header-color="bianco"] header .logo:hover svg path {
  fill: var(--grigio-chiaro);
}
body[data-header-color="nero"] header .logo svg path,
body[data-header-color="nero"] header .logo:visited svg path,
body[data-header-color="nero"] header .logo:focus svg path,
body[data-header-color="nero"] header .logo:hover svg path {
  fill: var(--grigio-scuro);
} */

body.on-footer header .logo {
  opacity: 0;
  pointer-events: none;
}

header p.roobert5 {
  pointer-events: all;
  transition: var(--transition);
}
/* body[data-header-color="bianco"] header p.roobert5 {
  color: var(--grigio-chiaro) !important;
}
body[data-header-color="nero"] header p.roobert5 {
  color: var(--grigio-scuro) !important;
} */
body.on-footer header p.roobert5 {
  opacity: 0 !important;
  pointer-events: none;
}

/* CURSOR */
[data-cursor] {
  cursor: default !important;
}
[data-cursor] * {
  pointer-events: none;
}
#default-cursor {
  display: none;
  position: fixed;
  width: 1px;
  height: 1px;
  left: 0;
  top: 0;
  backface-visibility: hidden;
  z-index: 600;
  pointer-events: none;
}

/* CLOSE BIG CURSOR */
#default-cursor .close,
#default-cursor .play,
#default-cursor .arrow,
#default-cursor .skip {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 30vw;
  max-width: 200px;
  height: auto;
  aspect-ratio: 1/1;
  background: transparent;
  transition: transform 0.6s ease-in-out;
  transform-origin: center center;
  /* border: 1px solid var(--grigio-chiaro); */
  /* border-radius: 50%; */
}
#default-cursor .arrow {
  border: none;
  width: 15vw;
}
#default-cursor.visible[data-hovered="close"] .close,
#default-cursor.visible[data-hovered="play"] .play,
#default-cursor.visible[data-hovered="arrow"] .arrow,
#default-cursor.visible[data-hovered="skip"] .skip {
  transform: translate(-50%, -50%) scale(1);
}
#default-cursor .close::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask: url(../media/icons/close.svg) no-repeat 50% 50%;
  mask: url(../media/icons/close.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--grigio-chiaro);
}
#default-cursor .skip::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask: url(../media/icons/skip.svg) no-repeat 50% 50%;
  mask: url(../media/icons/skip.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--grigio-chiaro);
}
#default-cursor .play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask: url(../media/icons/play.svg) no-repeat 50% 50%;
  mask: url(../media/icons/play.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--grigio-chiaro);
}
#default-cursor .arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask: url(../media/icons/arrow.svg) no-repeat 50% 50%;
  mask: url(../media/icons/arrow.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--grigio-chiaro);
}

/* =========================================================================================================== */
/* MENUS */
.menu {
  margin-top: calc(var(--distance-half) / 3);
  list-style-type: none;
  padding: 0;
}
.menu li {
  margin-bottom: 0;
}
.menu li a,
.menu li a:visited,
.menu li a:focus,
.menu li a:hover {
  font-size: 1.5rem;
  line-height: 1.8rem;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--nero);
  transition: var(--transition);
  text-decoration: none;
  pointer-events: all;
}
.menu li a:hover,
.menu li.current-menu-item a,
.single .menu li.menu-item-progetti a {
  text-decoration: underline;
}

/* body[data-header-color="bianco"] header .menu li a,
body[data-header-color="bianco"] header .menu li a:visited,
body[data-header-color="bianco"] header .menu li a:focus,
body[data-header-color="bianco"] header .menu li a:hover {
  color: var(--grigio-chiaro);
}
body[data-header-color="nero"] header .menu li a,
body[data-header-color="nero"] header .menu li a:visited,
body[data-header-color="nero"] header .menu li a:focus,
body[data-header-color="nero"] header .menu li a:hover {
  color: var(--grigio-scuro);
} */

body.on-footer header .menu li a {
  opacity: 0;
  pointer-events: none;
}

/* =========================================================================================================== */
/* LANG SELECTOR */
.lang-selector {
  display: block;
  list-style-type: none;
  margin-bottom: 0;
  padding: 0;
}
.lang-selector li a,
.lang-selector li a:visited,
.lang-selector li a:focus,
.lang-selector li a:hover {
  font-size: 1.5rem;
  line-height: 1.8rem;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--text-color);
  transition: var(--transition);
  text-decoration: none;
  pointer-events: all;
}
.lang-selector li a.active,
.lang-selector li a:hover {
  text-decoration: underline;
}

/* body[data-header-color="bianco"] header .lang-selector li a,
body[data-header-color="bianco"] header .lang-selector li a:visited,
body[data-header-color="bianco"] header .lang-selector li a:focus,
body[data-header-color="bianco"] header .lang-selector li a:hover {
  color: var(--grigio-chiaro);
}
body[data-header-color="nero"] header .lang-selector li a,
body[data-header-color="nero"] header .lang-selector li a:visited,
body[data-header-color="nero"] header .lang-selector li a:focus,
body[data-header-color="nero"] header .lang-selector li a:hover {
  color: var(--grigio-scuro);
} */

body.on-footer header .lang-selector li a {
  opacity: 0;
  pointer-events: none;
}

/* =========================================================================================================== */
/* HAMBURGER */

.hamburger {
  height: 40px;
  position: relative;
  display: flex;
  align-items: center;
  pointer-events: all;
  padding: 0px 50px;
  border-radius: 20px;
  border: 1px solid var(--text-color);
  user-select: none;
  background: var(--bg-color);
  transition: all 0.3s 0.4s linear;
}
body.on-footer .hamburger {
  opacity: 0;
}
body.open-menu .hamburger {
  transition: all 0.3s linear;
}
body[data-bg="colors"] .hamburger {
  transition:
    all 0.3s 0.4s linear,
    var(--color-transition);
}
body[data-bg="colors"].open-menu .hamburger {
  transition:
    all 0.3s linear,
    var(--color-transition);
}
/* body[data-header-color="bianco"] .hamburger {
  border: 1px solid var(--grigio-chiaro);
}
body[data-header-color="nero"] .hamburger {
  border: 1px solid var(--grigio-scuro);
}
body[data-header-color="bianco"].open-menu .hamburger {
  background: var(--grigio-chiaro);
}
body[data-header-color="nero"].open-menu .hamburger {
  background: var(--grigio-scuro);
} */

.hamburger > * {
  transition: all 0.3s 0.4s linear;
}
body.open-menu .hamburger > * {
  transition: all 0.3s linear;
}
/* body[data-header-color="bianco"] .hamburger > * {
  color: var(--grigio-chiaro);
}
body[data-header-color="nero"] .hamburger > * {
  color: var(--grigio-scuro);
}
body[data-header-color="nero"].open-menu .hamburger > * {
  color: var(--grigio-chiaro);
}
body[data-header-color="bianco"].open-menu .hamburger > * {
  color: var(--grigio-scuro);
} */

.hamburger .roobert3:not(.abs) {
  opacity: 1;
}
body.open-menu .hamburger .roobert3:not(.abs) {
  opacity: 0;
}
.hamburger .roobert3.abs {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
body.open-menu .hamburger .roobert3.abs {
  opacity: 1;
}

.cont-menu {
  position: absolute;
  left: 0;
  top: 15px;
  width: 100%;
  padding: 40px 0 12px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  text-align: center;
  z-index: -1;
  transition:
    all 0.2s 0.2s linear,
    background-color 0.3s linear;
  transform-origin: top;
  background: var(--bg-color);
  border: 1px solid var(--text-color);
  transform: scaleY(0);
}
body[data-bg="colors"] .cont-menu {
  transition:
    all 0.2s 0.2s linear,
    var(--color-transition);
}
/* body[data-header-color="nero"] .cont-menu {
  background: rgba(29, 29, 27, 0.5);
}
body[data-header-color="bianco"] .cont-menu {
  background: rgba(235, 235, 235, 0.5);
} */
body.open-menu .cont-menu {
  transform: scaleY(1);
  transition:
    all 0.2s 0.4s linear,
    background-color 0.3s linear;
}
body[data-bg="colors"].open-menu .cont-menu {
  transition:
    all 0.2s 0.4s linear,
    var(--color-transition);
}
.cont-menu .menu {
  margin-top: 0;
  transition: all 0.2s linear;
  opacity: 0;
}
body.open-menu .cont-menu .menu {
  opacity: 1;
  transition: all 0.2s 0.6s linear;
}
.cont-menu .menu li {
  margin-bottom: 0;
}
.cont-menu .menu li a,
.cont-menu .menu li a:visited,
.cont-menu .menu li a:focus,
.cont-menu .menu li a:hover {
  font-size: 2.1rem;
  line-height: 1.52;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--text-color);
  transition: var(--transition);
  text-decoration: none;
  text-transform: uppercase;
  pointer-events: all;
  opacity: 1 !important;
}
/* body[data-header-color="nero"] .cont-menu .menu li a {
  color: var(--grigio-chiaro) !important;
}
body[data-header-color="bianco"] .cont-menu .menu li a {
  color: var(--grigio-scuro) !important;
} */
.cont-menu .menu li a:hover,
.cont-menu .menu li.current-menu-item a,
.single .cont-menu .menu li.menu-item-progetti a {
  text-decoration: underline;
}

.cont-menu .lang-selector {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  opacity: 0;
  transition: all 0.2s linear;
}
body.open-menu .cont-menu .lang-selector {
  opacity: 1;
  transition: all 0.2s 0.6s linear;
}
.cont-menu .lang-selector li a,
.cont-menu .lang-selector li a:visited,
.cont-menu .lang-selector li a:focus,
.cont-menu .lang-selector li a:hover {
  font-size: 2.1rem;
  line-height: 1.52;
  font-weight: 400;
  letter-spacing: normal;
  transition: var(--transition);
  text-transform: uppercase;
  pointer-events: all;
  color: var(--text-color);
  opacity: 1 !important;
}
/* body[data-header-color="nero"] .cont-menu .lang-selector li a {
  color: var(--grigio-chiaro) !important;
}
body[data-header-color="bianco"] .cont-menu .lang-selector li a {
  color: var(--grigio-scuro) !important;
} */

/* =========================================================================================================== */
/* OVERLAY */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: var(--nero);
  color: var(--bianco);
  transition: var(--transition);
  overflow: hidden;
  z-index: 20;
  padding: 0;
}
.overlay-content {
  height: 100%;
  width: 100%;
  overflow: scroll;
  display: flex;
  align-items: center;
}
body.open-menu .overlay {
  height: 100%;
  padding-top: calc(var(--distance-big) * 2);
  padding-bottom: var(--distance-big);
}

/* =========================================================================================================== */
/* LOADER */
.loader {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  min-height: 100vh;
  height: 100%;
  max-height: 100svh;
  width: 100vw;
  overflow: hidden;
  z-index: 700;
  background: var(--grigio-chiaro);
  visibility: visible;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
}
.loader.visible {
  opacity: 1;
  pointer-events: all;
}
.loader .content {
  font-family: var(--grotesk);
  font-size: 15rem;
  line-height: 1;
  font-weight: 500;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s 0.5s linear;
  color: var(--grigio-scuro);
  max-width: 90vw;
}
.loader.content-visible .content {
  opacity: 1;
  transform: translateY(0);
}
.loader-gif {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.3s 0.5s linear;
}
.loader.gif-visible .loader-gif {
  opacity: 1;
}
.loader-gif img {
  object-fit: contain;
  width: 750px;
  height: 750px;
  max-width: 80vw;
  max-height: 80vh;
}

/* =========================================================================================================== */
/* FOOTER */
footer {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: var(--distance-medium);
  padding-bottom: var(--distance-medium);
  background-color: var(--grigio-scuro);
  border-top-left-radius: calc(var(--distance-big) / 2);
  border-top-right-radius: calc(var(--distance-big) / 2);
  height: 20svh;
  min-height: 160px;
  transition: var(--transition);
  color: var(--grigio-chiaro);
  z-index: 2;
}
footer .roobert4,
footer .roobert4 *,
footer .roobert5,
footer .roobert5 *,
footer .menu li a,
footer .menu li a:visited,
footer .menu li a:focus,
footer .menu li a:hover {
  color: var(--bg-color);
  transition: var(--color-transition);
}

.single footer {
  margin-bottom: 80svh;
}

.single footer,
.page-template-page-contatti footer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: calc(var(--distance-big) / 2);
  border-bottom-right-radius: calc(var(--distance-big) / 2);
  color: var(--grigio-scuro);
  background: var(--grigio-chiaro);
}

.page-template-page-contatti footer,
.page-template-page-about footer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: calc(var(--distance-big) / 2);
  border-bottom-right-radius: calc(var(--distance-big) / 2);
  margin-bottom: 0;
}

.single footer .roobert4,
.single footer .roobert4 *,
.page-template-page-contatti footer .roobert4,
.page-template-page-contatti footer .roobert4 * {
  color: var(--grigio-scuro) !important;
}
.single footer .menu li a,
.single footer .menu li a:visited,
.single footer .menu li a:focus,
.single footer .menu li a:hover,
.page-template-page-contatti footer .menu li a,
.page-template-page-contatti footer .menu li a:visited,
.page-template-page-contatti footer .menu li a:focus,
.page-template-page-contatti footer .menu li a:hover {
  color: var(--grigio-scuro);
}
.single .page-transition footer {
  transform: translateY(-100%);
}

footer a:hover {
  text-decoration: underline !important;
}

/* =========================================================================================================== */
/* CREDITS */
.credits-wrapper {
  display: flex;
  align-items: center;
}
.credits,
.credits:visited,
.credits:focus,
.credits:hover {
  display: inline-flex;
  width: 86px;
  height: 12px;
  border: none !important;
  -webkit-mask: url(../media/logo/logo-hellobarrio.svg) no-repeat 50% 50%;
  mask: url(../media/logo/logo-hellobarrio.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--bg-color);
  transition: var(--color-transition);
}
.single .credits,
.page-template-page-contatti .credits {
  background-color: var(--text-color);
}
.credits:hover {
  opacity: 0.5;
}
.ie .credits {
  width: 86px;
  height: 12px;
  text-indent: -99999px;
  background-color: url(../media/logo/logo-hellobarrio.svg) no-repeat center
    center;
  background-size: contain;
  -webkit-mask: none;
  mask: none;
}
