/*
Theme Name: WP Segesit
Theme URI: https://www.gfhjklopiu.info/
Author: Segesit
Author URI: https://www.segesitmultimedia.it/
Description:  Custom theme by Segesit team
Version: 2.1.1.1.5.2_2025
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wp-segesit
Requires at least: 4.7
Requires PHP: 5.2.4
Tested up to: 5.4
Tags: Custom theme made by Segesit

*/
/*
    
 ____   ____  ____     __  ____    ____  _____  ____  ___  
|    \ /    ||    \   /  ]|    \  /    ||     ||    |/   \ 
|  o  )  o  ||  _  | /  / |  D  )|  o  ||__/  | |  ||     |
|   _/|     ||  |  |/  /  |    / |     ||   __| |  ||  O  |
|  |  |  _  ||  |  /   \_ |    \ |  _  ||  /  | |  ||     |
|  |  |  |  ||  |  \     ||  .  \|  |  ||     | |  ||     |
|__|  |__|__||__|__|\____||__|\_||__|__||_____||____|\___/ 
                                                           
                
*/
/*@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap'); */
@import url('bs.css');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&display=swap');
:root {
  font-size: 16px;
  --main: #a82e2e;
}
body {
  font-family: 'Crimson Text', serif;
}
#loader {
  position: fixed;
  background: #fff;
  inset: 0;
  z-index: 9999;
}
#loader img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 82%;
}
#top-bar {
  padding: 0 15px;
  transition: .3s;
  position: fixed;
  bottom: -50px;
  right: 0;
  left: 0;
  background: #fff;
  border-top: 4px solid var(--sub);
}
#masthead.open {
  background: #fff !important
}
#top-bar .top-title {
  font-size: 0.95rem;
  padding: .25rem;
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  text-transform: uppercase;
}
.box-shadow {
  box-shadow: rgb(0 0 0 / 30%) 10px 0px 17px -15px;
  min-height: 250px;
}
.testo-l {
  padding: 5rem;
  font-size: 1.25rem;
}
.enfasi-h {
  font-size: 1.55rem !important;
  font-weight: 600;
  color: var(--main);
}
.gruppi {
  padding: 2rem 1rem 4rem;
  color: #ffF;
  padding-top: 4rem;
  line-height: 1.35;
  background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/02/greca-b.png) 0 1rem / auto 23px repeat-x var(--main);
  position: relative;
}
.gruppi:after {
  background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/02/greca-b.png) 0 1rem / auto 23px repeat-x;
  content: "";
  position: absolute;
  bottom: 1rem;
  left: 0;
  right: 0;
  height: 40px
}
.gruppi h2 {
  margin-bottom: .125rem;
  border-bottom: 1px solid;
  margin-bottom: 0.7rem;
  line-height: 1.2;
  padding-bottom: 0.55rem;
}
.gruppi p {
  font-size: 1.35rem !important;
  margin: 0;
  font-weight: 300
}
.gruppi a {
  margin-top: 1rem
}
#contact h2 {
  font-size: 1.725rem
}
#contact a {
  font-size: 1.25rem;
  margin: 0;
  line-height: 1
}
.gruppi p {
  font-size: 1.5rem
}
.gruppi strong {
  font-weight: 600
}
.gruppi .btn {
  border: 2px solid #fff;
}
/* START HEADER */
header#masthead.home {
  position: fixed;
  left: 0;
  top: 0;
  background: #ffffff96;
  right: unset;
  width: 328px;
}
header#masthead.home .logo img {
  width: 278px;
  margin: 0.55rem 0;
}
header#masthead.home button[ background:red;
] .navbar-toggler {
  /* position: absolute; */
  width: 65px;
  display: inline-block;
  height: 65px;
  top: 20px;
  right: 15px;
  transform: translate(-50%, -50%);
  /* position: relative; */
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  padding: 0;
  margin: 0;
}
#video-wrapper .tips {
  position: absolute;
  top: 70%;
  left: 0;
  bottom: 0;
  opacity: 0;
  right: 0;
  color: #fff;
  transform: translateY(-50%);
  text-align: center;
  font-size: 3.5rem;
  text-shadow: 0 0 9px rgb(0 0 0 / 80%);
  transition: .3s;
  z-index: 1;
}
[id*="video-"] .active {
  opacity: 1 !important;
  z-index: 99 !important;
}
#video-wrapper-2 .heading {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  right: 0;
  transform: translateY(-50%);
  color: #fff;
  text-align: center;
  font-size: 2.5rem;
  text-shadow: 0 0 9px rgb(0 0 0 / 80%);
}
#video-wrapper-2 .fake-h {
  margin: 0;
  padding: 0 2rem;
  line-height: 1;
}
#video-wrapper-2 h2 {
  font-size: 1.5rem;
  margin: 0;
  padding: 0 2rem;
}
#video-wrapper h1 small {
  font-size: 1.5rem;
}
div#menu-top button {
  background: var(--main);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 60px;
  left: 0;
  border-radius: 0;
  box-shadow: 14px 0 18px -5px rgb(0 0 0 / 30%) inset;
}
#menu-top #nav-icon3 {
  top: 10px;
  position: absolute;
  left: 1px;
  right: 0;
}
#nav-icon3 span {
  display: block;
  position: absolute;
  height: 4px;
  width: 80%;
  background: #fff;
  border-radius: 3px;
  opacity: 1;
  right: 0;
  left: 10%;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
#nav-icon3 span:nth-child(1) {
  top: 0px;
}
#nav-icon3 span:nth-child(2), #nav-icon3 span:nth-child(3) {
  top: 13px;
}
#nav-icon3 span:nth-child(4) {
  top: 27px;
}
#nav-icon3.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}
#nav-icon3.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
#nav-icon3.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#nav-icon3.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}
header#masthead {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  transition: .3s;
}
#masthead.fisso {
  background: #fff;
  border-bottom: 2px solid var(--main);
}
.fisso .logo img {
  width: 60%;
}
.logo img {
  transition: .3s;
}
.container.logo {
  position: relative !important
}
.xtra-sidebar .textwidget.custom-html-widget {
  position: fixed;
  right: 25px;
  top: 26px;
  width: 250px;
}
.social-area {
  position: fixed;
  right: -80px;
  top: 50%;
  width: 45px;
  background: #fff;
  transform: translateY(-50%);
  transition: .3s
}
.interact .social-area {
  right: 0;
  box-shadow: -10px 0 15px -12px rgba(0, 0, 0, .2)
}
.social-label {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: var(--main);
  padding: .5rem .25rem;
  z-index: 2;
}
.social-area a, #main-nav-hamburger-style li.fb a, #main-nav-hamburger-style li.instagram a {
  background: url('img/sprite.svg') bottom left/400px no-repeat;
  width: 40px;
  display: inline-block;
  height: 40px;
  margin: 0;
  transition: .3s;
  position: relative;
  text-align: right;
}
.social-area a:hover {
  filter: invert(70%) sepia(9%) saturate(0%) hue-rotate(286deg) brightness(92%) contrast(89%);
}
.social-area .fb, #main-nav-hamburger-style li.fb a {
  background-position: 0 2px;
}
.social-area .instagram, #main-nav-hamburger-style li.instagram a {
  background-position: -40px 2px;
}
.social-area .g-map {
  background-position: -160px 2px;
}
.social-area .email-i {
  background-position: -120px 3px;
}
.social-area .wa {
  background-position: -80px 2px;
}
.prenota-btn {
  top: 0;
  right: 0;
  position: fixed;
  font-weight: 700;
  color: var(--main);
  /* border: 2px solid #fff; */
  background: #ffffff8f;
  font-size: 1.6rem;
  border-radius: 0;
  padding: 0 0.8rem;
}
[lang="it-IT"] .ribbon-b p.eng, [lang="it-IT"] .prenota-btn.eng, [lang="it-IT"] #contact .col-md-5.eng, [lang="it-IT"] .openmodal-eng, [lang="it-IT"] #magnet .modal-body.eng, [lang="en-US"] #magnet .modal-body, [lang="en-US"] .ribbon-b p, [lang="en-US"] .prenota-btn, [lang="en-US"] #contact .col-md-5 {
  display: none;
}
[lang="en-US"] .ribbon-b p.eng, [lang="en-US"] .modal-body.eng, [lang="en-US"] .prenota-btn.eng, [lang="en-US"] #contact .col-md-5.eng, [lang="en-US"] .openmodal-eng, [lang="en-US"] #magnet .modal-body.eng {
  display: block;
}
/* END HEADER */
#video-wrapper {
  position: relative;
  overflow: hidden;
  /* background: var(--main); */
  height: 960px;
  position: relative;
}
.heading.captions .video-caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 65%;
  transform: translateY(-50%);
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  z-index: 1;
}
.video-caption h2 {
  font-weight: 700;
  text-align: center;
}
.video-caption h2 span {
  opacity: 1;
  transition: .3s .3s ease-in-out;
}
.video-caption a {
  margin: 0;
  opacity: 0;
  top: -2rem;
  transition: .5s 1.5s;
  position: relative;
  z-index: -1;
  pointer-events: none;
  cursor: auto
}
.tips.active a {
  opacity: 1 !important;
  top: -.725rem;
  z-index: 99;
  pointer-events: auto;
}
.tips.four {
  display: block;
  font-size: 80%;
}
.tips.fixed {
  border-bottom: 2px solid #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  background: var(--sub);
  color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: .5rem 0;
  z-index: 1;
  transition: .3s;
}
.tips.fixed p {
  text-transform: uppercase;
  font-weight: 800;
  margin: 0 1rem;
}
.tips.fixed .cta-main {
  display: inline-block;
  margin: unset;
  font-size: 1rem;
}
.slider-caption h3 {
  font-size: 2rem;
}
.slider-caption .slider-subtitle {
  font-size: 1.4rem;
}
a.cta {
  border: solid 1px #fff;
  color: #fff;
  padding: .7rem 2rem;
  margin-top: 1rem;
  transition: .3s;
  display: block;
  width: fit-content;
  text-align: center;
  margin: 2rem auto 0;
}
a.cta:hover {
  text-decoration: none;
  background: #fff;
  color: #c8051b;
}
a.cta.invert {
  color: var(--main);
  border: solid 1px #585857;
  transition: .3s;
}
a.cta.invert:hover {
  background: var(--main);
  color: #fff;
}
.wpcf7-acceptance input {
  width: 20px;
  height: 20px;
  position: absolute;
  left: -11px;
  top: .125rem;
}
.wpcf7-acceptance span {
  position: relative;
  font-size: .725rem;
  line-height: 1.35;
  vertical-align: top;
  padding-left: .5rem;
  display: block;
}
.wpcf7-spinner {
  display: none
}
.wpcf7-form-control-wrap input, .wpcf7-form-control-wrap textarea, .wpcf7-form-control-wrap select {
  border: none;
  border-bottom: 2px solid var(--main);
  border-radius: 0;
  width: 100%;
  line-height: 1.5;
  min-height: 2.525rem;
  display: block;
  /* margin-bottom: 0.05rem; */
  padding: 0 .5rem;
  margin-top: .125rem;
  outline: none;
  box-shadow: 1px 5px 15px -10px rgba(0, 0, 0, .3) inset;
}
.wpcf7-form-control-wrap textarea {
  max-height: 150px;
  padding: .5rem
}
.wpcf7-form-control-wrap input:focus-visible, .wpcf7-form-control-wrap textarea:focus-visible, .navbar-toggler:focus-visible, .mc-field-group .email:focus-visible {
  outline: none
}
.wpcf7-submit {
  background: var(--main);
  transition: .3s;
  padding: .5rem 1rem;
  font-size: 1.125rem;
  color: #fff;
  width: 100%;
  border: 0;
  font-weight: 700;
  text-transform: uppercase;
}
.wpcf7-submit:hover {
  background: var(--main);
  color: #fff
}
.wpcf7-submit:disabled {
  background: #848484;
}
.form-control {
  border: none;
  border-radius: 0;
  border-bottom: 2px solid #485EA7;
}
.privacy {
  /* padding-left: 3rem; */
  font-size: 0.852rem;
  line-height: 1.3;
  position: relative;
}
.privacy input {
  position: absolute;
  left: -2.5rem
}
#contatto .wpcf7 {
  width: 80%;
}
a {
  color: var(--main);
}
a:hover {
  color: #585857;
  text-decoration: underline;
}
#no-hero-banner .hero-title {
  text-align: center;
}
#no-hero-banner .hero-title .entry-title {
  font-size: 2.5rem;
  font-weight: 900;
  margin-bottom: 0 !important;
}
#post-823 #no-hero-banner {
  padding: 4rem 0;
  min-height: 140px;
}
#hero-banner {
  height: 680px !important;
  min-height: unset !important;
  background-size: cover;
  background-position: center center;
  position: relative;
}
#hero-banner .hero-title {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  transform: translate(-50%, -50%);
  text-transform: uppercase;
  text-shadow: 0 0 8px black;
}
#hero-banner .hero-title .entry-title {
  font-size: 2.25rem;
  font-weight: 900;
  margin-bottom: 0;
}
#hero-banner .hero-title .entry-title + p {
  font-size: 1.35rem;
  text-transform: uppercase;
  letter-spacing: -.01025rem;
  padding: 0;
}
.container.intro-section {
  padding: 2rem;
  text-align: center
}
small {
  display: block
}
#mc-embedded-subscribe-form .mc_fieldset {
  border: none;
  min-height: 0px;
  padding-bottom: 0px;
}
#mc_embed_signup .mc-field-group #mce-EMAIL {
  width: 100%;
}
#mc_embed_signup .asterisk {
  color: #e85c41;
  font-size: 150%;
  font-weight: normal;
  position: relative;
  top: 5px;
  line-height: 0.85;
}
#mergeRow-gdpr {
  margin-top: 20px;
  font-size: .85rem
}
.lem {
  position: absolute;
  color: #000;
  margin-bottom: 0;
  padding: 0 15px;
  line-height: 1.85;
  z-index: +1
}
.mc-field-group .email {
  padding: 1px 6rem;
}
.cf-field-group input[type="text"], .cf-field-group input[type="email"], .cf-field-group textarea {
  padding: 1px 0 1px 7rem;
}
.mc-field-group .subscribe {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  background: var(--main);
  border: 0;
  padding: 0 15px;
  color: #fff;
  transition: .3s;
}
.mc-field-group .subscribe:hover {
  background: var(--sub);
}
[id*="contact-form"] button, [id*="prenota-gruppi"] button {
  position: absolute;
  right: 0;
  top: 0;
  background: #fff;
  color: var(--main);
  font-size: 2.5rem;
  line-height: .9;
  box-shadow: 8px 0 15px -5px rgb(0 0 0 / 44%) inset;
  border: 0;
  padding: 1rem;
  transition: .3s;
}
#magnet .modal-body {
  padding: 0
}
#magnet button, #magnet button span {
  position: absolute;
  inset: 0 0 auto auto;
  background: var(--main);
  padding: .25rem .725rem .5rem;
  z-index: 2;
  opacity: 1;
  font-size: 2.5rem;
  line-height: .8;
  text-shadow: none !important;
}
[id*="prenota-gruppi"] button {
  font-size: 2.1rem;
}
[id*="contact-form"] button:hover, [id*="prenota-gruppi"] button:hover {
  top: 0;
  background: var(--main);
  color: #fff;
}
[id*="contact-form"] .modal-header, [id*="prenota-gruppi"] .modal-header {
  background: var(--main);
  color: #fff;
}
[id*="contact-form"] .modal-body label, [id*="prenota-gruppi"] .modal-body label {
  width: 100%;
}
[id*="contact-form"] input.wpcf7-form-control.wpcf7-submit, [id*="prenota-gruppi"] input.wpcf7-form-control.wpcf7-submit {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  background: var(--main);
  color: #fff;
  transition: .3s;
  border: 2px solid transparent;
  font-size: .975rem;
  text-transform: uppercase;
  border-radius: 0;
  width: 150px;
}
[id*="contact-form"] input.wpcf7-form-control.wpcf7-submit:hover, [id*="prenota-gruppi"] input.wpcf7-form-control.wpcf7-submit:hover {
  transform: translate(-50%) scale(1.1);
  color: var(--main);
  background: #fff;
  box-shadow: 0 15px 15px -10px rgb(0 0 0 / 27%);
  border: 2px solid var(--main)
}
div#second-step .wpcf7 form.sent .wpcf7-response-output {
  position: absolute;
  inset: 0;
  background: #fff;
  font-size: 1.25rem;
  margin: 0;
  font-weight: 600;
  padding-top: 20%;
  text-align: center;
}
[lang='en-US'] div#second-step .wpcf7 form.sent .wpcf7-response-output:after, [lang="en-US"] #prenota-gruppi-redirect .wpcf7 form.sent .wpcf7-response-output:after {
  position: absolute;
  content: "Thank you for your message. Your booking request has been sent.";
  inset: 0;
  background: #fff;
  font-size: 1.25rem;
  margin: 0;
  font-weight: 600;
  padding-top: 20%;
  text-align: center;
}
.wpcf7 form .wpcf7-response-output {
  text-align: center;
  margin-top: 4rem
}
[lang='en-US'] div#second-step .wpcf7 form .wpcf7-response-output,[lang="en-US"] #prenota-gruppi-redirect .wpcf7 form .wpcf7-response-output {
  font-size: 0
}
[lang='en-US'] div#second-step .wpcf7 form .wpcf7-response-output:before, [lang="en-US"] #prenota-gruppi-redirect .wpcf7 form .wpcf7-response-output:before {
  font-size: 1.2rem;
  content: "One or more fields have errors. Please check and try again."
}
.wpcf7 {
  position: relative
}
[id*="contact-form"] p.privacy, [id*="prenota-gruppi"] p.privacy {
  font-size: .725rem
}
.widget_text.footer-bar {
  padding: 2rem 0 0;
  border-bottom: 1px solid var(--main);
  box-shadow: 0 15px 35px -30px rgba(0, 0, 0, .3) inset;
}
.widget_text.footer-bar h4 {
  font-size: 1rem;
  font-weight: 600;
}
.credits {
  background: var(--main);
  font-size: .875rem;
  color: #fff;
  padding-bottom: 3rem !important;
}
.credits a {
  color: #fff
}
div#no-hero-banner {
  min-height: 400px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/var(--main)+0,6d0019+100 */
  background: var(--main);
  /* Old browsers */
  background: -moz-radial-gradient(center, ellipse cover, var(--main) 0%, #6d0019 100%);
  /* FF3.6-15 */
  background: -webkit-radial-gradient(center, ellipse cover, var(--main) 0%, #6d0019 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: radial-gradient(ellipse at center, var(--main) 0%, #6d0019 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='var(--main)', endColorstr='#6d0019', GradientType=1);
  color: #fff
}
#totop {
  position: fixed;
  z-index: 15;
  right: 56px;
  bottom: -56px;
  width: 45px;
  height: 45px;
  text-indent: -9999rem;
  overflow: hidden;
  background: url(img/sprite.svg) -270px 0/450px auto #fff;
  transition: .3s;
}
#totop.up {
  position: fixed;
  z-index: 3;
  right: 56px;
  bottom: 6px;
}
.cta-main {
  padding: .35rem 1.5rem;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  transition: .3s;
  width: fit-content;
  width: -moz-fit-content;
  margin: 0 auto;
  font-size: 1.25rem;
  border: 3px solid;
}
.fotos p {
  font-size: 1.35rem;
  margin-bottom: 0.4rem;
}
.fotos .col-md-8 {
  border-left: 1px solid var(--main)
}
.fotos h2 {
  text-align: right;
  color: var(--main);
  letter-spacing: -.06rem;
}
.fotos {
  padding-top: 6rem;
  background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/02/greca.png) 0 1rem / auto 26px repeat-x;
  padding-bottom: 7rem;
  position: relative;
}
.fotos .col-md-4 {
  PADDING-RIGHT: 1.5REM;
}
.fotos .col-md-8 {
  padding-left: 1.5rem;
}
.fotos strong {
  font-weight: 600;
}
.fotos:after {
  background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/02/greca.png) 0 1rem / auto 26px repeat-x;
  content: "";
  position: absolute;
  bottom: 1rem;
  left: 0;
  right: 0;
  height: 41px;
}
#menu-main {
  display: block;
  border-top: 2px solid var(--main);
  box-shadow: 0 10px 15px -12px rgb(0 0 0 / 20%);
}
#main-nav-hamburger-style {
  position: fixed;
  top: 71px;
  left: 0;
  width: 332px;
  background: #ffffff;
  color: var(--main);
}
#main-nav-hamburger-style li a {
  display: block !important;
  width: 100%;
  color: var(--main);
  text-transform: uppercase;
  font-size: 1.35rem;
  font-weight: 600;
  padding: .5rem .25rem;
  padding: .25rem 0;
  border-bottom: 2px solid #802d2d;
  transition: .3s;
  text-decoration: none;
}
#main-nav-hamburger-style li a:hover {
  border-bottom: 2px solid red !important;
  color: #000
}
#contact small {
  text-transform: uppercase;
  font-size: 1.25rem
}
.calendar {
  position: relative;
  padding: 1.5rem 1rem 1rem;
  border: 2px solid var(--main);
  border-radius: 10px;
  width: 70%;
  display: block;
  margin: 1rem auto;
}
.calendar:after {
  content: "Orari di aperura";
  position: absolute;
  top: -.75rem;
  left: 1.25rem;
  line-height: 1.25;
  background: #f8f9fa;
  padding: 0 .5rem 0 .5rem;
  font-weight: 800;
  color: var(--main);
  text-transform: uppercase;
}
.eng .calendar:after {
  content: "Opening hours";
}
.calendar p {
  margin-bottom: 0;
  text-align: left;
  border-bottom: 1px dashed var(--main);
  position: relative;
  padding: 0 .5rem;
  font-size: 1.25rem;
}
.calendar p:last-of-type {
  border: 0;
}
.calendar p strong {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 .5rem;
}
.menu .card {
  background: #fff;
  border-radius: 0;
  border: none;
}
.menu .card-header {
  background: #fff;
  border-bottom: 1px solid #e40920;
  transition: .3s;
  padding: 0;
}
.menu .card-header button {
  padding: 0;
  color: #e40920;
  background: #fff;
  font-size: 1.125rem;
  text-transform: uppercase;
  font-weight: 600;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none;
  padding: .5rem 1rem;
  transition: .3s;
  display: block;
  width: 100%;
  text-align: left;
}
.menu .card-header button small {
  font-size: 1rem;
  display: inline;
  font-weight: 400
}
.menu .card-header button p {
  font-size: .85rem;
  color: #000;
  font-weight: 400;
  line-height: 1.25;
}
.menu .card-header:hover button, .menu .card-header:hover {
  background: #f4f4f4
}
.menu .card-body p {
  font-size: 1rem;
  position: relative;
  min-height: 44px;
  line-height: 1.85;
  margin-bottom: 0.8rem;
  transition: .3s;
  padding: 0 .5rem
}
.menu .card-body p:hover strong {
  color: #e40920
}
.menu .card-body p:after {
  position: absolute;
  right: 0;
  left: 0;
  top: 1.6rem;
  content: "";
  height: 0;
  border-top: dashed 1px #666;
}
.menu .card-body p span {
  font-size: .875rem;
  display: block;
  position: relative
}
.menu .card-body p strong {
  position: absolute;
  transition: .3s;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.35rem;
  background: #fff;
  padding: .5rem .5rem .5rem 1.5rem;
  z-index: 1;
}
.menu .card-body h3 {
  position: relative;
  left: -.5rem;
  color: #e40920;
  background: #fff;
  font-size: 1.125rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 2rem
}
#menu-r h5 {
  text-align: center;
  display: block;
  font-size: 1.8725rem;
  color: var(--main);
}
#menu-r .modal-header {
  display: block;
  position: relative
}
#menu-r .modal-header button {
  position: absolute;
  right: 0;
  top: 0;
  background: var(--main);
  transform: none;
  margin: 0;
  text-shadow: none;
  opacity: 1;
  color: #fff;
  font-size: 2.5rem;
}
#ajax-modal .modal-body {
  padding: 0;
}
#ajax-modal .close {
  position: absolute;
  right: 0;
  top: 0;
  background: var(--main);
  width: 50px;
  height: 50px;
  z-index: 1;
  opacity: 1;
  color: #fff;
  border-radius: 0 0 0 10px;
  font-size: 1.85rem;
}
#ajax-modal .carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--main);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
}
#ajax-modal .carousel-control.left {
  left: .5rem;
}
#ajax-modal .carousel-control.right {
  right: .5rem;
  text-decoration: none;
}
#ajax-modal .count-slides {
  text-align: center;
  font-size: 1.5rem;
  background: var(--main);
  color: #fff;
}
.page-id-593 #content + #contact {
  display: none;
}
#contact.cnt-page p:not(.calendar p) {
  font-size: 1.25rem;
}
.foto.menu-gruppi-n h2.small:not(.extra-p h2) {
  color: #000;
  border: 0;
  font-weight: 500;
  padding-top: 5rem;
  margin-bottom: 1rem;
  text-transform: none;
}
.foto.menu-gruppi-n h2.small small {
  margin-top: 0.5rem;
  font-size: 65%;
}
.ribbon-b {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 9;
  background: var(--main);
  bottom: 0;
  transition: .3s;
  text-align: center;
  font-size: 1.55rem;
  padding: .5rem;
  color: #fff;
}
.ribbon-b p {
  margin: 0
}
.ribbon-b.up {
  bottom: 0
}
.ribbon-b a {
  color: #fff;
  position: static;
  background: none;
}
.ribbon-b a.prenota-btn {
  border: 1px solid;
  margin-left: 1rem;
}
.cookingclass {
  min-height: 750px;
  position: relative;
  background: url(https://www.gfhjklopiu.info/wp-content/uploads/2024/07/pasta-cooking-class-roma.jpg) center/ 100% #000 no-repeat
}
.cookingclass:before {
  content: "";
  position: absolute;
  inset: 0;
  background: #0000006b
}
.cookingclass img {
  /* display:none; */
}
.cookingclass p {
  color: #fff;
  font-size: 2rem
}
.note {
  font-size: .875rem;
  background: lightyellow;
  text-decoration: underline;
  width: fit-content;
  width: -moz-fit-content;
  padding: .125rem .25rem;
  margin: 1.5rem auto !important
}
#seleziona-menu li {
  list-style: none;
  padding: 0 .5rem;
  font-size: 1.125rem;
  cursor: pointer;
  margin-bottom: .5rem;
  border-bottom: 1px solid var(--main);
  transition: .3s
}
#seleziona-menu li:hover {
  background: var(--main);
  color: #fff
}
#seleziona-menu li p {
  margin: 0 0 .25rem;
  transition: .3s
}
#seleziona-menu .selected {
  font-weight: 900;
  background: var(--main);
  color: #fff
}
#menu-selezionato li {
  transition: .3s;
  cursor: pointer;
  line-height: 1.4;
}
#menu-selezionato li.selected {
  padding: 0 0 0 .5rem;
  font-weight: 900;
  background: var(--main);
  color: #fff
}
.cta-main.ok, .cta-main.modify {
  margin: 1rem auto;
  display: block;
  color: var(--main);
  cursor: pointer;
  font-weight: 900;
}
.cta-main.modify {
  position: absolute !important;
  bottom: -19px;
  background: #fff;
  scale: .8;
  margin: 0;
  left: 50%;
  translate: -50%;
  width: 216px;
  text-align: center;
}
.sel-menu h3, #menu-selezionato h3 {
  position: relative;
  color: var(--main);
  border-bottom: 1px solid;
  padding-bottom: 0 !important;
  font-weight: 700;
}
.sel-menu h3 span, #menu-selezionato h3 span {
  position: absolute;
  right: 0;
  background: var(--main);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  text-align: center;
  line-height: 2.2;
  color: #fff;
}
#menu-selezionato h3 span:after {
  content: "\20AC";
}
.prezzo-wrap, .prezzo-wrap-tot {
  color: var(--main);
  padding: 0rem 1rem;
  text-align: right;
  font-size: 1.25rem;
  border-bottom: 2px solid var(--main);
  border-top: 2px solid var(--main);
  justify-content: space-evenly;
}
.prezzo-wrap-tot {
  border-top: 0
}
#errore-data {
  background: lightyellow;
  font-weight: 600;
}
.row.m-0.p-0.menus {
  align-content: flex-start;
}
.prezzo-wrap span {
  font-weight: 700
}
.menustosel:not(.offset-md-4) {
  transition: .3s;
  box-shadow: 14px -1px 25px -16px rgba(0, 0, 0, .3);
  padding-top: 1rem;
  padding-right: 0;
  text-align: left;
}
.menustosel {
  transition: .3s;
  padding-top: 2rem;
  padding-right: 0;
  text-align: center;
  padding-left: 0;
}
#seleziona-menu {
  padding: 0
}
.menudetails {
  padding-left: 2rem !important;
  padding-top: 1.2rem;
  position: relative;
}
.menudetails ul {
  margin-bottom: 0.5rem;
  border-bottom: 1px dashed #878585;
  padding-bottom: .5rem;
}
input#persone {
  width: 40px;
  margin: 0 0.3rem;
  border: 3px solid var(--main);
  height: 70px;
  width: 70px;
  border-radius: 50%;
  font-size: 1.75rem;
  text-align: center;
}
input#persone[type=number]::-webkit-inner-spin-button, input#persone[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}
.decrement, .increment {
  font-size: 2rem;
  font-weight: 700;
  background: #fff;
  position: relative;
  height: 25px;
  width: 25px;
  line-height: 0.65;
  cursor: pointer;
  color: var(--main)
}
::selection {
  background: var(--main);
  color: #e9ecef
}
#persone::selection {
  background-color: #c4c4c4; /* Giallo chiaro, ad esempio */
  color: #000; /* Nero */
}
.decrement {
  left: 1.25rem
}
.increment {
  left: -1.25rem
}
.menudetails h4 {
  text-align: center;
  font-size: 1.325rem;
  margin-bottom: 0.3rem;
  font-weight: 600;
}
.inverse-cta {
  border-color: var(--main);
  color: var(--main);
  margin: 0.5rem auto;
  display: block;
  cursor: pointer;
  transition: none;
  scale: .9;
}
#day-time input {
  width: 137px;
  border: 0;
  box-shadow: 0 0 15px -5px rgba(0, 0, 0, .3) inset;
  padding: .25rem .5rem;
  margin-left: .5rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--main);
}
#day-time input[type="time"] {
  width: 92px;
  border: 0;
  box-shadow: 0 0 15px -5px rgba(0, 0, 0, .3) inset;
  padding: .25rem .5rem;
  margin-left: 0.4rem;
}
.inverse-cta:hover {
  background: var(--main);
  color: #ffffff;
  transition: .3s;
}
.qtypersone {
  border-bottom: 1px solid var(--main);
  padding-bottom: 0.325rem;
  margin-bottom: 0 !important;
  border-top: 1px solid var(--main);
  padding-top: 0.5rem;
}
.qtypersone .col-md-4 {
  font-size: 1.125rem;
  text-align: right;
  font-weight: 600;
  padding: 0;
}
.qtypersone span i {
  font-weight: 400;
  font-size: 1rem
}
#extra-prod h3 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: .5rem;
  color: var(--main);
  text-align: center;
  text-transform: uppercase;
  margin-top: 1rem;
}
#extra-prod ul {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1rem;
}
#extra-prod ul li {
  width: 100%;
  max-width: 100%;
  flex: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .25rem;
}
#extra-prod .extra-legenda li:first-of-type {
  width: 52%;
  max-width: 50%;
  flex: 50%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#extra-prod ul li > span:nth-of-type(2) {
  width: 56%;
  max-width: 56%;
  flex: 56%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: 0.6rem;
}
#extra-prod ul li > span:nth-of-type(4) {
  /* width: 60px; */
  /* max-width: 60px; */
  /* flex: 60px; */
  /* height:30px; */
  /* display: flex; */
  /* flex-wrap: wrap; */
  /* justify-content: space-between; */
}
#extra-prod ul li > span [data-type] {
  padding-left: 0.7rem;
  text-align: right;
}
#extra-prod ul li > span:nth-of-type(1) {
  width: 24px !important;
  max-width: 24px;
  /* flex: 25px; */
  margin: 0 1% 0 0;
  height: 20px;
  display: block;
  box-sizing: border-box;
}
#extra-prod ul li > span[data-type="checkit"] {
  border: 2px solid #999;
  transition: .3s;
  position: relative;
  cursor: pointer
}
#extra-prod ul li > span[data-type="checkit"].selected {
  border: 2px solid #999;
}
#extra-prod ul li > span[data-type="checkit"].selected:before {
  border-top: 2px solid var(--main);
  border-left: 2px solid var(--main);
}
#extra-prod ul li > span[data-type="checkit"]:before {
  content: "";
  width: 10px;
  height: 20px;
  position: absolute;
  rotate: -135deg;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  top: -.65rem;
  left: .5rem;
  scale: 1.2;
  transition: .3s
}
#extra-prod ul li > span.parziale, #extra-prod ul li > span:nth-of-type(4), #extra-prod ul li > span:nth-of-type(3) {
  width: 16%;
  max-width: 16%;
  flex: 16%;
  margin: 0 1rem 0 0;
  text-align: center;
}
#extra-prod input {
  border: none;
  border-bottom: 2px solid var(--main);
  border-radius: 0;
  width: 53px;
  line-height: 1.4;
  min-height: 2.025rem;
  display: block;
  /* margin-bottom: 0.05rem; */
  padding: 0 .5rem;
  /* margin-top: 0.325rem; */
  outline: none;
  box-shadow: 1px 5px 15px -10px rgba(0, 0, 0, .3) inset;
  padding-right: 0;
  margin: 0 0 0 2rem;
}
#extra-prod .extra-legenda {
  display: flex;
  flex-wrap: wrap;
  padding: 0
}
#extra-prod .extra-legenda li {
  width: 13%;
  max-width: 13%;
  text-align: center;
  margin: 0 1%;
  font-size: 0.775rem;
  text-transform: uppercase;
  display: block;
  text-align: right;
}
.prezzo-extra, .prezzo-wrap-tot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  border-bottom: 2px solid #a82e2e;
  font-size: 1.25rem;
  padding: 0 1rem;
}
.prezzo-extra span, .prezzo-wrap-tot span {
  margin: 0px 0 0 0.55rem;
}
#prezzo-totale {
  text-decoration: line-through !important;
}
.prezzo-wrap-tot-scontato {
  background: var(--main);
  color: #fff;
  padding: .25rem 1rem;
  font-weight: 900;
  text-align: right;
  font-size: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#prezzo-totale-scontato {
  margin-left: 0.55rem;
}
#errore-selezione {
  text-align: center;
  background: yellow;
  font-size: 1.25rem;
  animation: pulse 3s alternate infinite;
  /* height: 0; */
  padding: 0;
  max-height: 34px;
}
@keyframes pulse {
  0 {
    background: yellow
  }
  50% {
    background: orange
  }
  100% {
    background: yellow
  }
}
#menu-selezionato .offerta {
  display: flex;
  flex-wrap: wrap;
}
#menu-selezionato .menu-btn {
  display: none;
}
#menu-selezionato .offerta p:last-of-type, #menu-selezionato .offerta ul:last-of-type {
  margin-bottom: 11px !important;
  padding-bottom: 0 !important;
  border: 0;
}
#menu-selezionato .offerta * {
  max-width: 70%;
  width: 70%;
}
.time-date p {
  margin-bottom: 0.55rem;
  font-size: 1.125rem;
  font-weight: 600;
  padding: 0;
}
#menu-selezionato .offerta p {
  max-width: 30%;
  width: 30%;
  text-align: right;
  padding-right: 1rem;
  border-bottom: 1px dashed #878585;
  margin-bottom: .5rem !important;
  color: var(--main);
}
div#summary {
  list-style: none;
  border: 2px solid var(--main);
  padding: 1rem 1.2rem 3rem;
}
#summary hr {
  display: none
}
#summary b {
  font-weight: 600
}
[lang="it-IT"] #summary .en {
  display: none
}
[lang="en-US"] #summary .it {
  display: none
}
#summary strong:before {
  content: " ("
}
#summary strong:after {
  content: ")"
}
#summary #lista li {
  padding-left: 0;
  list-style: disc;
  margin-left: 1.5rem;
}
#summary #lista li:first-of-type {
  font-size: 1.5rem;
  font-weight: 600;
  padding: 0 0 .5rem 0;
  margin-left: 0;
  list-style: none
}
#summary #lista li:first-of-type {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0;
  padding-bottom: 0;
  list-style: none;
  text-indent: -1rem;
  line-height: 1.3;
}
#summary #lista li:first-of-type:after {
  font-size: 1.15rem;
  content: "Portate scelte";
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
  margin-top: .5rem;
  text-indent: 0;
}
[lang="en-US"] #summary #lista li:first-of-type:after {
  content: "Selected courses";
}
#summary #altra-lista li:nth-last-child(1) {
  font-weight: 900 !important;
  font-size: 1.25rem;
  background: var(--main);
  color: #fff;
  padding-right: 0.55rem
}
#summary #altra-lista li:nth-last-child(1), #summary #altra-lista li:nth-last-child(2), #summary #altra-lista li:nth-last-child(3), #summary #altra-lista li:nth-last-child(4), #summary #altra-lista li:nth-last-child(5), #summary #altra-lista li:nth-last-child(6), #summary #altra-lista li:nth-last-child(7), #summary #altra-lista li:nth-last-child(8) {
  text-align: right;
  width: 100%;
  font-weight: 600;
  border-top: 1px solid;
  padding: 0;
  justify-content: space-evenly;
  list-style: none;
  padding-right: 0.55rem;
  margin-left: 00;
}
#summary #altra-lista li:nth-last-child(2) {
  font-size: 1.25rem;
}
#summary li:nth-last-child(8) {
  margin-top: 1.3rem;
  border-top: 0 !important;
}
#summary .xtra-summary {
  font-weight: 300;
}
#second-step label {
  margin-bottom: 0 !important
}
.others {
  margin-top: 3rem;
  border-top: 1px #a82e2e solid;
  padding-top: 1.6rem;
}
.others p {
  margin: 0
}
.others input, .others textarea {
  box-shadow: 0 0 25px -10px rgba(0, 0, 0, .3) inset
}
[lang='en-US'] div#second-step .wpcf7-not-valid-tip, [lang="en-US"] #prenota-gruppi-redirect .wpcf7-not-valid-tip {
  font-size: 0
}
[lang='en-US'] div#second-step .wpcf7-not-valid-tip:before,[lang="en-US"] #prenota-gruppi-redirect .wpcf7-not-valid-tip:before {
  content: "Please fill in this field.";
  font-size: .975rem
}
#prenota-gruppi-redirect .en {
  display: none
}
[lang="en-US"] #prenota-gruppi-redirect .en {
  display: block;
  max-width: 80%;
  margin: auto
}
[lang="en-US"] #prenota-gruppi-redirect .it {
  display: none
}
[id*="prenota"] iframe {
    height: 1650px;
}
#magnet .modal-dialog {
    max-width: 590px;
}
/*SPLASH*/
.style-to-remove .logo-s {
  display: block;
  margin: auto;
  width: 438px;
  max-width: 448px;
  height: auto;
  padding: .5rem .5rem 1rem;
  transition: .3s
}
.style-to-remove textarea {
  background: #fff !important;
}
.style-to-remove label {
  font-size: .875rem;
  display: block;
  width: 85%;
  margin: 0 auto;
  margin-bottom: .5rem
}
.style-to-remove .submit {
  width: 250px;
  width: fit-content !important;
  width: -moz-fit-content;
}
.style-to-remove #masthead {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  background: #fff;
  transition: .3s
}
.style-to-remove #masthead.fisso .logo-s {
  width: 310px
}
.style-to-remove .info {
  padding: .25rem .5rem;
  position: fixed;
  bottom: 0;
  background: #fff;
  left: 0;
  right: 0;
  z-index: 9;
  box-shadow: 0 -15px 25px -20px rgba(0, 0, 0, 0.3);
}
.style-to-remove .info p {
  margin-bottom: .25rem;
  font-size: .925rem;
}
.style-to-remove .info a.btn {
  margin-bottom: .25rem;
  font-size: .925rem;
  color: #fff;
  border-radius: 0;
  margin: 0 1rem;
  background: var(--main);
  padding: .125rem 1rem;
}
.style-to-remove .info a {
  padding: 0;
  position: relative
}
.style-to-remove .kvs button {
  position: absolute;
  background: var(--main);
  opacity: 1;
  left: unset;
  padding: 1rem;
  top: -1rem;
  z-index: 999;
  right: 0;
  transform: none
}
.style-to-remove .dopo, .style-to-remove .prima {
  position: absolute;
  font-size: 2.8rem;
  font-weight: 800;
  background: #ffffff;
  top: 50%;
  z-index: 999;
}
.actual {
  border-right: 1px solid;
  padding-right: .25rem;
  margin-right: .125rem
}
.dopo {
  right: -1rem;
}
.prima {
  left: -1rem
}
.style-to-remove h1, .style-to-remove .info p:first-of-type {
  text-align: center;
  font-size: .825rem;
  text-transform: uppercase;
  margin: 0 0;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid var(--main);
}
.style-to-remove h2 {
  font-size: 1.25rem;
  text-transform: uppercase;
  padding: 0 2rem
}
.style-to-remove .gruppi-old h2 {
  font-size: 1.75rem;
  text-transform: uppercase;
  padding: 0 2rem;
  font-weight: 700;
  color: var(--main);
}
.style-to-remove .gruppi-old .col-md-5 {
  padding: 2rem 3.5rem;
}
.style-to-remove .wpcf7-submit {
  width: fit-content;
  width: -moz-fit-content;
  margin: auto;
  display: block;
}
.style-to-remove .privacy {
  font-size: .785rem;
  margin-bottom: 1rem
}
.style-to-remove .foto {
  text-align: center;
  background: #fff;
  padding-bottom: 2.9rem;
  padding-top: 0.7rem;
  box-shadow: 0 15px 25px -15px rgb(0 0 0 / 30%);
}
.style-to-remove .foto + .row iframe {
  mix-blend-mode: multiply
}
.style-to-remove .foto h2 {
  font-size: 1.35rem;
  font-weight: 600
}
.style-to-remove .orari > p:first-of-type {
  font-weight: 600;
  padding-top: 2rem;
  font-size: 1.25rem;
}
.style-to-remove .foto h2.small, .style-to-remove .menu h2.small {
  font-size: 1.45rem;
  font-weight: 600;
  margin-top: 2rem;
  border: 0;
  padding: 0 1.1rem;
}
.style-to-remove .foto .enfasi {
  font-size: 1.25rem;
  font-weight: 500;
  border-top: 1px solid var(--main);
  margin-bottom: 0.8rem;
  padding: 0 1rem
}
.style-to-remove .foto p {
  font-size: 1.125rem;
  /* border-bottom: 1px solid var(--main); */
  margin-bottom: .25rem;
}
.style-to-remove .foto img {
  border: 15px solid #fff;
  width: 50%;
  height: auto;
}
.style-to-remove {
  background: rgb(255, 255, 255);
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 41%, rgba(222, 222, 222, 1) 100%);
}
.style-to-remove {
  text-align: center;
  padding-bottom: 0.9rem;
}
#heading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}
.style-to-remove a.get-ajax.btn, .menu-btn {
  background: var(--main);
  color: #ffF;
  font-weight: 600;
  text-transform: uppercase;
  transition: .3s;
  font-size: 1.125rem;
  margin-top: 1rem;
}
.style-to-remove button.btn {
  background: var(--main);
  color: #fff;
  border-radius: 0;
  margin: 1rem auto;
  font-weight: 700;
  outline: 0 !important;
  font-size: 1.25rem;
}
.style-to-remove .gallery img {
  width: 100%;
  height: auto
}
.style-to-remove button.btn:hover, .style-to-remove a.get-ajax.btn:hover, .menu-btn:hover {
  box-shadow: 0 8px 5px -3px rgba(0, 0, 0, .3);
  color: #fff;
  background: #df0202
}
.immagine {
  background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/01/pancrazio-ristorante-roma-centro-capo-de-fiori-2.jpg) top center/100% auto fixed no-repeat;
  height: 661px;
}
.immagine-gruppi {
  height: 870px;
}
.immagine-gruppi img {
  width: 100%;
  height: auto
}
.text-h p {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: .25rem
}
.info-menu-gruppi p {
  text-align: center;
  font-size: 1.35rem;
  margin-bottom: 3rem
}
.foto.menu-gruppi-n h2 {
  font-size: 1.85rem;
  text-transform: uppercase;
  text-align: center;
  font-weight: 900;
  margin-bottom: 2rem;
  padding-bottom: .5rem;
  color: var(--main);
  padding-top: .5rem;
  border-bottom: 2px solid var(--main);
  border-top: 2px solid var(--main);
}
.foto.menu-gruppi-n .btn.menu-btn {
  margin: .5rem auto 4rem;
  display: block;
  width: fit-content;
  width: -moz-fit-content
}
.foto.menu-gruppi-n h3 {
  font-size: 1.7rem;
  text-transform: uppercase;
  font-weight: 900;
  padding-bottom: 0.3rem;
  text-align: left !important;
}
.foto.menu-gruppi-n p {
  font-size: 1.25rem;
  padding-left: 0.5rem;
}
#video-wrapper-gruppi.landing-gruppi:before {
  content: "sss";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #00000080
}
#video-wrapper-gruppi.landing-gruppi h1 {
  font-size: 2.7rem;
  top: 0;
  position: relative;
}
#video-wrapper-gruppi.landing-gruppi h1 + p {
  font-size: 1.35rem;
  position: relative;
}
#video-wrapper-gruppi.landing-gruppi h1 + p strong {
  display: block;
  font-size: 1.7rem;
  font-weight: 600
}
#video-wrapper-gruppi.landing-gruppi .heading {
  position: absolute;
  inset: 50% auto auto 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  color: #fff;
}
.info-menu-gruppi p {
  margin-bottom: 1.5rem
}
.foto.menu-gruppi-n ul {
  font-size: 1.25rem;
  padding: 0 .5rem;
  margin: 0px 0 1.15rem;
}
.mobile .extra-p h2, .mobile .extra-p .fake-h2 {
  font-size: 1.35rem !important
}
.extra-p h2, .extra-p .fake-h2 {
  font-size: 1.5rem !important;
  border: none;
  width: 90%;
}
.foto.menu-gruppi-n li {
  font-size: 1.125rem;
  line-height: 1.4;
}
.extra-p {
  border: 2px solid var(--main);
  position: relative;
  padding: 3rem 1rem 1rem;
  margin-bottom: 5rem;
}
.extra-p li {
  font-size: 1.35rem;
  border-right: 1px solid #827f7f
}
.extra-p li strong {
  display: block
}
.extra-p li:last-child {
  border: none
}
.extra-p h2, .extra-p .fake-h2 {
  position: absolute;
  top: -1rem;
  padding: 0 .5rem;
  left: 0;
  right: 0;
  width: fit-content;
  width: -moz-fit-content;
}
.extra-p h2.small, .extra-p .fake-h2 {
  background: #fff;
  display: block;
  margin: 0 auto;
  padding: 0 1rem
}
.extra-p .fake-h2 {
  color: var(--main);
  text-transform: uppercase;
  font-weight: 900;
  top: unset;
  bottom: -1rem;
}
.ricevimenti .extra-p {
  padding: 2rem 1rem 1.5rem;
  margin-bottom: 1rem;
}
#video-wrapper-gruppi .heading {
  position: absolute;
  inset: 70% auto auto 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  color: #fff;
}
#heading-gruppi-n.position-absolute {
  inset: 70% auto auto 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  color: #fff;
}
#heading-gruppi-n h1, #video-wrapper-gruppi h1 {
  font-size: 3rem
}
.page-id-377 .carousel {
  background: #000
}
.page-id-377 .carousel-inner {
  opacity: .87
}
.immagine-gruppi h1 {
  font-size: 1.4rem;
  text-shadow: 0 0 3px rgb(0 0 0 / 30%), 0 0 18px rgb(0 0 0 / 100%);
}
.immagine-gruppi h2, #video-wrapper-gruppi h2 {
  font-size: 1.75rem;
  text-shadow: 0 0 3px rgb(0 0 0 / 30%), 0 0 18px rgb(0 0 0 / 100%);
}
.immagine-gruppi .bigger, #video-wrapper-gruppi .bigger {
  font-size: 1.75rem;
  ;
}
.style-to-remove .menu h2.small {
  border-bottom: 1px solid var(--main);
  margin-bottom: 2rem;
}
.style-to-remove .menu h3 {
  background: var(--main);
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  padding: .25rem 0;
}
.style-to-remove .menu .row strong {
  text-align: left;
  color: var(--main);
  display: block;
  /* text-align: center; */
  text-transform: uppercase;
  padding: .25rem;
  font-size: 1rem;
  border-bottom: 1px solid var(--main);
}
.style-to-remove .menu ul {
  text-align: left;
  padding: .5rem;
}
.style-to-remove .menu ul li {
  border-bottom: 1px dashed;
  padding: .25rem .85rem;
}
.extra-p ul {
  display: grid;
  grid: auto / 25% 25% 25% 25%;
  padding: 0;
}
.extra-p ul li {
  border-bottom: 0 !important;
  border-right: 1px dashed;
  text-align: center;
}
.style-to-remove .menu ul li:last-of-type {
  border: 0;
}
#prenota-gruppi label {
  width: 100%;
  font-size: 1rem;
  text-align: right;
}
.info-menu {
  position: fixed;
  bottom: 3.7rem;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 2px solid var(--main);
  padding: .25rem;
}
.info-menu p {
  font-weight: 700;
  color: var(--main);
  text-transform: uppercase;
}
a.get-ajax.btn {
  overflow: hidden;
  padding: 0;
  width: 33.333%
}
a.get-ajax img {
  width: 100%;
  height: auto;
}
.ricevimenti .row:nth-child(2) .col-12 {
  border-top: 2px solid var(--main);
  border-bottom: 2px solid var(--main);
  margin: 3rem 0;
  padding: 4rem 3rem 3rem !important;
}
/* MEDIA QUERY */
@media (max-width: 1566px) {
  .testo-l {
    padding: 3rem;
    font-size: 1.25rem;
  }
  .testo-l .enfasi-h {
    font-size: 1.35rem
  }
  .testo-l p {
    padding: 0 2rem
  }
}
@media (max-width: 1280px) {
  [id*="prenota"] iframe {
    height: 1800px;
  }
    #magnet .modal-dialog {
        max-width: 630px;
    }
}
@media (max-width: 640px) {
  :root {
    font-size: 16px;
  }
  .mobile .prenota-btn{
    display:none!important
  }
  .mobile #main-nav-hamburger-style {
    position: fixed;
    top: 56px;
    left: 0;
    width: 100%;
    background: #ffffff;
    color: var(--main);
  }
  .mobile .ribbon-b {
    font-size: 1rem;
  }
  .mobile .ribbon-b.up {
    bottom: 2.5rem;
  }
  .mobile .ribbon-b .prenota-btn {
    display: block!important;!importan;!importa;!import;!impor;!impo;!imp;!im;!i;!;
  }
  .mobile #main-nav-hamburger-style li.fb, .mobile #main-nav-hamburger-style li.instagram {
    display: inline-block;
    padding-bottom: .85rem;
  }
  .mobile #main-nav-hamburger-style li.fb a, .mobile #main-nav-hamburger-style li.instagram a {
    font-size: 0;
    border-bottom: 0 !important;
  }
  .mobile .foto.menu-gruppi-n, .mobile .foto.menu-gruppi-n .box-shadow {
    box-shadow: rgb(0 0 0 / 30%) 0px 10px 17px -15px;
    margin-bottom: 2rem
  }
  .mobile .extra-p {
    padding-top: 0
  }
  .mobile .cookingclass {
    min-height: 680px;
    position: relative;
    background: url(https://www.gfhjklopiu.info/wp-content/uploads/2024/07/pasta-cooking-class-roma.jpg) top center/ 120% #000 no-repeat
  }
  .mobile .cookingclass img {
    width: 100%
  }
  .mobile .cookingclass .col-md-6 {
    padding-top: 15rem
  }
  .mobile .cookingclass p {
    font-size: 1.5rem
  }
  .mobile .ricevimenti .extra-p {
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .mobile .extra-p ul {
    grid: auto / 50% 50%;
    padding: 2rem 0 0 !important;
  }
  .mobile .extra-p ul li {
    border: none !important;
    padding: 1rem .5rem;
  }
  .mobile .ricevimenti .extra-p ul {
    grid: auto / 100%;
    padding-top: 0 !important;
  }
  .mobile .ricevimenti .extra-p ul li {
    padding-top: 0;
    padding-bottom: 0;
  }
  .mobile .ricevimenti .extra-p ul li:not(:last-of-type) {
    border-bottom: 1px solid var(--main) !important;
  }
  .mobile .ricevimenti.testo-l .col-md-6:nth-child(2) {
    padding: 2rem 15px 0 !important;
  }
  .mobile .extra-p .fake-h2 {
    position: static;
    padding-top: 2rem
  }
  .mobile .foto.menu-gruppi-n, .mobile .foto.menu-gruppi-n h3 {
    text-align: center !important;
  }
  .mobile .heading.captions .video-caption .tips {
    padding: 0px 2rem !important;
  }
  .mobile .heading.captions .video-caption h1 {
    font-size: 1.5rem
  }
  .mobile .heading.captions .video-caption h2 {
    font-size: 1rem;
  }
  .mobile .heading.captions .video-caption small {
    font-size: .9rem;
  }
  .mobile .gruppi p br {
    display: none
  }
  .mobile header#masthead.home {
    background: #ffffff96;
    right: 0;
    width: 100%;
  }
  .mobile header#masthead.home .col-md-10 {
    width: 83.13333%;
  }
  .mobile #contact {
    padding: 3rem 0 0
  }
  .mobile header#masthead.home .col-2 {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 60px;
  }
  .mobile #video-box {
    padding-top: 0;
  }
  .mobile header#masthead.home .logo {
    /* display: block; */
    text-align: right;
    margin: 0;
  }
  .mobile header#masthead.home .logo img {
    width: 248px;
    display: block;
    margin: 0.25rem 0;
  }
  [id*="prenota"] .modal-header {
    width: 100%;
    max-width: 100%;
    display: block
  }
  [id*="prenota"] .modal-header p {
    font-size: .875rem;
    margin-bottom: 0
  }
  [id*="prenota"].modal .modal-header button {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    margin: 0;
    background: var(--main);
    font-size: 2rem;
    line-height: 1;
    padding: 0;
    left: unset;
    text-shadow: none;
    color: #fff;
    opacity: 1 !important
  }
  .mobile .testo-l {
    padding: 2.4rem 1.5rem;
  }
  .mobile .ricevimenti .row:nth-child(2) .col-12 {
    padding: 2.4rem 1.5rem !important;
  }
  .mobile a.get-ajax {
    width: 100% !important;
  }
  .mobile [id*="prenota"] iframe {
    height: 2000px;
  }
  .mobile .row.m-0.p-0.menus {
    padding-bottom: 8rem !important
  }
  .mobile .foto.menu-gruppi-n p {
    padding-left: 0
  }
  .mobile .foto.menu-gruppi-n .ml-4 {
    margin-left: 0 !important;
    padding: 2rem 15px;
  }
  .mobile #menu-r .py-5 {
    padding: 0 !important
  }
  .mobile .card-body {
    padding: .5rem 0
  }
  .mobile .menu .card-body p {
    padding-right: 4rem;
    font-size: 1.025rem;
    margin-bottom: 0.4rem;
    min-height: 38px;
  }
  .mobile .menu .card-header button {
    font-size: 1.4rem;
  }
  .mobile .menu .card-body p strong {
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.35rem;
    padding: .5rem 0 .5rem .5rem;
  }
  .mobile .accordion > .card > .card-header {
    margin-bottom: .5rem
  }
  .mobile #heading-gruppi-n, .mobile #video-wrapper-gruppi .heading {
    left: 0;
    right: 0;
    transform: translateX(0);
  }
  .mobile #heading-gruppi-n h1, .mobile #video-wrapper-gruppi h1 {
    font-size: 1.5rem;
    padding: 0;
    margin: 0;
    text-shadow: none;
    /* color: var(--main); */
  }
  .mobile #heading-gruppi-n h2, .mobile #video-wrapper-gruppi h2 {
    font-size: 1.2rem;
    text-shadow: none;
    /* color: var(--main); */
  }
  .mobile #video-wrapper-gruppi .bigger {
    font-size: 1rem;
  }
  .mobile .ribbon-b .btn.prenota-btn {
    display: none;
    width: fit-content;
    margin: .5rem auto 0;
    font-size: 1.2rem;
  }
  .mobile .immagine-gruppi, .mobile #video-wrapper-gruppi {
    height: auto !important;
  }
  .mobile.style-to-remove .gruppi-old h2 {
    padding: 0;
    font-size: 1.5rem
  }
  .mobile.style-to-remove .gruppi-old br {
    display: none
  }
  .mobile.style-to-remove .menu h2.small {
    font-size: 2rem
  }
  .mobile.style-to-remove .gruppi-old .col-md-5 {
    padding: 2rem 1.5rem;
  }
  .mobile.page-id-108 .wa:before {
    display: none
  }
  .mobile .social-area {
    bottom: -50px;
    top: unset;
    transform: none;
    right: 0;
    left: 0;
    vertical-align: top;
    width: 100%;
    z-index: 99;
    transition: .3s;
    height: 40px;
    text-align: revert;
  }
  .mobile .social-area .fb, .mobile .social-area .instagram {
    display: none
  }
  .mobile.interact .social-area {
    bottom: 0
  }
  .mobile .social-area a {
    margin: 0px 0.25rem;
    vertical-align: top;
    /* padding: 0 1.25rem; */
    box-shadow: 5px 0 16px -10px rgb(0 0 0 / 30%);
  }
  .mobile #CookiebotWidget:not(.CookiebotWidget-inactive) {
    left: 0;
  }
  .mobile .social-area a.d-none {
    display: inline-block !important;
    position: static;
    width: fit-content;
    width: -moz-fit-content;
    transform: none;
    top: unset;
    font-size: 1.5rem;
    background: var(--main);
    color: #fff;
    line-height: 1.8;
  }
  .mobile .info-menu {
    position: static
  }
  .mobile .immagine-gruppi #heading {
    width: 100%;
    padding-top: 1rem;
    position: static;
    transform: none;
    background: #fff;
    color: var(--main);
    text-shadow: none
  }
  .mobile .immagine-gruppi .carousel-inner {
    width: 100%;
    position: relative;
    height: 400px;
  }
  .mobile .immagine-gruppi img {
    height: 590px;
    width: auto;
    position: absolute;
    left: 50%;
    transform: translatex(-50%);
  }
  .mobile.page-id-593 .immagine-gruppi img {
    position: static;
    transform: none;
  }
  .mobile.page-id-735 .immagine-gruppi img {
    position: static;
    transform: translatex(-30%);
  }
  .mobile .full-h:not(.page-id-561), .mobile .full-h:not(.page-id-735) {
    height: unset !important;
    min-height: unset;
    position: relative;
    border: none;
  }
  .mobile.page-id-561 .full-h {
    height: unset;
    min-height: inherit;
    position: relative;
    border: none;
  }
  .mobile .calendar {
    padding: 1rem 1.6rem;
    width: 97%;
  }
  .mobile #contact button {
    margin-bottom: 3rem;
  }
  .style-to-remove #heading {
    width: 68%;
  }
  .style-to-remove .logo-s {
    width: 90% !important
  }
  .immagine {
    background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/01/pancrazio-ristorante-roma-centro-capo-de-fiori-m.jpg) top/auto 440px no-repeat;
    height: 460px;
  }
  .style-to-remove .foto img {
    border: 15px solid #fff;
    width: 100%;
    height: auto;
  }
  .mobile.style-to-remove button {
    background: var(--main);
    color: #fff;
    border-radius: 0;
    margin: 0;
    font-weight: 700;
    outline: 0 !important;
    position: absolute;
    top: unset;
    left: 0%;
    right: 0;
    bottom: 0;
    transform: none;
    font-size: 1.25rem;
  }
  .mobile .fotos {
    background: url(https://www.gfhjklopiu.info/wp-content/uploads/2023/02/greca.png) 0 1rem / auto 26px repeat-x;
    position: relative;
    text-align: center;
    padding: 4rem 15px;
  }
  .mobile .fotos .col-md-4 {
    PADDING: .25REM;
  }
  .mobile .fotos h2 {
    text-align: center;
    font-size: 1.725rem;
    margin-bottom: 1rem
  }
  .mobile .testo-l p {
    padding: 0
  }
  .mobile .fotos .col-md-8 {
    border: 0;
    /* padding: 0 .5rem; */
  }
  .style-to-remove .info {
    padding: .5rem 0rem 0;
  }
  .mobile.style-to-remove h1 {
    font-size: 0.6725rem;
    margin-bottom: .25rem;
  }
  .mobile.style-to-remove .info a {
    display: block;
    font-size: 1rem;
    line-height: 1.2;
    margin-top: .25rem;
  }
  .mobile.style-to-remove .info p {
    font-size: 0 !important
  }
  .mobile.style-to-remove .info .btn {
    width: fit-content !important;
    margin: 0.35rem auto 0;
  }
  .mobile .break {
    display: none
  }
  .mobile.style-to-remove .orari > p:first-of-type {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
  .mobile.style-to-remove label {
    width: 100%;
  }
  .mobile .credits {
    padding-bottom: 3rem !important;
  }
  .mobile .time-date p span {
    display: block
  }
  .mobile .time-date p {
    width: auto;
    max-width: unset;
    margin: .5rem 0.6rem 0;
  }
  .mobile .time-date p label {
    text-align: center !important
  }
  .mobile .qtypersone .col-md-4 {
    text-align: center;
    margin-bottom: 1rem;
  }
  .mobile #errore-data {
    text-align: center;
    width: 100%
  }
  .mobile .menudetails {
    padding: 0 .5rem !important
  }
  .mobile #extra-prod .extra-legenda li {
    font-size: .63rem;
  }
  .mobile .time-date .col-md-8 {
    padding: 0;
    margin: auto !important;
    /* display: flex; */
    justify-content: center;
  }
  .mobile .time-date .col-md-5 {
    padding: 0;
    margin-left: 0 !important
  }
  .mobile .prezzo-wrap-tot-scontato {
    font-size: 1rem
  }
  .mobile #prenota-gruppi .modal-body {
    padding: 0 .25rem
  }
  .mobile #errore-selezione {
    font-size: 1.125rem
  }
}
