:root {
  /* Colors */
  --white: #ffffff;
  --grey-light: #f3f3f3;
  --grey: #cccccc;
  --grey-dark: #f9f9f9;
  --black: #000000;

  /*Theme colors*/
  --background: #ffffff;
  --secondary: #c7c2ba;
  --tertiary: #e0ded8;
  --headline: #003150;
  --paragraph: #191d1f;
  --button: #003150;
  --hover: #e0ded8;
}
/* barlow-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/barlow-v12-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/barlow-v12-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/barlow-v12-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
* {padding: 0; margin: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; line-height: 1; text-decoration: none;}
*::before, *::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

html {scroll-behavior: smooth;}

body {background-color: var(--background); font-family: "Barlow", serif, Arial, Helvetica, sans-serif;font-size: clamp(0.925rem, 0.8767rem + 0.1644vw, 1rem); color: var(--paragraph); -webkit-font-smoothing: antialiased; -moz-font-smoothing: antialiased; -ms-font-smoothing: antialiased; text-rendering: optimizeLegibility !important;
  -moz-osx-font-smoothing: grayscale;}

ul, ol { margin: 20px 0 30px 0; padding: 0 20px;}
ul li, ol li { margin-bottom: 10px; line-height: 1.6;}
ul li::marker, ol li::marker { color: var(--white);}

a {transition: 0.3s all ease-in-out; color: var(--button);}
a:visited, a:active {color: var(--button);}


/*Images*/

figure {margin: 0;}

img {width: 100%; height: auto; border-radius: 0px;}

figcaption { font-style: italic; color: var(--paragraph); margin-top: 10px; line-height: 1.6;}

/* Definition list */

dl { margin-bottom: 30px; font-size: clamp(0.925rem, 0.8767rem + 0.1644vw, 1rem); font-weight: 400; color: var(--paragraph); }

dt { font-size: clamp(0.925rem, 0.8767rem + 0.1644vw, 1rem); line-height: 1.6; margin-bottom: 5px; font-weight: 600; color: var(--button);}

dd {padding-left: 1rem; line-height: 1.6; margin-bottom: 20px;}

/*Tables*/

table { width: 100%; margin-bottom: 30px; border-collapse: collapse;}

table caption { padding: 20px; background-color: var(--secondary); text-transform: uppercase; font-size: .9rem; font-weight: 600; color: var(--headline);}

th,td { border: none !important; padding: 0.75rem !important;}

td { font-weight: 400; color: var(--paragraph); font-size: 0.875rem;}

tbody th, th { font-weight: 600; text-align: left; background: var(--paragraph);
color: var(--white);}

tr:nth-child(even) { background: var(--white);}

tr:nth-child(odd) {background: var(--grey);}

tfoot tr { background: var(--paragraph) !important;}
tfoot td { color: var(--white); font-weight: 600;}

/* Other */

blockquote { font-style: italic; color: var(--grey-dark);padding: 20px 20px 20px 20px;position: relative;}
blockquote::before { content: '\201C'; color: var(--headline);  font-size: 90px; font-weight: 600;position: absolute;left: 50px;top: -20px;}
blockquote::after { content: '\201C'; color: var(--headline);  font-size: 90px; font-weight: 600;position: absolute;right: 40px;top: 25px;}

cite{color: #999;text-align: left;margin-left: 70px;font-weight: 900;}

@media(max-width:600px){
blockquote::before {font-size: 75px; left: 0;top: -20px;}
blockquote::after {font-size: 75px; right: 0;top: 30px;}
cite{margin-left: 0;}
}

strong{font-weight: 600;color: var(--headline);font-size: clamp(0.875rem, 0.7889rem + 0.3735vw, 1.125rem);line-height: 1.3;}

hr { border: 1px solid var(--grey); margin: 40px 0;}

address { margin-bottom: 30px; font-style: normal;}

kbd { font-weight: 700; color: var(--button);}

pre { font-family: "Barlow", serif, Arial, Helvetica, sans-serif; line-height: 1.6; margin-bottom: 30px; white-space: pre-wrap; word-wrap: break-word;}

button { border: none; background-color: transparent; cursor: pointer;}

/* Input type */

label {display: block; margin-bottom: 0px; font-weight: 500; line-height: 1.6;}

.screen-reader-text {border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;}

.screen-reader-text:focus {background-color: var(--background); clip: auto !important; clip-path: none; color: var(--paragraph); display: block; font-size: 1em; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000;}

fieldset { border: 1px solid var(--tertiary); padding: 20px;}

legend { text-transform: uppercase; font-size: .9rem; padding: 0 5px; font-weight: 600; color: var(--button);}

input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"], input[type="search"], input[type="url"], input[type="tel"], input[type="range"], select, textarea { border:unset;border-bottom: 1px solid var(--tertiary); padding: 3px; width: 100%; margin-bottom: 15px;height: 28px; border-radius: 0px; font-size: 1rem; font-family: "Barlow", serif, Arial, Helvetica, sans-serif; color: var(--paragraph); transition: .3s;background-color: transparent;}

input[type="range"] {accent-color: var(--button);}

input[type="submit"], button[type="submit"] { display: block; width: 100%; margin-top: 30px; padding: 10px; background-color: var(--button); border: none; border-radius: 0px; color: var(--white); font-size: .925rem; font-weight: 600; cursor: pointer; transition: 0.3s all ease-in-out;}

input[type="submit"]:hover, button[type="submit"]:hover {background-color: var(--hover);}

textarea { height: 50px; min-height:50px; resize: none; font-family: 'Barlow',Arial, Helvetica, sans-serif;}

input:focus, textarea:focus, select:focus {outline-color: var(--button);}

input:-webkit-autofill {box-shadow: inset 0 0 0 9999px var(--white); -webkit-box-shadow: inset 0 0 0 9999px var(--white);}
input:-webkit-autofill:focus {box-shadow: 0 0 0 50px var(--white) inset; -webkit-box-shadow: 0 0 0 50px var(--white) inset;}

::placeholder { color: var(--grey-dark);}

/* Tipografia */
h1,h2,h3,h4,h5,h6,p,a {word-wrap: break-word;}

h1 {font-size: clamp(2rem, 1.0342rem + 3.2877vw, 3rem); line-height: 1.1; margin-bottom: 20px; font-weight: 800; color: var(--headline);}

h2,.fontH2 {font-size: clamp(1.6rem, 0.8274rem + 2.6301vw, 2.8rem); line-height: 1.2; margin-bottom: 20px; font-weight: 600; color: var(--headline);}


h3 {font-size: clamp(1.3rem, 0.8493rem + 1.5342vw, 2rem); line-height: 1.3; margin-bottom: 20px; font-weight: 600; color: var(--headline);}

h4 {font-size: clamp(1.1rem, 0.8425rem + 0.8767vw, 1.5rem); line-height: 1.4; margin-bottom: 30px; font-weight: 600; color: var(--headline);}

h5, h6 {font-size: clamp(1rem, 0.8068rem + 0.6575vw, 1.3rem); line-height: 1.4; margin-bottom: 15px; font-weight: 600; color: var(--headline);}

p {font-size: clamp(0.875rem, 0.7889rem + 0.3735vw, 1.125rem); line-height: 1.3; margin-bottom: 10px; color: var(--paragraph);font-weight: 300;letter-spacing: .8px;}

/* Custom class */
.container,.alignwide {width: min(1300px , 100% - 10vw) !important; margin-inline: auto; border-radius: 3px;max-width: unset;}
.container-r {width: min(1300px, 100% - 10vw);max-width: unset;}
@media(max-width: 992px){.container-r {width: min(1200px, 100% - 10vw);margin-inline: auto;max-width: unset;}}
.container-sm {width: min(768px , 100% - 10vw) !important; margin-inline: 22vw;}
@media (max-width: 992px){.container-sm{margin-inline: 2vw;}}

.spacer-3 { padding: 30px 0;}
.spacer-7 { padding: 70px 0;}
.divider { margin: 70px 0;}
.center {text-align: center;}
.upper {text-transform: uppercase;}
.margin-t-30 {margin-top: 30px;}
.margin-t-60 {margin-top: 60px;}
.margin-t-100 {margin-top: 100px;}
.margin-b-30 {margin-bottom: 30px;}
.margin-b-60 {margin-bottom: 60px;}
.margin-b-100 {margin-bottom: 100px;}



/*Alerts*/

.alert {padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 3px;}

.alert-ok {color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6;}

.alert-info {color: #31708f; background-color: #d9edf7; border-color: #bce8f1;}

.alert-danger {color: #a94442; background-color: #f2dede; border-color: #ebccd1;}

/*Grid*/

.d-grid { display: grid;}
.d-flex { display: flex;}
.d-flex-c {display: flex; flex-direction: column;}

.row { display: flex; flex-wrap: wrap;} 

.row > * {box-sizing: border-box; flex-shrink: 0; width: 100%; max-width: 100%;} 

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

@media (min-width: 768px) { 
  .col-md {flex: 1 0 0%;} 
  .row-cols-md-auto > * {flex: 0 0 auto; width: auto;} 
  .row-cols-md-1 > * {flex: 0 0 auto; width: 100%;} 
  .row-cols-md-2 > * {flex: 0 0 auto; width: 50%;} 
  .row-cols-md-3 > * {flex: 0 0 auto; width: 33.3333333333%;} 
  .row-cols-md-4 > * {flex: 0 0 auto; width: 25%;} 
  .row-cols-md-5 > * {flex: 0 0 auto; width: 20%;} 
  .row-cols-md-6 > * {flex: 0 0 auto; width: 16.6666666667%;}
  .col-md-1 {flex: 0 0 auto; width: 8.33333333%;}
  .col-md-2 {flex: 0 0 auto; width: 16.66666667%;}
  .col-md-3 {flex: 0 0 auto; width: 25%;}
  .col-md-4 {flex: 0 0 auto; width: 33.33333333%;}
  .col-md-5 {flex: 0 0 auto; width: 41.66666667%;}
  .col-md-6 {flex: 0 0 auto; width: 50%;}
  .col-md-7 {flex: 0 0 auto; width: 58.33333333%;}
  .col-md-8 {flex: 0 0 auto; width: 66.66666667%;}
  .col-md-9 {flex: 0 0 auto; width: 75%;}
  .col-md-10 {flex: 0 0 auto; width: 83.33333333%;}
  .col-md-11 {flex: 0 0 auto; width: 91.66666667%;}
  .col-md-12 {flex: 0 0 auto; width: 100%;} 
}

@media (min-width: 992px) { 
  .col-lg {flex: 1 0 0%;} 
  .row-cols-lg-auto > * {flex: 0 0 auto; width: auto;} 
  .row-cols-lg-1 > * {flex: 0 0 auto; width: 100%;} 
  .row-cols-lg-2 > * {flex: 0 0 auto; width: 50%;} 
  .row-cols-lg-3 > * {flex: 0 0 auto; width: 33.3333333333%;} 
  .row-cols-lg-4 > * {flex: 0 0 auto; width: 25%;} 
  .row-cols-lg-5 > * {flex: 0 0 auto; width: 20%;} 
  .row-cols-lg-6 > * {flex: 0 0 auto; width: 16.6666666667%;}
  .col-lg-1 {flex: 0 0 auto; width: 8.33333333%;}
  .col-lg-2 {flex: 0 0 auto; width: 16.66666667%;}
  .col-lg-3 {flex: 0 0 auto; width: 25%;}
  .col-lg-4 {flex: 0 0 auto; width: 33.33333333%;}
  .col-lg-5 {flex: 0 0 auto; width: 41.66666667%;}
  .col-lg-6 {flex: 0 0 auto; width: 50%;}
  .col-lg-7 {flex: 0 0 auto; width: 58.33333333%;}
  .col-lg-8 {flex: 0 0 auto; width: 66.66666667%;}
  .col-lg-9 {flex: 0 0 auto; width: 75%;}
  .col-lg-10 {flex: 0 0 auto; width: 83.33333333%;}
  .col-lg-11 {flex: 0 0 auto; width: 91.66666667%;}
  .col-lg-12 {flex: 0 0 auto; width: 100%;}
}

@media(max-width: 768px) { 
  .gap-md{ gap: 40px; }
} 
@media(max-width: 992px) { 
  .gap-lg { gap: 40px; }
} 

.row-reverse { flex-direction: row-reverse;}
.col-reverse { flex-direction: column-reverse; }

.col-text-md, .box-text-lg {padding: 0 50px;}

@media(max-width: 768px) { 
  .row-md-reverse { flex-direction: row-reverse;}
  .col-md-reverse { flex-direction: column-reverse; }
  .col-text-md { padding: 0; }
}
@media(max-width: 992px) { 
  .row-lg-reverse { flex-direction: row-reverse;}
  .col-lg-reverse { flex-direction: column-reverse; }
  .col-text-lg { padding: 0; }
}

.a-top { align-items: flex-start; }
.a-center { align-items: center; }
.a-end { align-items: flex-end; }
.space-btw { justify-content: space-between;}
.space-around { justify-content: space-around;}
.space-cen { justify-content: center;}
.space-srt {justify-content: flex-start;}
.space-end {justify-content: flex-end;}


/* popup */
.pum-theme-2171 .pum-content + .pum-close, .pum-theme-tema-predefinito .pum-content + .pum-close {background-color: var(--button) !important;}
.pum-theme-2171 .pum-container, .pum-theme-tema-predefinito .pum-container{background-color: var(--tertiary) !important;}

/* ! 
!
!   GSAP
!
! */
/* .anim-title{transform: translateY(60px);opacity: 0;} */
/* .images{transform: translateY(60px);opacity: 0;} */
figure{overflow: hidden;}
.zoom-in{overflow: hidden;}
.fade-in-left.back-glass{transform: translateX(-100%);opacity: 0;}
/* classe usata nella home per mettere la lista elenco in flex-start */
@media(max-width:600px){
  .mobile-space-start{justify-content: flex-start;}
}

/* PseudoElementi */
/* freccia copertina homepage */
.arrow-down{position: relative;}
.arrow-down::after{content: "";background-image: url(../img/arrow-down.svg); position: absolute;bottom: 0;width: 55px;height: 25px; left: 50%;background-repeat: no-repeat;background-position: center;transform: translateY(50%);margin-bottom: 35px;}


/* ottagono piccolo adatto ai testi */
.exagon-sm{position: relative;}
.exagon-sm:before { content: '';top: -5px;left: -15px; width: 30px; height: 30px; background-color: var(--tertiary); position: absolute; clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);z-index: -1;}
/* ottagono medio adatto ai testi */
.exagon{position: relative;}
.exagon:before { content: '';top: -5px;left: -15px; width: 40px; height: 40px; background-color: var(--tertiary); position: absolute; clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);z-index: -1;}
/* classe da poter aggiungere alle card per non avere visibile lo pseudoelemento, come nella pagina 'produzione e sviluppo' */
.exanon .exagon:before,.exanon .exagon-sm:before{content: unset;}

/* ottagono grande adatto a sfondi sezione */
.exagon-big,.exagon-big-left {position: relative;overflow: hidden;}
.exagon-big::after{content: "";position:absolute;clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);background-color: var(--tertiary);z-index: -10px;top: 0;right: -200px;width: 400px;height: 400px;opacity: .3;z-index: -3;}
.exagon-big-left::before{content: "";position:absolute;clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);background-color: var(--tertiary);z-index: -10px;bottom: 0;left: -200px;width: 400px;height: 400px;opacity: .3;z-index:-3;}
/* ribaltare la posizione */
.big-revert.exagon-big::after{left: -200px;right: unset;}
.big-left-revert.exagon-big-left::before{right: -200px;left: unset;}


.back-glass{position: relative;width: fit-content;padding: 20px 70px;}
.back-glass::before{content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;
background: rgba(255, 255, 255, 0.18);
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(4.7px);
-webkit-backdrop-filter: blur(4.7px);}
.back-glass *{position: relative;z-index: 10;width: fit-content;}
.ATF .wp-block-cover__inner-container{margin-left: -5vw !important;}
@media(max-width:600px){
.back-glass{padding: 20px;}
.ATF .wp-block-cover__inner-container{margin-left: unset !important;}
}

/* classe per rendere i puntini della lista blu */
.list-grey-marker li::marker{color: var(--tertiary);}

/* !
!
!
! mettere le immagini in width 100% e cover dove serve nei media testo*/
.full-img img{width: 100%;height: 350px;object-fit: cover;object-position: top;}


.pad-left-50{padding-left: 50px;}
@media(max-width: 600px){.pad-left-50{padding-left: 0;}}

/* classe per rendere la copertina alta per le cta con backgound */
.cover-cta{height: 280px !important;min-height: 280px !important;}

/* classe per mettere un layer blu per far sembrare l'immagine staccata dal blocco */
.back-layer{position: relative;}
/* .back-layer img{padding-right: 25px;} */
.back-layer::before{position: absolute;content: ""; top: 13%;left: 0;width: 100%;height: 75%;background-color: var(--headline);z-index: -1;}
.back-layer-grey{position: relative;}
/* .back-layer-grey img{padding-right: 25px;} */
.back-layer-grey::before{position: absolute;content: ""; top: 13%;left: 0;width: 100%;height: 75%;background-color: var(--tertiary);z-index: -1;}

@media (max-width: 651px) {
  .back-layer::before{height: 100%; top: 0;}
  .back-layer-grey::before{height: 100%; top: 0;}
}


/*
* Cambio i font-size dei titoli alle card nella pagina SMT
*
*
 */
.smt-service .card span{font-size: 14px;font-weight: 400;}
/* ! HEADER */
.headline{width: 100%;position: fixed;z-index: 1000;background: var(--background);}
.headline .container .row{padding: 10px 0;}
.headline .container .row .brand img{width: 200px;position: relative;z-index: 1001;}
.headline .container .row a {text-decoration: none;}
/* * inner menu */
.headline .container .row .inner-menu{ gap: 20px;}
.headline .container .row .inner-menu *, .menu-laterale .container .row .inner-menu *{ color: var(--headline);}
.headline .container .row .inner-menu nav *{margin: 0;padding: 0;font-weight: 400;}
.headline .container .row .inner-menu ul{display:flex;gap: 30px; list-style: none;font-weight: 600;align-items: center;}
.headline .container .row .inner-menu ul li{padding: 8px 0;}
.headline .container .row .inner-menu ul .current-menu-item a{font-weight: 600;}

/* * burger menu */
.headline .container .row .burger-menu{ display: none;}


/* ? Sub-menu */
.headline .container .row .headline-menu .menu .sub-menu{display: none;flex-direction: column;align-items: flex-start; gap: 0;position: absolute;top: 60px;left: 0;background-color: var(--white);width: max-content;}

/* ? Burger menu */
@media (max-width: 992px){
  /* * burger menu */
.headline .container .row .burger-menu{display: flex;flex-direction: column;gap: 4px;background-color: transparent;border: none;padding: 3px;cursor: pointer;z-index:1001;}
.burger-item-1,.burger-item-2,.burger-item-3{width: 25px;height: 1px;background-color: var(--button);}
/* * Open menu */
.headline .container .row .inner-menu {position: absolute;top: 0;left: 0px;width: 360px;height: 100vh; background-color: var(--background);transform: translateX(-100%);padding-bottom: 45px;}
.headline .container .row .inner-menu li {transform: translateX(-30%);opacity: 0;}
.headline .container .row a, .headline .container .row .inner-menu li a {color:var(--headline);font-size: clamp(1.2rem, 1.0342rem + 3.2877vw, 1.2rem);padding: 0;}
.headline .container .row .active .headline-menu .menu {display: flex;flex-direction: column;padding-top: 70px;}

/* ? Sub-menu */
.headline .container .row .headline-menu .menu .sub-menu { position: static;display: none;background: transparent;padding: 10px 0 0 30px;width: max-content;}
.headline .container .row .headline-menu .menu .menu-item-has-children .sub-menu{display: block;}
.headline .container .row .inner-menu ul {gap: 0;display: flex;flex-direction: column;padding-left: 20px;}
.headline .container .row .headline-menu .menu .sub-menu li{margin-bottom: 0;width: 100%;border-bottom: 1px solid var(--grey);}
.headline .container .row .headline-menu .menu .sub-menu li a{font-size: clamp(0.875rem, 0.8104rem + 0.2801vw, 1.0625rem);padding: 12px;}
.headline .container .row .headline-menu .menu .sub-menu .sub-menu li a{font-size: clamp(0.8125rem, 0.7694rem + 0.1867vw, 0.9375rem);}
.headline .container .row .headline-menu .menu .sub-menu .menu-item-has-children{padding-bottom: 0;}
.headline .container .row .headline-menu .menu .sub-menu li .sub-menu li:last-child{border-bottom: none;}
.menu-item-has-children::after {top: 20px;right: 70px;content: "";position: absolute;display: block;border-right: 1px solid var(--headline);border-bottom: 1px solid var(--headline);width: 6px;height: 6px;transform: rotate(45deg);transition: .3s cubic-bezier(0.39, 0.575, 0.565, 1);}
.menu-item-has-children:hover::after{transform: rotate(225deg);}
/* ? Sub-menu 2 */
#menu-item-79::after{display: none;}
.headline .container .row .headline-menu .menu .sub-menu .sub-menu{padding: 10px 0 0 20px;} 
}
@media(max-width:450px){.headline .container .row .inner-menu{width: 100%;}}

/* ! PAGE.PHP */
/* ? HERO */
.hero{padding-top: 100px;background-repeat: no-repeat;background-size: cover;background-position: center;position: relative;height: 55vh;}
.hero::after{position: absolute;content: "";top: 0;left: 0;width: 100%;height: 100%;background: var(--headline);opacity: .7;}
.page-page .col-menu{background-color: var(--secondary);}
.page-page .col-content .inner{padding-left: 3vw;padding-right: 3vw;}
.hero .col-lg-12 {position: relative;z-index: 1;}
.hero .col-lg-12 h1{color: var(--white);text-transform: uppercase;}
.hero .col-lg-12 p{color: var(--white);font-weight: 500;}
/* ? CONTENUTO */
@media(max-width:992px){.page-page .col-menu{display: none;}.page-page .col-content{width: 100% !important;}.page-page .col-content{padding-left: 0;}}

/* ? CONTATTI*/
.contatti *{text-decoration: none;}
.contatti p{margin-bottom: 40px; font-weight: 600;}
.contatti p a{margin-bottom: 40px; font-weight: 400;}
.contatti .page-content .row .col-lg-6:nth-child(1){border-right: 1px solid var(--grey);}

/* ! 404 */
.hero-404{ padding-top: 200px;background-color: var(--headline);}
.hero-404 .container{position: relative;z-index: 1;}
.hero-404 .container .row .inner h1,.hero-404 .container .row .inner h4{color: var(--white);}
/* ! TEMPLATE*/
/* * CLASSIC */
.classic .hero {height: 55vh;background-position: top center;background-size: cover;background-repeat: no-repeat;}
.classic .hero .col-lg-12 h1{display: flex;text-transform: uppercase; justify-content: center;}
.classic .hero::after{position: absolute;content: "";top: 0;left: 0;width: 100%;height: 100%;background: var(--headline);opacity: .75;}
/* * THANK-YOU */
.thanks{padding-top: 200px;background-color: var(--headline);}
.thanks .container .row .inner h1,.thanks .container .row .inner h4{color: var(--white);}


/* ! GUTEMBERG */

.alignfull{
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
/* Buttons */
/* RIEMPIMENTO */
.wp-block-button .wp-block-button__link:where(.is-style-fill), .wp-block-button:where(.is-style-fill)>.wp-block-button__link, .button-fill { display: block !important; width: fit-content; color: var(--white) !important;    padding: 1em 1.333em !important; font-weight: 600; border-radius: 0;text-decoration: none;background-color: var(--headline)!important;margin-top: 25px;border: none;transition: all .3s cubic-bezier(0.39, 0.575, 0.565, 1);}

.wp-block-button:hover .wp-block-button__link:where(.is-style-fill):hover, .wp-block-button:where(.is-style-fill)>.wp-block-button__link:hover,.button-fill:hover { background-color: var(--secondary) !important; color: var(--white) !important;border:none;}
/* CONTORNO */
.wp-block-button .wp-block-button__link:where(.is-style-outline), .wp-block-button:where(.is-style-outline)>.wp-block-button__link,.button-outline  {display: block !important; width: fit-content; color: var(--headline) !important; padding: 1em 1.333em !important; font-weight: 600; border-radius: 0;text-decoration: none;background-color: var(--white)!important;margin-top: 25px;border: none;transition: all .3s cubic-bezier(0.39, 0.575, 0.565, 1);}

.wp-block-button:hover .wp-block-button__link:where(.is-style-outline):hover, .wp-block-button:where(.is-style-outline)>.wp-block-button__link:hover, .button-outline:hover  { background-color: var(--white) !important; color: var(--hover) !important;}

@media(max-width: 430px){
  .wp-block-buttons, .wp-block-button, .button-fill,.button-outline,.wp-block-button__link:where(.is-style-fill), .wp-block-button:where(.is-style-fill)>.wp-block-button__link,.wp-block-button__link:where(.is-style-outline), .wp-block-button:where(.is-style-outline)>.wp-block-button__link {width: 100% !important;}
}


/* questa classe rende il separtatore centrale e di 100px */
.wp-block-separator{display: flex;margin-inline: auto;width: 50px; height: 3px;color: var(--headline);}
/* questa classe annulla il margin-inline al separatore e lo mette a sinistra */
.m-inline-unset{margin-inline: unset;}

/* media testo */
.wp-block-media-text .wp-block-media-text__content{padding: 0 !important;padding-right: 50px !important;}
/* classe pad-right per spaziare i testi del mediatesto quando la foto e a destra */
.pad-right .wp-block-media-text__content {padding: 0 !important;padding-left: 50px !important;}
.pad-right-left .wp-block-media-text__content {padding: 0 !important;padding-left: 50px !important;padding-right: 50px !important;}
@media(max-width: 600px){
  .pad-right .wp-block-media-text__content {padding: 0 !important;}
  .pad-right-left .wp-block-media-text__content {padding: 0 !important;}
}


@media (max-width: 600px){
  .wp-block-media-text .has-media-on-the-right{padding-left: 0 !important;padding-top: 30px !important;}
  .wp-block-media-text .wp-block-media-text__content{padding-right: 0 !important;padding-top: 30px !important;}
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{width: 100%;height: 100%;}
.wp-block-media-text__media img, .wp-block-media-text__media video{height: 100%;object-fit: cover;}
@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis: 25% !important}
}
@media (max-width: 651px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis: 100% !important;}
}
.gap-0{gap: 0 !important;}
/*  ! BLOCKS */
/* * cards */
.card{display: flex;flex-direction: column;align-items: center;text-align: center;justify-content: space-between;padding: 10px 0;}
.card img{width: 100px;margin-bottom: 30px;}
.card  h2{margin: 0;font-size: clamp(1.25rem, 0.8493rem + 1.5342vw, 1.5rem); margin-bottom: 20px; font-weight: 600; color: var(--headline);}
.card  a{text-decoration: none;}
.card  .link + span{color: var(--button);}
.card  p{font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);text-align:center;}
.line-card{display:flex; width: 60px;height: 2px; background-color: var(--button);margin:20px auto;}
@media(max-width:768px){.card  p{padding: 0;}}
@media(max-width:430px){.card  p{padding: 0 20px;}}
/*  * slider */
/*SPLIDE*/
.slider img{height: 100%;}
.splide__arrow--prev,.splide__arrow--next {width: 50px;height: 40px;bottom: unset;top: -50px;background-color: transparent;transform: translateY(calc(50% - 10px)); /* Centro verticalmente */}
.splide__pagination{bottom: 105%;}
.splide__pagination__page.is-active{background-color: var(--button);}
.splide__arrow svg{fill: var(--button);}
/* ! TEMPLATE PARTS */

/* * sidebar.php */
.sidebar{background-color: var(--grey);height: max-content;}
.sidebar *{text-decoration: none;}
.sidebar .inner-sidebar{padding: 20px 1vw;gap: 15px;}
.sidebar .inner-sidebar .categorie ul{padding: 0; list-style: none;}
.sidebar .inner-sidebar .last-preview .info-preview p{font-size: clamp(0.75rem, 0.8319rem + 0.1867vw, 0.75rem);padding: 0 0 0 15px;margin: 0;}
.sidebar .inner-sidebar .last-preview .info-preview p a{color: var(--headline);}
.sidebar .inner-sidebar .last-preview .info-preview .post-categories{margin: 0;list-style: none;padding: 0 0 0 15px;}
.sidebar .inner-sidebar .last-preview .info-preview .post-categories li{margin: 0;}
.sidebar .inner-sidebar .last-preview .info-preview .post-categories li a{font-size: clamp(0.55rem, 0.8319rem + 0.1867vw, 0.65rem);}
.sidebar .inner-sidebar .line{display: block; width: 100%;height: 1px;background-color: var(--white);}
/* * tablet */
@media(max-width: 768px){.sidebar .inner-sidebar .last-preview .info-preview p{font-size: clamp(0.75rem, 0.8319rem + 0.1867vw, 0.85rem)}}
/* * phone */
@media(max-width: 430px){.sidebar .inner-sidebar .last-preview .info-preview p{font-size: clamp(0.75rem, 0.8319rem + 0.1867vw, 0.75rem)}}

/* * menu-laterale.php */
.menu-laterale * {list-style: none;text-decoration: none;}
.menu-laterale{position:sticky;height: 60vh;top: 200px;padding-top:45px;padding-bottom: 75px;}
.menu-laterale .row .title h4{margin-bottom: 20px;}
.menu-laterale .row .title{padding-left: 20px;}
.lateral-menu ul{padding: 0 0 0 20px;}
.lateral-menu ul li{line-height: 1.3 !important;}
.lateral-menu ul li a{font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);color: var(--paragraph);}
.menu-laterale .row .lateral-menu .current_page_item > a {color: var(--headline);font-weight: 600;}

.ml-title{transform: translateX(-60%);opacity: 0;}
.menu-laterale{transform: translateX(-30%);opacity: 0;}
.menu-laterale .menu-item{transform: translateX(-30%);opacity: 0;}

/* * categorie.php */
.inner-cat .cat{padding: 0 0 50px 0;}
.inner-cat .cat ul{display: flex;gap: 50px; margin: 0;list-style: none;padding:0 0 0 50px}
.inner-cat .cat ul li{margin-bottom: 0;}
.inner-cat .cat ul li a{text-decoration: none;}

/* * Rankmath breadcrumbs*/
.rank-math-breadcrumb * {text-decoration: none;padding-bottom: 30px;}

/* * back-to-top.php */
.back-to-top{display: flex;justify-content: center;align-items: center;background-color: var(--grey-dark); position: fixed;bottom: 100px;right: 18px;clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);width: 40px;height: 40px;z-index: 10;}
.back-to-top i{color: var(--headline);}



/* ! MODULO DI CONTATTO CF7 */
.mailM{margin-top: 15px;}
.policy,.mailM{display: flex;align-items: center;}
.policy span,.mailM span{font-size: 14px;display: flex;align-items: center;}
.policy span a{display: contents;}
.wpcf7-not-valid-tip{position: absolute;top: -23px;left: 70px; z-index: 1;color: var(--button);font-size: 12px;}
/* ?checkbox personalizzata */
input[type="checkbox"] {display: none;} 
.custom-checkbox {display:flex;align-items:center;justify-content:center;width:17px;height:17px;position:relative;margin-right:15px;overflow:hidden;background-clip:content-box;background-color: var(--tertiary); clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);} 
.custom-checkbox::after {content: '\2B22'; visibility: hidden; font-size: 20px; color: var(--button); margin-bottom: 5px;} 
input[type="checkbox"]:checked + .custom-checkbox::after {visibility: visible;}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{border-color: var(--button);}

/* ! FOOTER */
.footer{background: var(--headline);padding: 30px 0 15px 0;position: relative;z-index: 999;overflow: hidden;}
.footer::after{content: "";position:absolute;clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);background-color: var(--button);z-index: 1;bottom: -50px;right: -50px;width: 300px;height: 300px;opacity: .1;}
.footer *{color: var(--white);}
.footer a{text-decoration: none;font-weight: 300;}
.footer a:visited{color: var(--white);}
.footer .container .row .footer-brand img{width: 200px;}
.footer .container .row .col-lg-4 h4{font-size: clamp(1.125rem, 1.0819rem + 0.1867vw, 1rem);}
.footer .container .row .col-lg-4 p{font-size: clamp(0.75rem, 0.7069rem + 0.1867vw, 0.875rem);}
.footer .container .row .center{padding: 20px 20px 20px 20px;text-align: left;}
.footer .container .row .left{padding: 20px 20px 20px 0;}
.footer .container .row .left .widget{padding: 20px 0 0 0;}
.footer .container .row .right{padding: 20px 0 20px 50px;}
.footer .container .row .right .widget #menu-footer-menu{margin-top: 0px;}
.footer .container .row .right .widget .menu-footer-menu-container ul {list-style: none;padding: 0;}
.footer .container .row .right .widget .menu-footer-menu-container ul a{font-size: clamp(0.75rem, 0.7069rem + 0.1867vw, 0.875rem);color: var(--white);font-weight: 300;}
.footer .container .row .credits{padding: 5px 0 5px 0;}
.footer .container .row .credits .widget h4{font-size: clamp(0.75rem, 0.7069rem + 0.1867vw, 0.875rem);margin-bottom: 5px;}
.footer .container .row .credits .widget p{font-size: clamp(0.625rem, 0.5819rem + 0.1867vw, 0.75rem);}
/* * FOOTER tablet */
@media (max-width: 992px){
  .footer .container .row .col-lg-3{padding-left: 0;}
  .footer .container .row .center{padding: 20px 20px 20px 0;}
  .footer .container .row .right{padding: 20px 0 20px 0;}
}
