/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap&family=Libre+Franklin:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0, 400..900;1,400..900&display=swap');


:root {
  --lexikon-main-text-color: #333;
  /* 20250115 */
  /* --lexikon-main-accent-color: #db7c31; */
  --lexikon-main-accent-color: #b63f0c;
  /* / */
  --lexikon-secondary-accent-color: #bbb;
}
html, body {
  font-size: 20px;
}
h1, h2, h3 {
  /* 20250114 */
  /* font-family: "Playfair Display", serif; */
  font-family: "Libre Franklin", sans-serif;
  /* / */
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: var(--lexikon-main-text-color);
}
h1 {
  font-size: 3rem;
}
h2 {
  font-size: 2rem;
  font-style: italic;
}
h3 {
  font-size: 1.4rem;
}
p, a, strong {
  font-family: "Libre Franklin", sans-serif;
}
p {
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--lexikon-main-text-color);
}
a {
  color: var(--lexikon-main-text-color);
  text-decoration: underline !important;
  font-weight: 600;
}
a:hover {
  text-decoration: none !important;
  border-bottom: 2px solid var(--lexikon-main-accent-color);
}


/* Headers */

#pre-header-container .elementor-container {
  border-bottom: 1px solid var(--lexikon-secondary-accent-color);
}
#pre-header-container ul {
  display: flex;
}
#pre-header-container ul li {
  padding-right: 12px;
}
#pre-header-container ul li a {
  color: var(--lexikon-main-text-color);
  text-decoration: underline;
  border-bottom: 2px solid #fff;
  font-size: 0.8rem;
}
#pre-header-container ul li a .elementor-icon-list-icon svg path {
  fill: var(--lexikon-main-text-color);
}
#pre-header-container ul li a:hover {
  text-decoration: none;
  border-bottom: 2px solid var(--lexikon-main-accent-color);
}
#pre-header-container ul li a:hover .elementor-icon-list-icon svg path {
  fill: var(--lexikon-main-accent-color);
}

#header-container .elementor-container {
  align-items: center;
}


/* Main menu */

#header__home-link a, #header__home-link a:hover {
  border-bottom: none;
}

.elementor-nav-menu--main .elementor-nav-menu a {
  font-family: "Libre Franklin", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--lexikon-main-text-color);
  border-bottom: none;
}
.elementor-nav-menu--main .elementor-nav-menu a:hover {
  color: #fff;
  background-color: #333;
}

.elementor-nav-menu--dropdown {
  font-size: 0.9rem !important;
}


/* Home slider */

.home__slider-container h1 {
  font-size: 5rem !important;
  color: #fff;
}

.home__slider-container a {
  text-decoration: none !important;
  min-width: 210px;
}

.elementor-slide-heading {
  text-shadow: 3px 3px 8px #000;
}


/* Pages */

h1.elementor-heading-title {
  text-shadow: 3px 3px 8px #000;
}

.page__header h1::before {
  content: '';
  display: block;
  width: 35px;
  height: 2px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--lexikon-main-accent-color);
}

.service-slogan p {
  /* 20250114 */
  /* font-family: "Playfair Display", serif; */
  font-family: "Libre Franklin", sans-serif;
  /* / */
  color: var(--lexikon-main-accent-color);
  font-size: 1.2rem;
  font-weight: 600;
}

.elementor-toc__list-item svg path {
  fill: var(--lexikon-main-text-color);
}
.elementor-toc__list-item a {
  color: var(--lexikon-main-text-color) !important;
  border-bottom: 2px solid #fff;
}
.elementor-toc__list-item a:hover {
  border-bottom: 2px solid var(--lexikon-main-accent-color);
}


/* Forms */

#modulo_contatto button {
  min-width: 120px;
}


/* Footer */

#footer-container {
  text-align: center;
}

#footer-container p {
  color: #fff;
  font-size: 0.8rem;
}

#footer-container a {
  color: var(--lexikon-secondary-accent-color);
  text-decoration: underline;
}

#footer-container a:hover {
  color: #fff;
}

.otgs-development-site-front-end {
  background-color: var(--lexikon-main-secondary-color) !important;
  color: #222 !important;
}
.otgs-development-site-front-end a {
  color: #222 !important;
}


/* CookieYes */

.cky-btn:hover {
  background-color: var(--lexikon-secondary-accent-color) !important;
  color: #222 !important;
  opacity: 1 !important;
}

.cky-banner-element:hover {
  cursor: pointer;
}


/* Mobile */

@media only screen and (max-width: 1024px) {
  .elementor-nav-menu__container {
    position: absolute;
    z-index: 1000;
    right: 0;
    top: 40px;
    min-width: 220px;
    width: 95vw;
  }

  .elementor-nav-menu__container ul li {
    text-align: right;
  }

  .elementor-nav-menu__container ul li a {
    /* display: block; */
    justify-content: flex-end;
  }

  .home__slider-container h1 {
    font-size: 4rem !important;
  }
}

@media only screen and (max-width: 500px) {
  #pre-header-container ul {
    flex-direction: column;
  }

  .home__slider-container h1 {
    font-size: 2.5rem !important;
  }

  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 1.8rem;
    font-style: italic;
  }

  h3 {
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 400px) {
  .home__slider-container h1 {
    font-size: 2rem !important;
  }
}
