@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Jacques+Francois&display=swap");
.grid-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}
@media (min-width: 576px) {
  .grid-container {
    grid-template-columns: repeat(12, 1fr);
  }
}
@media (min-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(12, 1fr);
  }
}
@media (min-width: 992px) {
  .grid-container {
    grid-template-columns: repeat(12, 1fr);
  }
}
@media (min-width: 1200px) {
  .grid-container {
    grid-template-columns: repeat(12, 1fr);
  }
}

.col-1 {
  grid-column: span 1;
}
@media (min-width: 576px) {
  .col-1-sm-1 {
    grid-column: span 1;
  }
}
@media (min-width: 768px) {
  .col-1-md-1 {
    grid-column: span 1;
  }
}
@media (min-width: 992px) {
  .col-1-lg-1 {
    grid-column: span 1;
  }
}
@media (min-width: 1200px) {
  .col-1-xl-1 {
    grid-column: span 1;
  }
}
.col-2 {
  grid-column: span 2;
}
@media (min-width: 576px) {
  .col-2-sm-2 {
    grid-column: span 2;
  }
}
@media (min-width: 768px) {
  .col-2-md-2 {
    grid-column: span 2;
  }
}
@media (min-width: 992px) {
  .col-2-lg-2 {
    grid-column: span 2;
  }
}
@media (min-width: 1200px) {
  .col-2-xl-2 {
    grid-column: span 2;
  }
}
.col-3 {
  grid-column: span 3;
}
@media (min-width: 576px) {
  .col-3-sm-3 {
    grid-column: span 3;
  }
}
@media (min-width: 768px) {
  .col-3-md-3 {
    grid-column: span 3;
  }
}
@media (min-width: 992px) {
  .col-3-lg-3 {
    grid-column: span 3;
  }
}
@media (min-width: 1200px) {
  .col-3-xl-3 {
    grid-column: span 3;
  }
}
.col-4 {
  grid-column: span 4;
}
@media (min-width: 576px) {
  .col-4-sm-4 {
    grid-column: span 4;
  }
}
@media (min-width: 768px) {
  .col-4-md-4 {
    grid-column: span 4;
  }
}
@media (min-width: 992px) {
  .col-4-lg-4 {
    grid-column: span 4;
  }
}
@media (min-width: 1200px) {
  .col-4-xl-4 {
    grid-column: span 4;
  }
}
.col-5 {
  grid-column: span 5;
}
@media (min-width: 576px) {
  .col-5-sm-5 {
    grid-column: span 5;
  }
}
@media (min-width: 768px) {
  .col-5-md-5 {
    grid-column: span 5;
  }
}
@media (min-width: 992px) {
  .col-5-lg-5 {
    grid-column: span 5;
  }
}
@media (min-width: 1200px) {
  .col-5-xl-5 {
    grid-column: span 5;
  }
}
.col-6 {
  grid-column: span 6;
}
@media (min-width: 576px) {
  .col-6-sm-6 {
    grid-column: span 6;
  }
}
@media (min-width: 768px) {
  .col-6-md-6 {
    grid-column: span 6;
  }
}
@media (min-width: 992px) {
  .col-6-lg-6 {
    grid-column: span 6;
  }
}
@media (min-width: 1200px) {
  .col-6-xl-6 {
    grid-column: span 6;
  }
}
.col-7 {
  grid-column: span 7;
}
@media (min-width: 576px) {
  .col-7-sm-7 {
    grid-column: span 7;
  }
}
@media (min-width: 768px) {
  .col-7-md-7 {
    grid-column: span 7;
  }
}
@media (min-width: 992px) {
  .col-7-lg-7 {
    grid-column: span 7;
  }
}
@media (min-width: 1200px) {
  .col-7-xl-7 {
    grid-column: span 7;
  }
}
.col-8 {
  grid-column: span 8;
}
@media (min-width: 576px) {
  .col-8-sm-8 {
    grid-column: span 8;
  }
}
@media (min-width: 768px) {
  .col-8-md-8 {
    grid-column: span 8;
  }
}
@media (min-width: 992px) {
  .col-8-lg-8 {
    grid-column: span 8;
  }
}
@media (min-width: 1200px) {
  .col-8-xl-8 {
    grid-column: span 8;
  }
}
.col-9 {
  grid-column: span 9;
}
@media (min-width: 576px) {
  .col-9-sm-9 {
    grid-column: span 9;
  }
}
@media (min-width: 768px) {
  .col-9-md-9 {
    grid-column: span 9;
  }
}
@media (min-width: 992px) {
  .col-9-lg-9 {
    grid-column: span 9;
  }
}
@media (min-width: 1200px) {
  .col-9-xl-9 {
    grid-column: span 9;
  }
}
.col-10 {
  grid-column: span 10;
}
@media (min-width: 576px) {
  .col-10-sm-10 {
    grid-column: span 10;
  }
}
@media (min-width: 768px) {
  .col-10-md-10 {
    grid-column: span 10;
  }
}
@media (min-width: 992px) {
  .col-10-lg-10 {
    grid-column: span 10;
  }
}
@media (min-width: 1200px) {
  .col-10-xl-10 {
    grid-column: span 10;
  }
}
.col-11 {
  grid-column: span 11;
}
@media (min-width: 576px) {
  .col-11-sm-11 {
    grid-column: span 11;
  }
}
@media (min-width: 768px) {
  .col-11-md-11 {
    grid-column: span 11;
  }
}
@media (min-width: 992px) {
  .col-11-lg-11 {
    grid-column: span 11;
  }
}
@media (min-width: 1200px) {
  .col-11-xl-11 {
    grid-column: span 11;
  }
}
.col-12 {
  grid-column: span 12;
}
@media (min-width: 576px) {
  .col-12-sm-12 {
    grid-column: span 12;
  }
}
@media (min-width: 768px) {
  .col-12-md-12 {
    grid-column: span 12;
  }
}
@media (min-width: 992px) {
  .col-12-lg-12 {
    grid-column: span 12;
  }
}
@media (min-width: 1200px) {
  .col-12-xl-12 {
    grid-column: span 12;
  }
}

body {
  font-family: "Jacques Francois", serif;
  font-weight: 400;
  font-style: normal;
  color: #333;
  margin: 0;
  padding: 0;
}

a {
  color: #3498db;
  text-decoration: none;
}

a:hover {
  color: #2ecc71;
}

.site-header {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  text-transform: uppercase;
}

.site-header {
  font-size: 0.8125rem;
}
.site-header .menu {
  margin: 0;
}

.block-system .menu {
  color: #F9F0DD;
}
.block-system .menu a, .block-system .menu a:link, .block-system .menu a:active, .block-system .menu a:visited, .block-system .menu a:hover, .block-system .menu a.is-active {
  color: #F9F0DD !important;
}

.menu-item--expanded {
  background: transparent !important;
  list-style-type: none !important;
  list-style-image: none !important;
  list-style: none !important;
}

@media (max-width: 768px) {
  .menu--level-1 > .menu-item > a {
    letter-spacing: 20%;
  }
}
@media (min-width: 768px) {
  .menu--level-1 > .menu-item > a {
    letter-spacing: 20%;
  }
}
.menu-item .menu {
  text-transform: none;
  margin-left: 0 !important;
  text-align: center;
}

.menu-item.menu-item--expanded > a::after {
  content: "▼";
  display: inline-block;
  vertical-align: top;
  font-size: 0.85em;
  transform-origin: center;
  transform: scale(1, 0.7);
  margin-left: 0.3em;
  margin-top: 0.1em;
}

@media (max-width: 768px) {
  .menu-item.menu-item--expanded {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .region-header {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem 0;
    background: rgba(169, 8, 40, 0.5);
    position: fixed;
    left: 0;
    right: 0;
    top: 0rem;
    z-index: 2;
  }
  .region-header.scrolled {
    background: rgb(169, 8, 40);
  }
  .region-header .block-system:has(.menu) {
    width: 100%;
    max-width: calc(100% - 9rem);
  }
  .region-header .menu--level-1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5% max(8%, 2rem);
    width: 100%;
    height: 100%;
    align-items: center;
  }
  .menu-item {
    position: relative;
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
  }
  .menu-item .menu {
    text-transform: none;
    margin-left: 0 !important;
    position: absolute;
    z-index: 1;
    left: -7rem;
    top: 0;
    width: 18rem;
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1.5rem;
    padding: 3rem 1.5rem;
    padding-top: 5rem;
    background: linear-gradient(to bottom, transparent 3rem, #76041A 2rem);
    display: none;
  }
  .menu-item .menu .menu-item {
    width: 100%;
  }
  .menu-item:hover .menu, .menu-item:focus .menu, .menu-item:focus-within .menu {
    display: flex;
  }
  .menu-item .menu-item {
    padding-top: 0;
    padding-bottom: 0;
  }
  .language-switcher-language-url {
    min-width: 7rem;
    max-width: 9.0625rem;
    text-align: center;
  }
}
@media (min-width: 992px) {
  .region-header {
    top: 3rem;
  }
  .region-header.scrolled {
    top: 0;
  }
}
.language-switcher-language-url .links {
  background: #A90828;
  color: #F9F0DD;
  display: flex;
  justify-content: center;
  padding: 1.15rem 1.7rem;
  margin: 0;
  list-style: none;
}
.language-switcher-language-url .links ul {
  list-style: none;
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
}
.language-switcher-language-url .links li.is-active {
  display: none;
}
.language-switcher-language-url .links {
  /*
  li {
    display: inline-block;
    &.en{
      order: 2;
      &::before{
        content: '-';
        display: inline-block;
        vertical-align: middle;
      }
    }
    &.it{
      order: 1;
    }
  }

   */
}
.language-switcher-language-url .links a, .language-switcher-language-url .links a:active, .language-switcher-language-url .links a:visited, .language-switcher-language-url .links a:hover, .language-switcher-language-url .links a.is-active {
  color: #F9F0DD;
}
.language-switcher-language-url .links a {
  text-decoration: none;
  color: #F9F0DD;
  transition: color 0.2s ease;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  width: 3.2ch;
  height: 2ch;
  white-space: nowrap;
  text-overflow: clip;
}
.language-switcher-language-url .links .it a {
  width: 2.5ch;
}
.block-system-branding-block .site-name {
  text-align: center;
  pointer-events: none;
  text-transform: uppercase;
}
.block-system-branding-block .site-name a, .block-system-branding-block .site-name a:link, .block-system-branding-block .site-name a:active, .block-system-branding-block .site-name a:visited, .block-system-branding-block .site-name a:hover {
  color: #F9F0DD;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  display: block;
  margin-inline: auto;
  pointer-events: none;
}
.block-system-branding-block .site-name a::before, .block-system-branding-block .site-name a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 1px;
  background: #F9F0DD;
  width: 10.625rem;
  position: relative;
  top: -0.4rem;
}
.block-system-branding-block .site-name a::before {
  margin-right: 1rem;
}
.block-system-branding-block .site-name a::after {
  margin-left: 1rem;
}

.path-frontpage .block-field-blocknodepagebody {
  text-align: center;
}

@media (max-width: 768px) {
  .language-switcher-language-url .links {
    width: max-content;
  }
  .block-system:has(.menu) {
    background: #76041A;
    color: #F9F0DD;
  }
  .block-system:has(.menu) .menu {
    padding: 2rem;
    gap: 1rem;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
  }
  .block-system-branding-block {
    width: 100%;
    aspect-ratio: 800/1040;
    background: #76041A;
    /*
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .25) 100%);
    background: $red2 url("../img/Mobile_Top_interna.jpg") center top no-repeat;
    background-size: 100% auto;
     */
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.5) 100%), url("../img/BG/Mobile_Top_Professionisti.webp");
    background-position: 0 0, center top;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 100%, 100% auto;
    display: flex;
    justify-content: center;
    align-items: center;
    /*
    padding: 2rem;
    width: calc(100% - 4rem);

     */
  }
  .block-system-branding-block .site-name a, .block-system-branding-block .site-name a:link, .block-system-branding-block .site-name a:active, .block-system-branding-block .site-name a:visited, .block-system-branding-block .site-name a:hover {
    font-size: 1.75rem;
    line-height: 1.5;
    position: relative;
    display: block;
    padding: 2rem 3rem;
  }
  .block-system-branding-block .site-name a::before, .block-system-branding-block .site-name a::after, .block-system-branding-block .site-name a:link::before, .block-system-branding-block .site-name a:link::after, .block-system-branding-block .site-name a:active::before, .block-system-branding-block .site-name a:active::after, .block-system-branding-block .site-name a:visited::before, .block-system-branding-block .site-name a:visited::after, .block-system-branding-block .site-name a:hover::before, .block-system-branding-block .site-name a:hover::after {
    border-width: 3px;
    width: 7.4svw;
    position: absolute;
    z-index: 3;
    top: 49%;
  }
  .block-system-branding-block .site-name a::before, .block-system-branding-block .site-name a:link::before, .block-system-branding-block .site-name a:active::before, .block-system-branding-block .site-name a:visited::before, .block-system-branding-block .site-name a:hover::before {
    left: 0;
  }
  .block-system-branding-block .site-name a::after, .block-system-branding-block .site-name a:link::after, .block-system-branding-block .site-name a:active::after, .block-system-branding-block .site-name a:visited::after, .block-system-branding-block .site-name a:hover::after {
    right: 0;
  }
  html:has(link[rel=alternate][href$="/lo-studio"]) .block-system-branding-block {
    aspect-ratio: 800/1040;
    background-image: url("../img/BG/Mobile_Top_Studio.webp");
  }
  html:has(link[rel=alternate][href$="/contatti"]) .block-system-branding-block {
    aspect-ratio: 800/1040;
    background-image: url("../img/BG/Mobile_Top_Contatti.webp");
  }
  #nav-toggle {
    all: unset;
    display: block;
    width: 3rem;
    height: 1.25rem;
    padding: 1rem;
    background: #A90828 url("../img/burger.svg") center center no-repeat;
    background-size: auto 38%;
    color: #F9F0DD;
    cursor: pointer;
  }
  .language-switcher-language-url {
    position: absolute;
    top: 2.5rem;
    left: 0;
    z-index: 2;
  }
  .block-system:has(.menu) {
    position: absolute;
    top: 2.5rem;
    right: 0;
    z-index: 5;
  }
  .region-header .block-system:has(.menu) .menu--level-1 {
    display: none;
  }
  .path-frontpage {
    overflow-x: hidden;
  }
  .path-frontpage .block-system-branding-block {
    display: none;
  }
  .path-frontpage .layout__region--content .block-system-branding-block {
    display: flex;
  }
  .path-frontpage .block-field-blocknodepagebody {
    display: block;
  }
  .path-frontpage .block-field-blocknodepagebody a, .path-frontpage .block-field-blocknodepagebody a:link, .path-frontpage .block-field-blocknodepagebody a:active, .path-frontpage .block-field-blocknodepagebody a:visited, .path-frontpage .block-field-blocknodepagebody a:hover {
    background: #A90828 !important;
    color: #F9F0DD !important;
    display: block;
    margin-inline: auto;
    padding: 0.5em 2em;
    width: max-content;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 15%;
    margin-top: 0.5em;
  }
  .path-frontpage .layout__region--content:has(.block-system-branding-block) {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    aspect-ratio: 800/1040;
    background: #76041A;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.5) 100%), url("../img/BG/Mobile_Top_Hp.webp");
    background-position: 0 0, center top;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 100%, 100% auto;
    overflow: hidden;
  }
  .path-frontpage .layout__region--content .block-system-branding-block {
    display: flex;
    aspect-ratio: 800/600;
    background: transparent;
    /*
    background: $red2 url("../img/Mobile_Top_hp.jpg") center top no-repeat;
    background-size: 100% auto;

     */
    background-position: 0 0, center top;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 100%, 100% auto;
  }
  .path-frontpage .block-field-blocknodepagebody {
    font-size: 1.25rem;
    line-height: 1.2;
    padding: 1.2rem 1rem 2rem 1rem;
    position: relative;
    top: -1px;
  }
  .node .content .block-field-blocknodepagefield-body2 h2 {
    /*
        width: calc(100% - 4rem);
        margin-inline: auto;

     */
  }
}
@media (min-width: 768px) and (max-width: 769px) {
  .language-switcher-language-url {
    top: 0;
  }
  .region-header .block-system:has(.menu) .menu--level-1 {
    display: flex;
    flex-direction: row;
    padding: 0;
  }
  .menu-item .menu {
    display: none;
  }
  .region-header .block-system:has(.menu) {
    top: 0;
  }
  .region-header .block-system:has(.menu) .menu--level-1 .menu {
    display: none;
  }
  .block-system:has(.menu) {
    background: transparent;
    position: static;
  }
  .region-header {
    background: rgba(169, 8, 40, 0.5);
  }
}
.region-header .block-system:has(.menu):has(#nav-toggle:checked) {
  width: 100%;
}
.region-header .block-system:has(.menu):has(#nav-toggle:checked) #nav-toggle {
  position: absolute;
  right: 0;
  background-image: url("../img/x.svg");
}
.region-header .block-system:has(.menu):has(#nav-toggle:checked) .menu--level-1 {
  display: flex;
}

@media (min-width: 768px) {
  #nav-toggle {
    display: none;
  }
  .block-system-branding-block {
    aspect-ratio: 1920/690;
    background: #76041A url("../img/BG/Desktop_Bg_Professionisti.webp") center top no-repeat;
    background-size: 100% auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-system-branding-block .site-name a, .block-system-branding-block .site-name a:link, .block-system-branding-block .site-name a:active, .block-system-branding-block .site-name a:visited, .block-system-branding-block .site-name a:hover {
    font-size: 2.25rem;
    line-height: 1;
  }
  html:has(link[rel=alternate][href$="/lo-studio"]) .block-system-branding-block {
    aspect-ratio: 1920/690;
    background: #76041A url("../img/BG/Desktop_Bg_Studio.webp") center top no-repeat;
    background-size: 100% auto;
  }
  html:has(link[rel=alternate][href$="/contatti"]) .block-system-branding-block {
    aspect-ratio: 1920/690;
    background: #76041A url("../img/BG/Desktop_Bg_Contatti_top.webp") center top no-repeat;
    background-size: 100% auto;
  }
  .path-frontpage .block-system-branding-block {
    display: none;
  }
  .path-frontpage .layout__region--content .block-system-branding-block {
    display: block;
    background: transparent !important;
    aspect-ratio: auto;
  }
  .path-frontpage .block-field-blocknodepagebody a, .path-frontpage .block-field-blocknodepagebody a:link, .path-frontpage .block-field-blocknodepagebody a:active, .path-frontpage .block-field-blocknodepagebody a:visited, .path-frontpage .block-field-blocknodepagebody a:hover {
    background: #A90828 !important;
    color: #F9F0DD !important;
    display: block;
    margin-inline: auto;
    padding: 1em 3em;
    width: max-content;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 15%;
  }
  .path-frontpage .layout__region--content:has(.block-system-branding-block) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
    aspect-ratio: 1920/1367;
    background: #76041A url("../img/BG/Desktop_Bg_HP_cover.webp") center top no-repeat;
    background-size: 100% auto;
  }
  .path-frontpage .layout--twocol-section {
    position: relative;
    top: -2.8125rem;
    justify-content: center;
  }
  .path-frontpage .layout--twocol-section .layout__region--first {
    max-width: 666px;
  }
  .path-frontpage .block-field-blocknodepagebody {
    /*
    padding: 4rem 7rem;
    font-size: 1.9rem;
    line-height: 2.25rem;
    margin-top: $pad;
    height: 444px !important;
    display: flex;
    align-items: center;

     */
    background: transparent !important;
  }
  .path-frontpage .hp-img {
    background: #F9F0DD;
    padding: 2.8125rem;
    max-width: 572px;
    height: auto;
  }
}
#block-studiorimini-contatti, #block-studiorimini-contacts {
  width: 100%;
  color: #F9F0DD;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#block-studiorimini-contatti h2, #block-studiorimini-contacts h2 {
  margin: 0;
  color: #F9F0DD;
  text-transform: uppercase;
  border-bottom: 3px solid #F9F0DD;
  padding-bottom: 2rem;
  margin-bottom: 0.5rem;
  width: 90%;
  max-width: 690px;
  margin-inline: auto;
  font-family: "Jacques Francois", serif;
  font-size: 2.25rem;
  letter-spacing: 0.5rem;
}
#block-studiorimini-contatti p, #block-studiorimini-contacts p {
  font-size: 1.2rem;
  line-height: 2;
  font-family: "Inter", sans-serif;
}
#block-studiorimini-contatti p a, #block-studiorimini-contatti p a:link, #block-studiorimini-contatti p a:active, #block-studiorimini-contatti p a:visited, #block-studiorimini-contatti p a:hover, #block-studiorimini-contacts p a, #block-studiorimini-contacts p a:link, #block-studiorimini-contacts p a:active, #block-studiorimini-contacts p a:visited, #block-studiorimini-contacts p a:hover {
  color: #F9F0DD;
}

p:has(.button) {
  display: flex;
  justify-content: center;
}

.button {
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  color: #F9F0DD !important;
  background: #A90828 !important;
  font-size: 0.85rem;
  line-height: 1.2;
  letter-spacing: 1.5px;
  padding: 1rem 3rem;
  font-family: "Jacques Francois", serif;
}

@media (max-width: 768px) {
  #block-studiorimini-contatti, #block-studiorimini-contacts {
    aspect-ratio: 800/1040;
    background: #76041A url("../img/BG/Mobile_Bg_Contatti_bottom.webp") center 0 no-repeat;
    background-size: 100%;
  }
}
@media (min-width: 768px) {
  #block-studiorimini-contatti, #block-studiorimini-contacts {
    aspect-ratio: 1920/750;
    background: #76041A url("../img/BG/Desktop_Bg_Contatti_bottom.webp") center 0 no-repeat;
    background-size: 100%;
  }
}
.footer-2 {
  background: #F9F0DD;
  color: #A90828;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 3rem;
}
.footer-2 a, .footer-2 a:link, .footer-2 a:active, .footer-2 a:visited, .footer-2 a:hover {
  color: #A90828;
  text-decoration: underline;
}
.footer-2 p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

@media (max-width: 768px) {
  .footer-2 {
    justify-content: center;
    gap: 2rem;
  }
}
.field--name-title.field--label-hidden {
  display: none !important;
}

.page-title {
  margin: 0;
  text-transform: uppercase;
  line-height: 1;
  color: #76041A;
  background: #F9F0DD;
  text-align: center;
  font-weight: 400;
  width: 90%;
  max-width: 48.75rem;
  margin-inline: auto;
  padding: 4rem 1rem;
  padding-bottom: 0;
  position: relative;
  letter-spacing: 0;
}
.page-title::before, .page-title::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  aspect-ratio: 1/1;
  top: 0;
  background: #76041A;
}
.page-title::before {
  left: 0;
}
.page-title::after {
  right: 0;
}

.node-page {
  background: #5E0416;
}

@media (max-width: 768px) {
  .page-title {
    font-size: 1.4rem;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .page-title::before, .page-title::after {
    width: 3rem;
  }
  .node .content .block-field-blocknodepagefield-body2 h2 {
    font-size: 1.4rem !important;
    margin-bottom: 2.5rem;
  }
}
@media (min-width: 768px) {
  .page-title {
    font-size: 2.25rem;
    top: -2.8125rem;
    margin-bottom: 0;
  }
  .page-title::before, .page-title::after {
    width: 2.8125rem;
  }
}
.node .content .field__label {
  display: none;
}
.node .content .block-field-blocknodepagebody {
  background: #F9F0DD;
  color: #76041A;
  height: auto;
}
.node .content .block-field-blocknodepagebody a, .node .content .block-field-blocknodepagebody a:active, .node .content .block-field-blocknodepagebody a:visited, .node .content .block-field-blocknodepagebody a:hover {
  color: #76041A;
}
.node .content .block-field-blocknodepagefield-body2 {
  background: #76041A;
  color: #F9F0DD;
  padding-top: 0;
}
.node .content .block-field-blocknodepagefield-body2:has(.pro-items) .field--name-field-body2 {
  max-width: 779px;
  margin-inline: auto;
}
.node .content .block-field-blocknodepagefield-body2 a, .node .content .block-field-blocknodepagefield-body2 a:active, .node .content .block-field-blocknodepagefield-body2 a:visited, .node .content .block-field-blocknodepagefield-body2 a:hover {
  color: #F9F0DD;
}
.node .content .block-field-blocknodepagefield-body2 h2 {
  text-align: center;
  text-transform: uppercase;
  font-size: 1.875rem;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 3px solid #F9F0DD;
}

.path-frontpage .node .content .layout__region--content .block-field-blocknodepagebody {
  background: transparent !important;
  color: #F9F0DD !important;
}
.path-frontpage .block-field-blocknodepagefield-body2 h2 {
  border-top: 0 !important;
  margin-top: 0 !important;
  background: #76041A !important;
  position: relative;
  padding: 5rem 1rem 0rem 1rem !important;
  max-width: calc(100% - 2rem);
  margin-inline: auto;
  margin-bottom: 0;
  padding-bottom: 0 !important;
}
.path-frontpage .block-field-blocknodepagefield-body2 h2::before, .path-frontpage .block-field-blocknodepagefield-body2 h2::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  aspect-ratio: 1/1;
  top: 0;
  background: #F9F0DD;
}
.path-frontpage .block-field-blocknodepagefield-body2 h2::before {
  left: 0;
}
.path-frontpage .block-field-blocknodepagefield-body2 h2::after {
  right: 0;
}

@media (max-width: 768px) {
  .path-frontpage .node .content .layout__region--content .block-field-blocknodepagebody {
    font-size: 1.25rem;
    margin-bottom: 0;
  }
  .path-frontpage .node .content .layout__region--content .block-field-blocknodepagebody p {
    margin: 0;
  }
  .contatti-body {
    margin-top: 2.5rem;
  }
}
@media (min-width: 768px) {
  .path-frontpage .node .content .layout__region--content .block-field-blocknodepagebody {
    font-size: 1.875rem;
    margin-top: 4rem;
  }
  .path-frontpage .node .content .layout__region--content .block-field-blocknodepagebody p {
    margin: 0;
  }
  .path-frontpage .node .content .layout__region--content .block-field-blocknodepagebody p a {
    margin-top: 2rem;
    font-size: 0.875rem;
  }
  .block-field-blocknodepagefield-body2 h2::before, .block-field-blocknodepagefield-body2 h2::after {
    width: 2.8125rem;
  }
  .path-frontpage .block-field-blocknodepagefield-body2 h2 {
    top: -2.8125rem;
  }
}
@media (max-width: 768px) {
  .block-field-blocknodepagefield-body2 h2 {
    font-size: 1.375rem;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .block-field-blocknodepagefield-body2 h2::before, .block-field-blocknodepagefield-body2 h2::after {
    width: 3rem;
  }
}
.pro-item, .avv-item {
  font-family: "Inter", sans-serif;
  text-align: center;
}
.pro-item .link, .avv-item .link {
  font-family: "Jacques Francois", serif;
  text-transform: uppercase;
  font-size: 0.9rem;
  display: block;
  max-width: 220px;
  margin-inline: auto;
  text-decoration: none;
  border-top: 1px solid #F9F0DD;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.pro-item .link::after, .avv-item .link::after {
  content: "⟶";
  display: inline-block;
  vertical-align: middle;
  font-size: 1.2rem;
  position: relative;
  top: -0.4rem;
  margin-left: 0.3rem;
}

.avv-item {
  font-size: 1.25rem;
}

/*
@media (max-width: map-get($breakpoints, 'md')) {
  .hp-body2_desktop {
    display: none;
  }
  .hp-body2_mobile {
    display: block;
  }

}
@media (min-width: map-get($breakpoints, 'md')) {
  .hp-body2_desktop {
    display: block;
  }
  .hp-body2_mobile {
    display: none;
  }
}

 */
.pro-item img {
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

@media (max-width: 768px) {
  .path-frontpage .layout__region--first {
    background: #5E0416;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 2rem;
    order: 2;
  }
  .path-frontpage .layout__region--second {
    order: 1;
    padding: 2rem;
    background: #F9F0DD;
  }
  .hp-img {
    width: 100%;
    height: auto;
  }
  .pro-item {
    font-size: 1.125rem;
  }
  .pro-item img {
    border: 0.6rem solid #F9F0DD;
  }
  .avv-item img {
    border: 0.6rem solid #F9F0DD;
  }
}
@media (min-width: 768px) {
  .pro-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2rem;
  }
  .pro-item {
    font-size: 1.25rem;
  }
  .pro-item:nth-child(1), .pro-item:nth-child(2) {
    max-width: 335px;
  }
  .pro-item:nth-child(3), .pro-item:nth-child(4), .pro-item:nth-child(5) {
    max-width: 215px;
  }
  .pro-item:nth-child(3) p, .pro-item:nth-child(4) p, .pro-item:nth-child(5) p {
    min-height: 3lh;
  }
  .pro-item img {
    border: 0.6rem solid #F9F0DD;
  }
  .avv-item img {
    border: 0.6rem solid #F9F0DD;
  }
}
.contatti-body {
  text-align: center;
  font-size: 1.25rem;
  line-height: 2;
}
.contatti-body p {
  margin-top: 0;
  position: relative;
  top: -1rem;
}

.contatti-map {
  margin: 2rem;
  background: #EFDEBF;
  padding: 1rem;
  max-width: 66.25rem;
  width: calc(100% - 2rem);
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
.contatti-map p {
  margin: 0;
  padding: 0;
}
.contatti-map iframe {
  display: block;
  aspect-ratio: 926/442;
  width: 100%;
}

.contatti-img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  .contatti-map {
    width: 90%;
    padding: 4rem;
    max-width: min(66.25rem, 80%);
  }
  .contatti-img {
    margin-top: -7rem;
  }
}
.direct-contacts {
  color: #A90828;
  border-left: 12px solid #A90828;
  padding-left: 1.5rem;
  font-family: "Inter", sans-serif;
  margin-top: 3rem;
}
.direct-contacts p {
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.direct-contacts ul {
  color: #A90828;
  padding-left: 0.8rem;
}
.direct-contacts li {
  color: #A90828;
  list-style: square;
  margin-bottom: 0.8rem;
  /*
      &::marker{
        font-size: 1.8rem;
      }

   */
}
.direct-contacts a, .direct-contacts a:link, .direct-contacts a:active, .direct-contacts a:visited, .direct-contacts ahover {
  text-decoration: underline;
  color: #A90828;
}

.studio-txt {
  line-height: 1.5;
}

.studio-txt, .contatti-body {
  font-family: "Inter", sans-serif;
}

.studio-img {
  background: #F9F0DD;
}
.studio-img img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .studio-txt {
    padding: 2rem;
  }
  .studio-img {
    width: calc(100% - 4rem);
    height: auto;
    padding: 2rem;
  }
  .studio-img img {
    width: 100%;
    height: auto;
  }
  .node-page .content .layout--onecol + .layout--twocol-section .studio-img {
    background: #5E0416;
  }
  .node-page .content .block-field-blocknodepagebody .studio-img, .node-page .content .field--name-body:has(.avvocato-col) {
    position: relative;
    padding-bottom: 5rem;
  }
  .node-page .content .block-field-blocknodepagebody .studio-img::before, .node-page .content .block-field-blocknodepagebody .studio-img::after, .node-page .content .field--name-body:has(.avvocato-col)::before, .node-page .content .field--name-body:has(.avvocato-col)::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    aspect-ratio: 1/1;
    bottom: 0;
    background: #5E0416;
    width: 3rem;
  }
  .node-page .content .block-field-blocknodepagebody .studio-img::before, .node-page .content .field--name-body:has(.avvocato-col)::before {
    left: 0;
  }
  .node-page .content .block-field-blocknodepagebody .studio-img::after, .node-page .content .field--name-body:has(.avvocato-col)::after {
    right: 0;
  }
}
.studio-txt p {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .studio-txt {
    text-align: center;
    width: 90%;
    max-width: 690px;
    margin-inline: auto;
    margin-bottom: 0;
  }
  .studio-imgs {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    position: relative;
    top: 2.8125rem;
    width: 90%;
    max-width: 1160px;
    margin-inline: auto;
  }
  .studio-img {
    padding: 2.8125rem;
    /*max-width: 572px;*/
    max-width: 1160px;
    height: auto;
    margin-inline: auto;
  }
  .node-page .content .layout--onecol + .layout--twocol-section p:has(.button) {
    justify-content: flex-start;
  }
  .node-page .content .layout--onecol + .layout--twocol-section .studio-img {
    max-width: 482px;
  }
  .node-page .content .layout--onecol + .layout--twocol-section {
    padding-top: 8rem;
    position: relative;
    margin-top: 5rem;
    padding-bottom: 6rem;
    background: #76041A;
    border-bottom: 4rem solid #5E0416;
    padding-left: calc(50% - 600px);
    padding-right: calc(50% - 600px);
  }
  .node-page .content .layout--onecol + .layout--twocol-section .block-field-blocknodepagefield-body .studio-img {
    margin-inline: auto;
  }
  .node-page .content .layout--onecol + .layout--twocol-section .block-field-blocknodepagefield-body2 {
    padding: 6rem;
  }
  .node-page .content .layout--onecol + .layout--twocol-section .block-field-blocknodepagefield-body2 .field__item:has(h2) {
    position: absolute;
    top: 4rem;
    width: 1160px;
    left: calc(50% - 570px);
    max-width: 100%;
  }
  .node-page .content .layout--onecol + .layout--twocol-section .studio-img {
    background: #5E0416;
    margin-top: 6rem;
  }
  .node-page .content .layout--onecol + .layout--twocol-section ul, .node-page .content .layout--onecol + .layout--twocol-section li {
    font-size: 1.25rem;
    line-height: 2.375rem;
  }
  .node-page .content .layout--onecol + .layout--twocol-section .layout__region--second {
    display: flex;
    justify-content: flex-end;
  }
}
.avvocato-col {
  font-family: "Inter", sans-serif;
}
.avvocato-col h2 {
  font-family: "Jacques Francois", serif;
  text-transform: uppercase;
}
.avvocato-col ul {
  padding-left: 0;
  margin-left: 0;
}

.avvocalo-col-img {
  background: #EFDEBF;
}

.avvocato-img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .avvocato-col {
    width: 90%;
    margin-inline: auto;
  }
  .pro-item img, .avv-item img {
    width: 13.4375rem;
    height: auto;
    margin-inline: auto;
  }
  .avvocato-img {
    border: 2rem solid #EFDEBF;
    margin-top: 2rem;
    max-width: calc(100% - 4rem);
  }
}
.avvocato-col {
  font-size: 1rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .avvocato-cols {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    max-width: 1100px;
    margin-inline: auto;
    margin-bottom: 5rem;
  }
  .avvocato-col {
    max-width: calc(50% - 3rem);
  }
  .avvocato-img {
    max-width: 530px;
    border: 2.5rem solid #EFDEBF;
  }
  .avvocalo-col-img {
    padding: 2.8125rem;
  }
  .block-field-blocknodepagefield-body2:has(.avv-items) {
    border-top: 4.5rem solid #5E0416;
    border-bottom: 4.5rem solid #5E0416;
    position: relative;
  }
  .block-field-blocknodepagefield-body2:has(.avv-items)::before {
    content: "";
    display: block;
    position: absolute;
    height: 3rem;
    width: 850px;
    top: -4.5rem;
    left: calc(50% - 425px);
    background: #F9F0DD;
    max-width: 100%;
  }
  .field--name-field-body2:has(.avv-items) {
    width: 90%;
    max-width: 1160px;
    margin-inline: auto;
  }
  .avv-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin-inline: auto;
    margin-bottom: 5rem;
  }
  .avv-item {
    max-width: 216px;
  }
  .avv-item img {
    display: block;
    width: 100%;
    height: auto;
  }
}
.avv-after-item {
  width: 90%;
  margin-inline: auto;
  border-top: 1px solid #A90828;
  padding-top: 1rem;
  margin-top: 1rem;
  padding-bottom: 2rem;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}
.avv-after-item h2 {
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1;
  font-family: "Jacques Francois", serif;
}

@media (min-width: 768px) {
  .avv-after-item {
    max-width: 921px;
  }
}
.layout--twocol-section:has(.layout__region--second) .field--name-field-body2 h2 {
  font-weight: 400 !important;
}

.avvocato-col ul li {
  list-style: none;
  padding-left: 1.5em;
  position: relative;
}

.avvocato-col ul li::before {
  content: "•";
  display: block;
  font-size: 2em;
  margin-right: 0.5em;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  height: 1em;
  line-height: 0.6em;
}

body:has(.contatti-body) #block-studiorimini-contatti,
body:has(.contatti-body) #block-studiorimini-contacts {
  display: none;
}

.read-more, .read-more:link, .read-more:active, .read-more:visited, .read-more:hover {
  display: block;
  width: max-content;
  margin-inline: auto;
  text-transform: uppercase;
  background: #A90828;
  color: #F9F0DD !important;
  text-decoration: none;
  padding: 1rem 4rem;
  font-size: 0.85rem;
}

/* modal dialog */
.hidden {
  display: none;
}

[role=dialog] {
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid #000;
  background-color: #fff;
  min-height: 100vh;
  font-family: "Inter", sans-serif;
}

@media screen and (min-width: 640px) {
  [role=dialog] {
    position: absolute;
    top: 20%;
    left: 50vw; /* move to the middle of the screen (assumes relative parent is the body/viewport) */
    transform: translateX(-50%); /* move backwards 50% of this element's width */
    min-width: 610px; /* == breakpoint - left+right margin */
    min-height: auto;
    box-shadow: 0 19px 38px rgba(0, 0, 0, 0.12), 0 15px 12px rgba(0, 0, 0, 0.22);
  }
}
/* native <dialog> element uses the ::backdrop pseudo-element */
/* dialog::backdrop, */
.dialog-backdrop {
  display: none;
  position: fixed;
  overflow-y: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
}

@media screen and (min-width: 640px) {
  .dialog-backdrop {
    background: rgba(0, 0, 0, 0.3);
  }
}
.dialog-backdrop.active {
  display: block;
}

.no-scroll {
  overflow-y: auto !important;
}

/* this is added to the body when a dialog is open */
.has-dialog {
  overflow: hidden;
}

.dialog_button-close {
  position: absolute;
  top: 0.75rem; /* ~12px if root = 16px */
  right: 0.75rem;
  width: 2rem; /* 32px */
  height: 2rem;
  background: transparent;
  border: none;
  cursor: pointer;
  overflow: hidden;
  text-indent: 5rem;
  line-height: 5rem;
}

.dialog_button-close::before,
.dialog_button-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.125rem; /* 18px */
  height: 0.125rem; /* 2px */
  background-color: #333;
  transform-origin: center;
}

.dialog_button-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.dialog_button-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* hover effect */
.dialog_button-close:hover::before,
.dialog_button-close:hover::after {
  background-color: #000;
}

/* optional: accessible tap target */
.dialog_button-close:hover {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
}

.dialog_button-open {
  all: unset;
  display: block;
  cursor: pointer;
  background: #F9F0DD;
  color: #A90828;
  text-decoration: underline;
}

[role=dialog] {
  background: #F9F0DD;
  color: #76041A;
}

.dialog_content {
  padding: 2rem 0;
  line-height: 1.5;
  font-size: 1rem;
  background: #F9F0DD;
  color: #76041A;
}

.dialog_content p {
  line-height: 1.5;
  background: #F9F0DD;
  color: #76041A;
}

/*# sourceMappingURL=style.css.map */
