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

  /*Theme colors*/
  --background: #ffffff;
  --secondary: #c7c2ba;
  --tertiary: #e0ded8;
  --headline: #003150;
  --paragraph: #191d1f;
  --button: #0071B8;
  --hover: #0097F5;
}
/* 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(--button);}

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-light);}

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;}
blockquote::before { content: '\201C'; color: var(---white); font-size: clamp(1rem, 0.5455rem + 1.9394vw, 2rem); font-weight: 600;}

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;}

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);}

@media (max-width: 430px) {
  iframe{max-width: 100%;}
  
}

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

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

h2 {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.925rem, 0.8767rem + 0.1644vw, 1rem); 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;}

/* Buttons */
/* RIEMPIMENTO */
.wp-block-button .wp-block-button__link:where(.is-style-fill), .wp-block-button:where(.is-style-fill)>.wp-block-button__link  { display: block !important; width: fit-content; color: var(--white) !important;    padding: .667em 1.333em !important; font-weight: 600; border-radius: 0;text-decoration: none;background-color: var(--headline)!important;margin-top: 25px;border: none;transition: all .6s 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 { 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  {display: block !important; width: fit-content; color: var(--headline) !important; padding: .667em 1.333em !important; font-weight: 600; border-radius: 0;text-decoration: none;background-color: var(--white)!important;margin-top: 25px;border: none;transition: all .6s 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  { background-color: var(--white) !important; color: var(--hover) !important;}

/*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;}



/* 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%);}
/* 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%);}
/* 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;}
.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;}
/* 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;}
}


/* !
!
!
! 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: 600){.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);}

.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);}

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


/* ! GUTEMBERG */
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: 1200px !important;}


.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 .has-media-on-the-right{padding: 0 !important;padding-left: 50px !important;}
.wp-block-media-text .wp-block-media-text__content{padding: 0 !important;padding-right: 50px !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;}
}

/* !
!
! 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  span{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;}}
