/*

 Theme Name:   GeneratePress Child

 Theme URI:    https://generatepress.com

 Description:  Default GeneratePress child theme

 Author:       Tom Usborne

 Author URI:   https://tomusborne.com

 Template:     generatepress

 Version:      0.1

*/



/* FUENTE */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;700&family=Open+Sans:wght@300;400;700&display=swap');



/* VARIABLES POR DEFECTO */
:root {
  --c-negro: #000;
  --c-blanco: #FFFFFF;
  --c-primario: rgb(105, 105, 105);
  --c-secundario: rgb(26, 26, 146);
  --c-grisclaro: #EFEFEF;
  --c-gris: #f9f9f9;
}



/* OUTLINE */
*:focus {
  outline: 5px solid orange;
}


/* ESTILOS COMUNES */
.zindex0 {
  z-index: 0;
}

.zindex1 {
  z-index: 1;
}

body {
  /* font-family: 'Open Sans', sans-serif; */
  color: var(--c-negro);
  font-size: 1.125rem;
  line-height: 1.6875rem;
  scroll-behavior: smooth;

}

a {
  color: var(--c-primario);
  text-decoration: none;
}

a,
a:hover {
  transition: all 0.4s ease !important;
}

ul.slideout-menu,
ul.menu {
  display: flex !important;
  flex-wrap: wrap;

  .menu-item {
    width: 100%;

    &.lang-item {
      width: fit-content !important;
      margin-top: 20px;
      margin-left: 25px;

      a {
        line-height: 25px;
        margin: 0;
        padding-right: 0;
      }
    }
  }

  @media screen and (max-width: 600px) {
    .menu-item {
      &.lang-item {
        &:nth-child(5) {
          margin-left: 0;
        }
      }
    }
  }
}

.slideout-toggle.hide-on-mobile {
  display: initial !important;
}

@media screen and (max-width: 768px) {
  header .inside-header {
    flex-direction: row;
    flex-wrap: nowrap;
  }
}

/* LOGOS KIT DIGITAL */
.logos-kit-digital {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.logos-kit-digital img {
  display: block;
  max-width: 21%;
  padding: 0 20px;
}

.logos-kit-digital>img:last-child {
  max-width: 15%;
}


/* ---------- RESPONSIVE ---------- */
@media screen and (max-width: 1080px) {

  /* LOGOS KIT DIGITAL */
  .logos-kit-digital img {
    max-width: 210px;
  }

  .logos-kit-digital>img:last-child {
    max-width: 23%;
  }
}

@media screen and (max-width: 780px) {}


@media screen and (max-width: 600px) {

  /* LOGOS KIT DIGITAL */
  .logos-kit-digital img {
    max-width: 165px;
    padding: 10px 5px;
  }

  .logos-kit-digital>img:last-child {
    max-width: 40%;
  }
}

@media screen and (max-width: 560px) {}



/* CAPTCHA */
.grecaptcha-badge {
  display: none;
}

.site-branding-container {
  width: 100%;
}

.site-branding-container {
  justify-content: center;
}

.main-title a {
  color: white;
}

.site-description {
  color: white;
}

.site-branding {
  text-align: center;
  margin: auto;
  width: 100%;
  margin: 0 0 0 80px;
}

p.main-title {
  text-transform: uppercase;
  word-spacing: -10px;
  color: white;
}

p.main-title.ready {
  font-weight: 200;
  letter-spacing: 0.15em;
  font-family: 'Inter';
}

span.second-word {
  font-weight: 800;
}

p.site-description {
  font-family: 'Space Grotesk';
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .main-title {
    font-weight: 400;
    letter-spacing: 0.15em;
    font-size: 18px;
  }

  .main-title .second-word {
    font-weight: 800;
    padding-left: 5px;
  }
}

@media (min-width: 1280px) {

  .inside-site-info {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
    column-gap: 40px;
  }

  /* Copyright sinistra */
  .copyright-bar {
    grid-column: 1;
    justify-self: start;
    text-align: left;
    white-space: nowrap;
  }

  /* Footer widgets */
  .footer-bar {
    display: contents;
  }

  /* Contatti centro */
  .footer-bar .widget:first-child {
    grid-column: 2;
    justify-self: center;
    text-align: center;
    white-space: nowrap;
  }

  /* Based destra */
  .footer-bar .widget:last-child {
    grid-column: 3;
    justify-self: end;
    text-align: right;
    white-space: nowrap;
  }

  .world {
    justify-content: flex-end !important;
  }

}

nav#sticky-navigation {
  background-color: black;
}

.focus {
  color: #C4A882;
}

@media screen and (max-width: 1024px) {
  .inside-header {
    padding: 20px;
    justify-content: space-between;
  }
}

@media (min-width: 600px) {
  nav#generate-slideout-menu {
    width: 500px;
  }

  .main-navigation a {
    font-size: 2.5rem;
    line-height: 5rem;
    margin-left: 20px;
  }

  /*aside#nav_menu-2 {
    display: none;
}*/
}

@media (max-width: 600px) {
  .site-branding {
    margin-left: 60px;
  }
  .inside-header {
    padding: 10px;
  }

  .contacts {
    flex-direction: column;
  }

  .slideout-navigation,
  .slideout-navigation a {
    line-height: 2em;
  }

  .slideout-widget {
    margin: 80% 20px;
  }

  /*aside#nav_menu-3 {
    display: none;
}*/
  .cop {
    display: flex !important;
    flex-direction: column !important;
    align-content: center !important;
    align-items: center !important;
  }

  .site-description {
    font-size: 13px;
  }
}

.navigation-branding img,
.site-logo.mobile-header-logo img {
  object-fit: contain;
}

.site-header .inside-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Logo perfettamente centrato */
.site-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  text-align: center;
  z-index: 5;
}

/* Menu a destra */
.main-navigation {
  margin-left: auto;
}

/* Evita che il logo si allarghi male */
.custom-logo-link,
.site-logo {
  display: block;
  text-align: center;
}

.inside-header.grid-container {
  z-index: 99;
}

.site-logo {
  z-index: 99;
}

div#primary-menu {
  display: none;
}

button.menu-toggle {
  z-index: 99;
}

a.elementor-button.elementor-button-link.elementor-size-sm:hover rect {
  fill: #C4A882;
}

a.elementor-button.elementor-button-link.elementor-size-sm svg {
  transform: scale(1.6);
}

.gp-icon svg {
  transform: scale(1.6);
}

a.elementor-button.elementor-button-link.elementor-size-sm:hover {
  padding: 10px 10px 10px 10px;
  border: 1px solid #cecece;
}

a.elementor-button.elementor-button-link.elementor-size-sm {
  padding: 0px;
}

.gp-icon svg {
  transform: scale(1);
}

.page-id-2 .site-branding,
.page-id-1802 .site-branding,
.page-id-1804 .site-branding {
  display: none !important;
}

/*#sticky-navigation .sticky-navigation-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10001;
}


.site-header {
    opacity: 0;
    transition: opacity .2s ease;
}*/

/* tutte le pagine tranne homepage */
/*body.header-loaded .site-header {
    opacity: 1;
}*/

/* eccezione homepage */
/*body.page-id-2 .site-header {
    opacity: 1;
}

body.header-loaded .site-header {
    opacity: 1;
}

body:not(.home) header#masthead {
    z-index: 10000 !important;
}


#sticky-navigation .sticky-text-logo {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
}

#sticky-navigation .main-title {
  margin: 0;
  font-size: inherit;
}

.second-word {
  font-weight: 700;
}



.sticky-branding-custom {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.sticky-branding-custom .site-description {
  font-size: 12px;
  opacity: 1;
  margin-top: 2px;
}

.sticky-branding-custom .main-title {
  font-size: 16px;
}
#sticky-navigation .inside-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
}*/

/* branding centrato ma senza rompere la riga */
/*#sticky-navigation .navigation-branding {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
}*/

/* blocco testo verticale */
/*.sticky-branding-custom {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.1;
}*/

/* menu resta compatto e non va a capo */
/*#sticky-navigation .menu-toggle,
#sticky-navigation .menu-bar-items {
  flex-shrink: 0;
}
span.second-word {
    margin-left: 2px;
}
.navigation-branding .main-title {
    line-height: 22px !important;
}
#sticky-navigation .navigation-branding {
  transform: translateX(50px);
}
#sticky-navigation .sticky-navigation-logo {
  display: none !important;
}*/