/*
----------------------------
# BODY
# TIPOGRAFIA
# HEADER
# MOBILE HEADER
# FOOTER
# LENIS SCROLL
# PULSANTI
# LINK HEADER FOOTER
# FORMIDABLE
# PLAYA STYLES
# LOOP PROGETTI
# MOBILE
----------------------------
*/

/*
---------------------------------------------------------------------------------------
# BODY 
---------------------------------------------------------------------------------------
*/

:root {
  --link-transition: all 0.3s ease;
}

body {
  background-color: var(--wp--preset--color--tertiary);
  --header-space: 170px;

  transition: background-color 0.3s ease;
}

@media (max-width: 781px) {
  body {
    --header-space: 100px;
    --wp--preset--spacing--10: 1vh;
    --wp--preset--spacing--20: 2vh;
    --wp--preset--spacing--30: 3vh;
    --wp--preset--spacing--40: 4vh;
    --wp--preset--spacing--50: 6.5vh;
    --wp--preset--spacing--60: 8vh;
  }
}

body.scrolled {
  background-color: var(--wp--preset--color--white);
}

.wp-block-cover__inner-container.has-global-padding {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

#wpadminbar {
  max-width: unset;
}

/*
---------------------------------------------------------------------------------------
# TIPOGRAFIA 
---------------------------------------------------------------------------------------
*/

@import url("https://p.typekit.net/p.css?s=1&k=wfh3thp&ht=tk&f=48489.48490.48491.48494&a=166582407&app=typekit&e=css");

@font-face {
  font-family: "owners-text";
  src: url("https://use.typekit.net/af/e69b09/00000000000000007735f2e2/30/l?subset_id=2&fvd=n4&v=3") format("woff2"),
    url("https://use.typekit.net/af/e69b09/00000000000000007735f2e2/30/d?subset_id=2&fvd=n4&v=3") format("woff"),
    url("https://use.typekit.net/af/e69b09/00000000000000007735f2e2/30/a?subset_id=2&fvd=n4&v=3") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
}

@font-face {
  font-family: "owners-text";
  src: url("https://use.typekit.net/af/79b3a1/00000000000000007735f2de/30/l?subset_id=2&fvd=n5&v=3") format("woff2"),
    url("https://use.typekit.net/af/79b3a1/00000000000000007735f2de/30/d?subset_id=2&fvd=n5&v=3") format("woff"),
    url("https://use.typekit.net/af/79b3a1/00000000000000007735f2de/30/a?subset_id=2&fvd=n5&v=3") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
}

@font-face {
  font-family: "owners-text";
  src: url("https://use.typekit.net/af/cc7311/00000000000000007735f2dc/30/l?subset_id=2&fvd=n7&v=3") format("woff2"),
    url("https://use.typekit.net/af/cc7311/00000000000000007735f2dc/30/d?subset_id=2&fvd=n7&v=3") format("woff"),
    url("https://use.typekit.net/af/cc7311/00000000000000007735f2dc/30/a?subset_id=2&fvd=n7&v=3") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
}

body {
  letter-spacing: 0.05em;
}

.has-l-font-size,
.has-xl-font-size,
.has-xxl-font-size {
  font-family: var(--wp--preset--font-family--primary);
}

.has-s-font-size {
  line-height: 1.1em;
  letter-spacing: 0.02em;
}

.has-m-font-size,
.has-l-font-size,
.has-xl-font-size,
.has-xxl-font-size {
  line-height: 1.1em;
  letter-spacing: 0.01em;
}

.has-xxl-font-size {
  line-height: 0.9em;
}

.text-uppercase {
  text-transform: uppercase !important;
}

/*
---------------------------------------------------------------------------------------
# HEADER
---------------------------------------------------------------------------------------
*/

/* spazio per admin bar se utente loggato */
body.logged-in header {
  top: 32px;
}

@media (max-width: 782px) {
  body.logged-in header {
    top: 46px;
  }
}

.single-post header .menu a:not(.sub-menu a) {
  color: var(--wp--preset--color--secondary) !important;
}

header img.custom-logo {
  min-width: 100px;
  width: 180px !important;
  max-width: unset;
  padding-block: 10px;
  transition: opacity 0.3s ease;
  z-index: 12;
}

header img.white_logo {
  position: absolute;
  pointer-events: none;
  top: 0px;
  z-index: 13;
}

header .wp-block-site-logo {
  position: relative;
  z-index: 12;
}

@media (max-width: 781px) {
  header img.custom-logo {
    width: 140px !important;
  }
}

header.scrolled img.white_logo,
header.menu_opened img.white_logo {
  opacity: 0;
}

header .wp-block-column {
  position: relative;
}

header {
  position: fixed;
  width: 100%;
  z-index: 99;
  top: 0px;
  padding-block: 25px;
  background-color: var(--wp--preset--color--tertiary);
  transition: padding-block 0.4s ease, background-color 0.4s ease,
    box-shadow 0.4s ease;
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
  transition: transform 500ms ease;
}

header>div.wp-block-columns {
  margin-bottom: 0;
  margin: 0 auto;
}

header #desk-menu ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 2.5vw;
  margin-block: 0;
  padding-inline: 0;
  margin-inline: 0;
}

header #desk-menu li.current_page_item a {
  font-weight: 500;
}

header #desk-menu li a {
  color: var(--wp--preset--color--white);
  font-size: 20px;
  font-weight: normal;
  white-space: nowrap;
  transition: color 0.4s ease;
}

header li.menu-item-has-children {
  position: relative;
}

header #desk-menu li.menu-item-has-children:after {
  position: absolute;
  width: .8em;
  content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.04 17.04"><path d="m8.38,17.04l8.66-8.52C14.87,6.39,10.55,2.13,8.38,0l-1.09,1.06c1.95,1.92,4.54,4.47,6.82,6.71H0v1.5h14.1l-6.82,6.7,1.09,1.07h0Z" stroke-width="0" fill="%23ffffff"/></svg>');
  right: 0;
  transform: translate(150%, 12%) rotate(45deg);
}

header.scrolled #desk-menu li.menu-item-has-children:after {
  content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.04 17.04"%3E%3Cpath d="m8.38,17.04l8.66-8.52C14.87,6.39,10.55,2.13,8.38,0l-1.09,1.06c1.95,1.92,4.54,4.47,6.82,6.71H0v1.5h14.1l-6.82,6.7,1.09,1.07h0Z" stroke-width="0" fill="%230984e8"%3E%3C/path%3E%3C/svg%3E');
}

header #desk-menu .sub-menu {
  position: absolute;
  display: flex;
  flex-direction: column;
  top: 2.5em;
  justify-content: start;
  align-items: start;
  left: 0;
  gap: 2em;
  background-color: var(--wp--preset--color--primary);
  padding: 1.2em 2em;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
}

header #desk-menu .sub-menu.show {
  opacity: 1;
  pointer-events: all;
}


header #header_menu_mobile .sub-menu {
  display: none;
}

header #header_menu_mobile .sub-menu.show {
  display: flex;
}

header #header_menu_mobile li:not(.sub-menu li).hide {
  display: none;
}

header #header_menu_mobile li.menu-item-has-children {
  position: relative;
}

header #header_menu_mobile li.menu-item-has-children:not(.active):after {
  position: absolute;
  width: .5em;
  content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.04 17.04"%3E%3Cpath d="m8.38,17.04l8.66-8.52C14.87,6.39,10.55,2.13,8.38,0l-1.09,1.06c1.95,1.92,4.54,4.47,6.82,6.71H0v1.5h14.1l-6.82,6.7,1.09,1.07h0Z" stroke-width="0" fill="%230984e8"%3E%3C/path%3E%3C/svg%3E');
  right: 0;
  transform: translate(150%, -3%) rotate(0deg);
}


header.scrolled {
  padding-block: 0px;
  box-shadow: 0px 0px 3px 0px #5b5b5b;
  background-color: var(--wp--preset--color--white);
}

header.scrolled #desk-menu li a:not(.sub-menu a) {
  color: var(--wp--preset--color--secondary);
}

header.hidden {
  transform:translateY(-100%)
}

header .wp-block-social-links {
  padding-left: 2.5vw;
  z-index: 12;
  flex-wrap: nowrap;
}

header .wp-block-social-links li:last-child {
  margin-left: 15px !important;
}

header .wp-block-social-links li a {
  background-color: var(--wp--preset--color--primary) !important;
  fill: var(--wp--preset--color--white) !important;
  border-radius: 100%;
}

/*
---------------------------------------------------------------------------------------
# MOBILE HEADER
---------------------------------------------------------------------------------------
*/
#header_menu_mobile {
  display: none;
  z-index: 10;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  background-color: var(--wp--preset--color--white);
}

#header_menu_mobile .wp-block-create-block-t99-block-gutenberg-menu-navigazione,
#header_menu_mobile .menu-main-menu-container,
#header_menu_mobile .menu {
  width: 100%;
  height: 100%;
}

#header_menu_mobile ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  margin-top: 50px;
}

#header_menu_mobile.open {
  opacity: 1;
  pointer-events: all;
}

#header_menu_mobile li {
  list-style: none;
  font-size: 40px;
  font-family: var(--wp--preset--font-family--primary);
  color: var(--wp--preset--color--secondary);
  margin-bottom: 2vh;
  margin-bottom: 2dvh;
  text-align: center;
}

#header_menu_mobile li.current-menu-item {
  color: var(--wp--preset--color--primary);
}

header .wp-block-column:nth-child(2) {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}

#hamburger_icon {
  width: 35px;
  height: 20px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  z-index: 21;
  display: none;
}

#hamburger_icon span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: var(--wp--preset--color--primary);
  border-radius: 8px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

#hamburger_icon span:nth-child(1) {
  top: 0px;
}

#hamburger_icon span:nth-child(2),
#hamburger_icon span:nth-child(3) {
  top: 9px;
}

#hamburger_icon span:nth-child(4) {
  top: 18px;
}

#hamburger_icon.open span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}

#hamburger_icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#hamburger_icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#hamburger_icon.open span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%;
}

@media (max-width: 1400px) {
  #header_menu_mobile {
    display: block;
  }

  #desk-menu {
    display: none;
  }

  #hamburger_icon {
    display: block;
  }

  header .wp-block-social-links {
    order: -1;
    padding-left: 0;
    padding-right: 20px;
  }

  header .wp-block-social-links a {
    width: 32px;
    height: 32px;
    padding: 0.1em;
    justify-content: center;
  }
}

/*
---------------------------------------------------------------------------------------
# FOOTER
---------------------------------------------------------------------------------------
*/

.gruppo_contatti_footer {
  max-width: 1220px;
  margin: 0 auto;
}

@media (max-width: 781px) {

  .footer_3_cols {
    text-align: center;
  }

  .footer_3_cols .wp-block-site-logo {
    max-width: 55vw;
    margin: auto;
    padding-bottom: 30px;
  }

  .footer_3_cols h2.wp-block-heading {
    padding-top: var(--wp--preset--spacing--10);
    padding-bottom: var(--wp--preset--spacing--40);
  }

  .footer_3_cols .indirizzo,
  .footer_3_cols .telefono,
  .footer_3_cols .wp-block-social-links {
    justify-content: center;
    align-items: center;
  }


}

/*
---------------------------------------------------------------------------------------
# LENIS SCROLL 
---------------------------------------------------------------------------------------
*/

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/*
---------------------------------------------------------------------------------------
# PULSANTI
---------------------------------------------------------------------------------------
*/

.wp-block-button .wp-block-button__link::after,
.frm_submit button::after,
.loop_articoli .wp-block-read-more::after {
  content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.04 17.04"><path d="m8.38,17.04l8.66-8.52C14.87,6.39,10.55,2.13,8.38,0l-1.09,1.06c1.95,1.92,4.54,4.47,6.82,6.71H0v1.5h14.1l-6.82,6.7,1.09,1.07h0Z" stroke-width="0" fill="%23ffffff"/></svg>');
  margin-left: 0.4em;
  margin-right: -0.4em;
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  border-radius: 100%;
  border: 2px solid var(--wp--preset--color--white);
  padding: 0.25em;
  line-height: 0;
  vertical-align: middle;
  transition: margin 0.5s ease;
}

.frm_submit button {
  transition: var(--link-transition);
  font-weight: 500 !important;
  font-family: var(--wp--preset--font-family--text);
  border-radius: 9999px !important;
  padding: 0.3em 1em !important;
  text-transform: uppercase;
}

.frm_submit button::after {
  content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.04 17.04"><path d="m8.38,17.04l8.66-8.52C14.87,6.39,10.55,2.13,8.38,0l-1.09,1.06c1.95,1.92,4.54,4.47,6.82,6.71H0v1.5h14.1l-6.82,6.7,1.09,1.07h0Z" stroke-width="0" fill="%23ffffff"/></svg>');
}

.wp-block-button:hover .wp-block-button__link::after,
.frm_submit:hover button::after,
.loop_articoli .wp-block-read-more:hover::after {
  margin-left: 1em;
}

.btn_inverted .wp-block-button__link {
  background-color: var(--wp--preset--color--secondary);
}

.btn_inverted .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--primary);
}

/*
---------------------------------------------------------------------------------------
# LINK HEADER FOOTER
---------------------------------------------------------------------------------------
*/
header a,
footer a {
  position: relative;
}

header li.menu-item a:hover::after,
footer a:not([class]):hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

header li.menu-item a::after,
footer a:not([class])::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 0.05em;
  bottom: -.3em;
  left: 0;
  background: currentcolor;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

/*
---------------------------------------------------------------------------------------
# FORMIDABLE
---------------------------------------------------------------------------------------
*/

.frm_form_fields textarea {
  resize: none;
}

.frm_forms input:not(input[type="checkbox"]),
.frm_forms textarea {
  border: none !important;
  border-bottom: 1px solid var(--wp--preset--color--secondary) !important;
}

/*
---------------------------------------------------------------------------------------
# PLAYA STYLES
---------------------------------------------------------------------------------------
*/

.more_z_index {
  z-index: 4;
}

@media (min-width: 782px) {
  .left_col__r_padding {
    padding-right: 7vw;
  }

  .right_col__l_padding {
    padding-left: 7vw;
  }

  .paragraph__r_padding {
    padding-right: 10vw;
  }
}

.tariffe>.wp-block-columns>.wp-block-column {
  background-color: var(--wp--preset--color--light-gray);
  padding: var(--wp--preset--spacing--20);
  border-radius: 20px;
}

.disdetta {
  margin-top: -100px;
  font-size: 18px;
  line-height: 1.3;
}

/* tariffe -> accordion su mobile */
@media (max-width: 1000px) {
  .tariffe>.wp-block-columns {
    flex-wrap: wrap !important;
  }

  .tariffe>.wp-block-columns>.wp-block-column {
    flex-basis: 100% !important;
    position: relative;
    overflow: hidden;
    overflow: hidden;
    transition: height 0.4s ease;
    cursor: pointer;
  }

  .tariffe h4.wp-block-heading::after {
    content: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.04 17.04"><path d="m8.38,17.04l8.66-8.52C14.87,6.39,10.55,2.13,8.38,0l-1.09,1.06c1.95,1.92,4.54,4.47,6.82,6.71H0v1.5h14.1l-6.82,6.7,1.09,1.07h0Z" stroke-width="0" fill="%23FF6434"/></svg>');
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-radius: 100%;
    border: 2px solid var(--wp--preset--color--primary);
    padding: 0.25em;
    line-height: 0;
    vertical-align: middle;
    transition: transform 0.4s ease;
    position: absolute;
    right: 1em;
  }

  .tariffe .wp-block-column.opened h4.wp-block-heading::after {
    transform: rotate(90deg);
  }

  .disdetta {
    margin-top: 10px;
  }
}

@media (max-width: 600px) {
  body {
    --wp--style--root--padding-right: 20px;
    --wp--style--root--padding-left: 20px;
  }

  .blocco_corso img {
    width: 42px !important;
  }

  .blocco_corso h3 {
    padding-left: 15px !important;
  }

  .blocco_corso .wp-block-buttons {
    justify-content: flex-start;
  }
}

.wp-block-heading:not(body.wp-admin .wp-block-heading):not(.prevent_default_animations .wp-block-heading):not(body.block-editor-iframe__body .wp-block-heading) {
  opacity: 0;
  transition: opacity 0.8s ease 0.25s;
}

.wp-block-heading.in_view:not(body.wp-admin .wp-block-heading):not(.prevent_default_animations:not(body.block-editor-iframe__body .wp-block-heading)) {
  opacity: 1;
}

/*
---------------------------------------------------------------------------------------
# ARTICOLI
---------------------------------------------------------------------------------------
*/
@media (max-width: 781px) {
  .articolo_content {
    margin-top: 18vh !important;
  }
}

.loop_articoli li {
  display: flex;
  flex-direction: column;
  height: auto;
  background-color: var(--wp--preset--color--light-gray);
  border-radius: 20px;
  overflow: hidden;
}

.loop_articoli li .post__content {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.loop_articoli figure {
  margin: 0;
}

.loop_articoli img {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

.loop_articoli p:not(.wp-block-post-excerpt p),
.loop_articoli h2 {
  font-weight: 500;
  text-transform: uppercase;
  font-size: unset;
}

.loop_articoli p,
.loop_articoli h2,
.loop_articoli .wp-block-post-excerpt {
  width: 100%;
}

.loop_articoli .wp-block-post-excerpt {
  color: #a4a4a4;
  padding-block: var(--wp--preset--spacing--20);
  flex-grow: 1;
}

.loop_articoli .wp-block-read-more {
  color: var(--wp--preset--color--white) !important;
  margin-left: 0 !important;
  padding-top: calc(0.2em + 4px);
  padding-right: calc(1em + 10px);
  padding-bottom: calc(0.2em + 4px);
  padding-left: calc(1em + 10px);
  transition: var(--link-transition);
}

/*
---------------------------------------------------------------------------------------
# MOBILE
---------------------------------------------------------------------------------------
*/

@media screen and (max-width: 781px) {
  .ratio1-mob img {
    aspect-ratio: 1/1 !important;
  }

  .ukiyo img {
    aspect-ratio: 1/1 !important;
  }


}