/* ------------------------------------------------------------------
   divi-base.css
   Ricostruzione delle parti di Divi 3.0.47 usate da questo sito.
   Il file originale (wp-content/themes/Divi/style.css) non e' stato
   archiviato dalla Wayback Machine: e' un tema commerciale e il
   dominio non risponde piu'. Questo file rimpiazza solo cio' che
   serve alle pagine ricostruite: reset, griglia, header, moduli
   del Divi Builder effettivamente presenti nell'HTML.
   Gli <style> inline generati dal Builder restano nelle pagine e
   vincono su queste regole, quindi colori e spaziature originali
   sono preservati.
   ------------------------------------------------------------------ */

/* --- reset --- */
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  color: #666;
  font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7em;
  background-color: #fff;
  overflow-x: hidden;
}
*, *:before, *:after { box-sizing: border-box; }
a { color: #2ea3f2; text-decoration: none; }
p { padding-bottom: 1em; margin: 0; }
p:last-of-type { padding-bottom: 0; }
h1, h2, h3, h4, h5, h6 {
  color: #333;
  padding-bottom: 10px;
  margin: 0;
  line-height: 1em;
  font-weight: 500;
}
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }
ul, ol { padding: 0 0 23px 1em; margin: 0; }
img { max-width: 100%; height: auto; border: 0; }
hr { border: 0; border-top: 1px solid #ccc; }
strong { font-weight: bold; }
.clearfix:after { content: ""; display: table; clear: both; }

/* --- contenitori --- */
#page-container { position: relative; }
.container {
  position: relative;
  width: 80%;
  max-width: 1080px;
  margin: auto;
}
.container:after { content: ""; display: table; clear: both; }

/* --- top header (barra oro con email + social) --- */
#top-header {
  background-color: #ccac2e;
  width: 100%;
  left: 0;
  color: #0a0a0a;
  font-size: 12px;
  line-height: 1em;
  position: relative;
  z-index: 100;
}
#top-header .container { padding: 0.75em 0; font-size: 12px; }
#et-info { float: left; }
#et-info a { color: inherit; }
#et-secondary-menu { float: right; }
#et-secondary-menu > ul {
  float: left;
  padding: 0;
  margin: 0;
  list-style: none;
}
#et-secondary-menu > ul > li { float: left; margin-right: 1em; position: relative; }
#et-secondary-menu > ul > li > a { color: inherit; }
#et-secondary-nav { display: none; }
/* Divi duplica le icone social per il menu mobile: il doppione resta nascosto. */
.et_duplicate_social_icons { display: none; }
@media all and (max-width: 980px) {
  #et-info .et-social-icons { display: none; }
  .et_duplicate_social_icons { display: inline-block; }
}

/* --- header principale (nero, logo + menu) --- */
#main-header {
  background-color: #191919;
  width: 100%;
  position: relative;
  z-index: 99;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}
.et_fixed_nav #main-header { position: fixed; }
.et_fixed_nav #top-header { position: fixed; top: 0; }
.et_fixed_nav.et_secondary_nav_enabled #main-header { top: 33px; }
.et_fixed_nav #page-container { padding-top: 113px; }
#main-header .container { padding-top: 0; }
.logo_container {
  float: left;
  height: 76px;
  position: relative;
  z-index: 3;
  width: 25%;
}
.logo_helper { display: inline-block; height: 100%; vertical-align: middle; }
#logo {
  display: inline-block;
  float: none;
  max-height: 76px;
  vertical-align: middle;
  width: auto;
  margin-bottom: 0;
}
#et-top-navigation { float: right; padding-top: 26px; }
#top-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  float: left;
}
#top-menu li {
  display: inline-block;
  position: relative;
  padding-right: 22px;
  font-size: 14px;
}
#top-menu li:last-child { padding-right: 0; }
#top-menu > li > a {
  color: rgba(255, 255, 255, 0.6);
  padding-bottom: 14px;
  display: block;
  text-transform: uppercase;
  transition: color 0.2s;
}
#top-menu > li > a:hover,
#top-menu li.current-menu-item > a,
#top-menu li.current_page_item > a { color: #fff; }
/* sottomenu */
#top-menu li ul {
  position: absolute;
  top: 100%;
  left: 0;
  padding: 20px 0;
  margin: 0;
  list-style: none;
  background-color: #191919;
  width: 240px;
  text-align: left;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 200;
}
#top-menu li:hover > ul { visibility: visible; opacity: 1; }
#top-menu li ul li { display: block; padding: 0 20px; width: 100%; }
#top-menu li ul li a { color: rgba(255, 255, 255, 0.7); display: block; padding: 6px 0; }

/* --- ricerca e menu mobile --- */
#et_top_search { float: right; margin: 3px 0 0 22px; }
#et_search_icon:before {
  content: "\1F50D";
  font-size: 17px;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
}
.et_search_outer { display: none; }
.et_mobile_menu {
  position: absolute;
  left: 0;
  padding: 5%;
  background: #191919;
  width: 100%;
  visibility: visible;
  opacity: 1;
  display: none;
  z-index: 9999;
  border-top: 3px solid #ccac2e;
  list-style: none;
  margin: 0;
}
.et_mobile_menu li a { color: rgba(255, 255, 255, 0.6); display: block; padding: 10px 5%; border-bottom: 1px solid rgba(255,255,255,0.1); }
.et_mobile_menu.opened { display: block; }
.mobile_menu_bar { display: none; position: relative; float: right; }
.mobile_menu_bar:before {
  content: "\2261";
  font-size: 32px;
  line-height: 1;
  color: #ccac2e;
  cursor: pointer;
}
.mobile_nav { position: relative; }

/* --- sezioni del builder --- */
.et_pb_section {
  position: relative;
  background-color: #fff;
  background-position: center;
  background-size: cover;
  padding: 4% 0;
}
.et_pb_section.et_pb_fullwidth_section { padding: 0; }
.et_pb_section.et_pb_with_background { background-repeat: no-repeat; }
.et_pb_row {
  position: relative;
  width: 80%;
  max-width: 1080px;
  margin: auto;
  padding: 2% 0;
}
.et_pb_row:after { content: ""; display: table; clear: both; }
.et_pb_row_fullwidth { width: 100% !important; max-width: 100% !important; }
.et_pb_column {
  float: left;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 9;
  min-height: 1px;
}
.et_pb_column:last-child { margin-right: 0 !important; }
/* gutter 3 (default) */
.et_pb_column_4_4 { width: 100%; }
.et_pb_column_1_2 { width: 47.25%; margin-right: 5.5%; }
.et_pb_column_1_3 { width: 29.6667%; margin-right: 5.5%; }
.et_pb_column_1_4 { width: 20.875%; margin-right: 5.5%; }
/* gutter 1 = nessuno spazio tra colonne */
.et_pb_gutters1 .et_pb_column_4_4 { width: 100%; margin-right: 0; }
.et_pb_gutters1 .et_pb_column_1_2 { width: 50%; margin-right: 0; }
.et_pb_gutters1 .et_pb_column_1_3 { width: 33.333%; margin-right: 0; }
.et_pb_gutters1 .et_pb_column_1_4 { width: 25%; margin-right: 0; }
/* gutter 2 */
.et_pb_gutters2 .et_pb_column_1_2 { width: 48.5%; margin-right: 3%; }
.et_pb_gutters2 .et_pb_column_1_3 { width: 31.333%; margin-right: 3%; }
.et_pb_gutters2 .et_pb_column_1_4 { width: 22.75%; margin-right: 3%; }
.et_pb_equal_columns { display: flex; flex-wrap: wrap; }
.et_pb_equal_columns > .et_pb_column { float: none; display: flex; flex-direction: column; }
.et_pb_column_empty { min-height: 1px; }
.et_pb_module { margin-bottom: 30px; }
.et_pb_module:last-child { margin-bottom: 0; }

/* testo chiaro sulle sezioni scure */
.et_pb_bg_layout_dark,
.et_pb_bg_layout_dark h1, .et_pb_bg_layout_dark h2, .et_pb_bg_layout_dark h3,
.et_pb_bg_layout_dark h4, .et_pb_bg_layout_dark h5, .et_pb_bg_layout_dark h6,
.et_pb_bg_layout_dark p, .et_pb_bg_layout_dark a { color: #fff; }

.et_pb_text_align_left { text-align: left; }
.et_pb_text_align_center { text-align: center; }
.et_pb_text_align_right { text-align: right; }
.et_pb_text > :last-child { padding-bottom: 0; }

/* immagini */
.et_pb_image { margin-left: auto; margin-right: auto; line-height: 0; }
.et_pb_image img { max-width: 100%; }
.et_pb_image.aligncenter, .aligncenter { text-align: center; display: block; margin-left: auto; margin-right: auto; }
.alignnone { display: inline-block; }
.et_always_center_on_mobile { text-align: center; }
.et_pb_image_sticky { margin-bottom: 0 !important; }

/* divider */
.et_pb_divider { margin: 0 0 30px; position: relative; }
.et_pb_divider:before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.et_pb_divider_hidden:before { border: none; }
.et_pb_divider_internal { display: block; }
.et_pb_space { margin-bottom: 30px; }

/* call to action / promo */
.et_pb_promo {
  padding: 40px;
  text-align: center;
  position: relative;
}
.et_pb_promo_description { position: relative; }
.et_pb_promo_description h2 { padding-bottom: 10px; }

/* bottoni */
.et_pb_button {
  font-size: 20px;
  font-weight: 500;
  padding: 0.3em 1em;
  line-height: 1.7em;
  border: 2px solid;
  border-radius: 3px;
  display: inline-block;
  color: inherit;
  transition: all 0.2s;
}
.et_pb_button:hover { padding: 0.3em 2em 0.3em 0.7em; }
.et_pb_button_alignment_center { text-align: center; }
.et_pb_button_module_wrapper { margin-bottom: 30px; }
.et_pb_bg_layout_dark .et_pb_button { color: #fff; border-color: #fff; }

/* mappa (Google Maps non e' ricostruibile offline) */
.et_pb_map_container { position: relative; }
.et_pb_map { height: 440px; background: #e9e5dc; position: relative; }
.et_pb_map:after {
  content: "Mappa Google — non ricostruibile offline\A Piazza San Tommaso, Aquino (FR)";
  white-space: pre;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #8a8375;
  font-size: 13px;
  line-height: 1.8;
}
.et_pb_map_pin { display: none; }

/* gallery */
.et_pb_gallery_items:after { content: ""; display: table; clear: both; }
.et_pb_gallery_item { float: left; }

/* parallax: senza immagine resta il colore di fondo */
.et_parallax_bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  /* z-index 0, non -1: con -1 lo sfondo finirebbe dietro al colore di fondo
     della sezione che lo contiene e non si vedrebbe affatto. I fratelli
     vengono portati sopra dalla regola seguente. */
  z-index: 0;
}
.et_pb_section > *:not(.et_parallax_bg),
.et_pb_row > *:not(.et_parallax_bg) { position: relative; z-index: 1; }
.et_pb_section_parallax { position: relative; }
.et_pb_parallax_css .et_parallax_bg { background-attachment: fixed; }

/* --- footer --- */
#main-footer { background-color: #fff; }
.footer-widget {
  float: left;
  width: 21.5%;
  margin: 0 4.5% 5.5% 0;
}
.footer-widget:nth-child(4n) { margin-right: 0; }
#footer-widgets { padding: 6% 0 0; }
#footer-widgets:after { content: ""; display: table; clear: both; }
.footer-widget h4 { font-size: 18px; padding-bottom: 15px; }
#footer-bottom { background-color: rgba(0, 0, 0, 0.32); padding: 15px 0 5px; }
#footer-info { float: left; padding-bottom: 10px; color: #666; }
.et-social-icons { float: right; list-style: none; padding: 0; margin: 0; }
.et-social-icons li { display: inline-block; margin-left: 20px; }
#et-footer-nav { background-color: rgba(255, 255, 255, 0.05); }
.bottom-nav { list-style: none; padding: 15px 0; margin: 0; }
.bottom-nav li { display: inline-block; padding-right: 22px; }

/* scroll to top */
.et_pb_scroll_top {
  position: fixed;
  bottom: 125px;
  right: 0;
  padding: 10px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  cursor: pointer;
  display: none;
}
.et_pb_scroll_top.et-visible { display: block; }
.et_pb_scroll_top:before { content: "\25B2"; font-size: 14px; }

/* --- barra cookie del plugin wb_cookies --- */
.fixedbar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(10, 10, 10, 0.92);
  color: #fff;
  padding: 12px 20px;
  font-size: 12px;
  z-index: 9998;
}
.fixedbar a { color: #ccac2e; }
.footer-cookie-privacy { text-align: center; }

/* --- segnaposto per gli asset non archiviati --- */
.asset-mancante {
  display: inline-block;
  border: 1px dashed rgba(204, 172, 46, 0.6);
  background: repeating-linear-gradient(45deg, rgba(204,172,46,0.05), rgba(204,172,46,0.05) 8px, transparent 8px, transparent 16px);
  border-radius: 2px;
}
a.pdf-mancante { position: relative; }
a.pdf-mancante:after {
  content: " (PDF non archiviato)";
  font-size: 0.75em;
  opacity: 0.7;
  white-space: nowrap;
}

/* --- responsive --- */
@media all and (max-width: 980px) {
  .et_pb_column,
  .et_pb_gutters1 .et_pb_column,
  .et_pb_gutters2 .et_pb_column {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 30px;
  }
  .et_pb_column:last-child { margin-bottom: 0; }
  .et_pb_equal_columns { display: block; }
  .et_pb_row { width: 80%; }
  .et-hide-mobile { display: none !important; }
  #top-menu { display: none; }
  .mobile_menu_bar { display: block; }
  #et-top-navigation { padding-top: 24px; }
  .et_fixed_nav #main-header { position: relative; top: 0 !important; }
  .et_fixed_nav #top-header { position: relative; }
  .et_fixed_nav #page-container { padding-top: 0 !important; }
  .footer-widget { width: 100%; margin-right: 0; }
  #et_top_search { display: none; }
}
@media all and (max-width: 767px) {
  .container, .et_pb_row { width: 90%; }
  #et-info, #et-secondary-menu { float: none; text-align: center; }
  #et-secondary-menu > ul > li { float: none; display: inline-block; margin: 0 0.5em; }
  #footer-info, .et-social-icons { float: none; text-align: center; }
  .et-social-icons li { margin: 0 10px; }
  .et_pb_promo { padding: 30px 20px; }
  h1 { font-size: 26px; }
  h2 { font-size: 22px; }
}

/* --- icona dei bottoni ---------------------------------------------
   Il CSS inline del Builder scrive content:'9': e' un glifo del font
   icone ETmodules di Divi, che non e' stato archiviato. Senza quel font
   il browser stampa la cifra "9" dentro il bottone. Qui il glifo viene
   sostituito con una freccia Unicode reale, con la stessa animazione
   dell'originale (compare in scorrimento al passaggio del mouse).      */
body .et_pb_button:after,
body .et_pb_promo_button:after {
  content: "\2192" !important;
  font-family: inherit !important;
  font-size: 1em !important;
  position: absolute;
  margin-left: -1em;
  opacity: 0;
  transition: all 0.2s;
}
body .et_pb_button:hover:after,
body .et_pb_promo_button:hover:after {
  opacity: 1;
  margin-left: 0.25em;
}
body .et_pb_button { position: relative; }

/* --- correzioni responsive -------------------------------------------
   Divi 3.0.47 gestiva queste regolazioni nel proprio style.css, che non
   e' stato archiviato: qui vengono riscritte per evitare che su schermo
   stretto il contenuto sbordi o si sovrapponga.                        */
@media all and (max-width: 980px) {
  html, body { overflow-x: hidden; }
  #page-container { overflow-x: hidden; }
  /* header non fisso: azzera anche l'offset del banner */
  body.et_fixed_nav #top-header,
  body.et_fixed_nav #main-header {
    position: relative !important;
    top: 0 !important;
  }
  .logo_container {
    width: auto;
    max-width: 55%;
    height: auto;
    padding: 12px 0;
  }
  #logo {
    min-height: 0 !important;
    max-height: 46px !important;
    height: auto !important;
    padding-top: 0 !important;
  }
  #et-top-navigation {
    padding-top: 0;
    display: flex;
    align-items: center;
    min-height: 70px;
  }
  .select_page { display: none; }
  /* i titoli in New Rocker sono larghi: senza questo escono dallo schermo */
  h1, h2, h3, h4 { overflow-wrap: break-word; word-wrap: break-word; }
  .et_pb_promo, .et_pb_text { padding-left: 8% !important; padding-right: 8% !important; }
  .et_pb_button {
    white-space: normal;
    max-width: 100%;
    font-size: 16px !important;
    letter-spacing: 0 !important;
  }
  .et_pb_map { height: 300px; }
}
@media all and (max-width: 767px) {
  .et_pb_promo h2, .et_pb_text h1, .et_pb_text h2 { font-size: 26px !important; line-height: 1.15em !important; }
  .et_pb_promo h4, .et_pb_text h4 { font-size: 16px !important; }
}

/* Immagini riprese dal sito attuale al posto di originali non archiviati:
   nessuna cornice, devono comportarsi come immagini normali. */
.asset-recuperato { max-width: 100%; height: auto; }
#logo.asset-recuperato { object-fit: contain; }

/* Il CSS originale dava al logo min-height:150px, cosi' che sbordasse
   sotto l'header: funzionava con un PNG trasparente. Il logo recuperato
   e' un JPG opaco, e sbordando finisce sopra il contenuto della prima
   sezione. Qui resta dentro l'altezza dell'header. */
#logo { min-height: 0 !important; max-height: 76px !important; }
