/*
Theme Name: Fedo's Portfolio Custom
Description: Tema custom
Version: 1.0
*/

@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/* Thunder Font Family */

@font-face {
  src: url("../fonts/Thunder-ThinLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 100;
}
@font-face {
  src: url("../fonts/Thunder-ExtraLightLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 200;
}
@font-face {
  src: url("../fonts/Thunder-LightLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 300;
}
@font-face {
  src: url("../fonts/Thunder-LC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 400;
}
@font-face {
  src: url("../fonts/Thunder-MediumLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 500;
}
@font-face {
  src: url("../fonts/Thunder-SemiBoldLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 600;
}
@font-face {
  src: url("../fonts/Thunder-BoldLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 700;
}
@font-face {
  src: url("../fonts/Thunder-ExtraBoldLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 800;
}
@font-face {
  src: url("../fonts/Thunder-BlackLC.otf") format("opentype");
  font-family: "Thunder";
  font-weight: 900;
}

/* Sloop Script */
@font-face {
  font-family: "Sloop";
  src: url("../fonts/Sloop-ScriptThree.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

p,
h1,
h2,
h3,
h4,
h5,
body,
html {
  margin: 0px;
  padding: 0px;
}

body {
  overflow-x: hidden;
}

.loadingHome {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: black;
  display: flex;
  justify-content: center;
  align-items: center;
}
.smallTextLoading {
  font-family: "Inter";
  font-size: 1rem;
  text-transform: uppercase;
  color: grey;
  position: absolute;
}
.text1 {
  top: 32px;
  left: 32px;
}
.text2 {
  top: 32px;
  right: 32px;
}
.text3 {
  bottom: 32px;
  left: 32px;
}
.text4 {
  bottom: 32px;
  right: 32px;
}
.wrapTextLoading {
  width: max-content;
  height: max-content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  position: relative;
}
.textLoading,
.loadingPercentage {
  font-family: "Thunder";
  font-weight: 800;
  color: white;
  text-transform: uppercase;
  font-size: 8rem;
}
.textLoadingAnd {
  font-family: "Sloop";
  color: white;
  text-transform: uppercase;
  position: absolute;
  font-size: 12rem;
  right: -16px;
  top: -32px;
  text-shadow: 6px 6px 0 black, -6px 6px 0 black, 6px -6px 0 black,
    -6px -6px 0 black;
}
.videoHero {
  width: 100%;
}
.loadingPercentage {
  position: absolute;
  color: #ffd400;
  mix-blend-mode: difference;
}
.mask {
  position: absolute;

  height: 0px;
  width: 750px;
  overflow: hidden;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.navHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; /* full width of the viewport */
  z-index: 100;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center; /* optional, for vertical centering */
  padding: 32px 32px; /* your "margins" inside */
  box-sizing: border-box; /* ensures padding doesn’t break width */
}
.logoHeader {
  font-family: "Thunder";
  font-weight: 700;
  text-transform: uppercase;
  font-size: 3rem;
}
.headerNav {
  padding: 8px;
  display: flex;
  flex-direction: row;
  background-color: black;
  border-radius: 1000px;
  gap: 8px;
}

.headerNav a {
  font-family: "Thunder";
  font-size: 2rem;
  font-weight: 500;
  text-transform: uppercase;
  padding: 4px 16px;
  border-radius: 1000px;
  color: white;
  transition: all 0.3s ease;
  text-decoration: none;
}
.headerNav a:hover {
  background-color: white;
  color: black;
}
a.current-menu-item {
  background-color: white;
  color: black;
  text-decoration: underline;
}
.hero {
  height: 100vh;
  width: 100vw;
}
.wrapProgetti {
  margin: 96px 32px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.wrapProgettiArchive {
  margin: 196px 32px 96px 32px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.imgGrid {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  object-fit: cover;
}
.wrapHead {
  grid-column: span 12;
  padding-bottom: 16px;
}
.head {
  font-family: "Inter";
  font-size: 1rem;
  text-transform: uppercase;
}
.gridProgetto {
  grid-column: span 4;
  position: relative;
  transition: all 0.3s ease;
}
.gridProgetto:hover {
  transform: translateY(-5px);
}
.titleGrid {
  font-family: "Inter";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: black;
  color: white;
  padding: 20px;
  font-size: 1rem;
  font-weight: 600;
  /* Centra il testo */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* Nascosto di default */
  opacity: 0;
  transition: opacity 0.3s ease;
  text-transform: uppercase;
}

/* Mostra il titolo solo al hover */
.gridProgetto:hover .titleGrid {
  opacity: 1;
}
.btnWorks {
  font-family: "Thunder";
  text-transform: uppercase;
  font-size: 1.5rem;
  grid-column: 5 / span 4;
  padding: 16px 64px 12px 64px;
  border: black solid 2px;
  text-decoration: none;
  color: black;
  font-weight: 600;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 8px;
  transition: all 0.3s ease;
}
.arrowDownRight {
  width: 24px;
  height: 24px;
  color: black; /* cambia colore */
  padding-bottom: 4px;
  transition: all 0.3s ease;
}
.btnWorks:hover {
  background-color: black;
  color: white;
}
.btnWorks:hover .arrowDownRight {
  color: white;
}

.clientiList {
  grid-column: span 12;
  position: relative;
}

.titleCliente {
  grid-column: span 8;
  font-size: 8rem;
  font-weight: 700;
  text-transform: uppercase;
  font-family: "Thunder";
  color: #dfdfdf;
  text-decoration: none;
  transition: all ease 0.3s;
}
.titleCliente:hover {
  color: black !important;
}
.coverGrid {
  grid-column: span 4;
  position: sticky;
}

.wrapClienti {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin: 0px 32px 128px 32px;
}

.clientiWrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  grid-column: span 12;
}
.clientiCover {
  flex: 1;
  position: sticky;
  top: 6rem;
  align-self: start;
  float: right;
}
.imgCliente {
  width: 50%;
  aspect-ratio: 16/9;
  height: auto;
  object-fit: cover;
  position: absolute;
  right: 0;
}
.clientiTitoli {
  display: flex;
  flex-direction: column;
}
.wrapImgHeroSingle {
  width: 100vw;
  height: 100vh;
  position: relative;
  margin-bottom: 192px;
}
.imgHeroSingle {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wrapImgHeroSingle::after {
  content: "";
  position: absolute;
  inset: 0; /* shorthand for top/right/bottom/left: 0 */
  background: linear-gradient(
    to top,
    /* direction: bottom → top */ rgba(0, 0, 0, 0.4) 0%,
    /* dark at bottom */ rgba(0, 0, 0, 0) 30% /* fade to transparent upwards */
  );
  pointer-events: none; /* let clicks go through */
}
.titleLavoro {
  position: absolute;
  bottom: 64px;
  left: 32px;
  font-family: "Thunder";
  font-weight: 700;
  color: white;
  text-transform: uppercase;
  font-size: 8rem;
  z-index: 1000;
}
.datiLavoro {
  margin: 0px 32px;
}
.wrapDescLavoro {
  margin-bottom: 192px;
}
.descLavoro {
  font-family: "Thunder";
  font-weight: 700;
  color: black;
  text-transform: uppercase;
  font-size: 4rem;
  z-index: 1000;
}
.wrapDatiSingle {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  margin-bottom: 16px;
  text-transform: uppercase;
  gap: 16px;
}
.colDatiSingle {
  grid-column: span 3;
  font-size: 8px;
  font-family: "Inter";
}
.fieldeDatiSingle {
  font-weight: 500;
}
.wrapImgsTotale {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.img1Single,
.img2Single,
.img3Single,
.img4Single,
.img5Single,
.img6Single {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.img1Single {
  grid-column: span 12;
}
.img2Single {
  grid-column: span 6;
}
.img3Single {
  grid-column: span 6;
}
.img4Single {
  grid-column: span 4;
}
.img5Single {
  grid-column: span 4;
}
.img6Single {
  grid-column: span 4;
}
.wrapReels {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

.reelItem {
  width: calc(25% - 16px);
  aspect-ratio: 9 / 16;
  height: auto;
  display: flex;
}

.headWorksArchive {
  font-family: "Thunder";
  font-weight: 700;
  color: black;
  text-transform: uppercase;
  font-size: 8rem;
}

.wrapAbout {
  margin: 196px 32px 0px 32px;
  display: flex;
  flex-direction: column;
  gap: 96px;
}
.heroAbout {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.headHeroAbout {
  font-size: 8rem;
  font-weight: 700;
  color: black;
  font-family: "Thunder";
}
.valoriFotoWrap {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.valoriCol,
.fotoCol {
  grid-column: span 6;
}
.valoriCol {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.valoriWrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
}
.rowVal {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 16px;
}
.numeroVal,
.val {
  font-size: 1rem;
  font-family: "Inter";
  font-weight: 600;
  text-transform: uppercase;
}

.divider {
  height: 1px;
  background-color: black;
  width: 100%;
}
.valoriColHead {
  font-size: 1rem;
  font-family: "Inter";
}
.fotoCol {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.imgCol {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.headFotoCol {
  font-size: 4rem;
  font-weight: 700;
  color: black;
  font-family: "Thunder";
  text-transform: uppercase;
}
.approachHead {
  font-size: 1rem;
  font-family: "Inter";
  font-weight: 600;
  text-transform: uppercase;
}
.approachWrap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.numbersWrap {
  display: flex;
  flex-direction: column;
  gap: 300px;
  margin-top: 196px;
}
.numbersCol {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.numbersRow {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: end;
  justify-content: end;
  border-bottom: solid 1px #dfdfdf;
  padding-bottom: 32px;
}
.number {
  font-family: "Thunder";
  font-size: 50rem;
  font-weight: 700;
  line-height: 50%;
  color: #dfdfdf;
}
.numberHead {
  font-family: "Thunder";
  font-size: 10rem;
  font-weight: 700;
  text-align: right;
  text-transform: uppercase;
  color: #dfdfdf;
}
.and {
  font-family: "Sloop";
  font-size: 12rem;
  font-weight: 500;
  color: #dfdfdf;
}
.gridNumberDesc {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.numbersDesc {
  font-family: "Inter";
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  text-align: right;
  grid-column: 9 / span 4;
  color: #dfdfdf;
}
.toolsWrap {
  margin-top: 96px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.headTools {
  margin-left: 32px;
  font-family: "Inter";
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}
.toolsBoxes1 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px;
}
.toolsBoxes2 {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 0px;
}
.toolsBox {
  grid-column: span 3;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-top: solid 1px black;
  border-right: solid 1px white;
  border-bottom: solid 1px black;
  aspect-ratio: 1/1;
  height: auto;
}
.toolsBox2 {
  grid-column: span 2;
  display: flex;
  justify-content: center;
  align-items: center;

  border-right: solid 1px black;
  border-bottom: solid 1px black;
  aspect-ratio: 1/1;
  height: auto;
}
.iconTool {
  height: 64px;
  padding: 64px;
  object-fit: cover;
}
.toolsBoxesWrap {
  display: flex;
  flex-direction: column;
  gap: 0px;
  position: relative;
}
.toolsBox,
.toolsBox2 {
  position: relative;
  z-index: 1; /* above the hover background */
  background-color: white;
  mix-blend-mode: difference;
}
.toolsHoverBg {
  position: absolute;
  top: 0;
  left: 0;
  background-color: white;
  z-index: 0; /* behind the boxes */
  pointer-events: none; /* so it doesn’t block hover */
  transform: translate(0, 0);
  transition: all 0.3s ease; /* fallback if JS fails */
  opacity: 1;
}
.contactMe {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin: 0px 32px;
}
.colContactMe {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.colForm {
  grid-column: 9 / span 4;
}

.headContactMe {
  font-family: "Thunder";
  font-size: 6rem;
  text-transform: uppercase;
  font-weight: 700;
}
.ctaContactMe {
  font-family: "Inter";
  font-size: 1rem;
  font-weight: 300;
}
.bold {
  font-weight: bold;
}
.social {
  font-family: "Inter";
  font-size: 4rem;
  font-weight: 600;
  text-decoration: none;
  color: black;
  transition: all ease 0.3s;
}
.social:hover {
  color: #545454;
}
.socials {
  display: flex;
  flex-direction: column;
  gap: 0px;
}
.nameCol,
.mailCol {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.label {
  font-family: "Inter";
  font-size: 1rem;
}
.contactForm {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.input {
  padding: 0px;
  background-color: transparent;
  border: none;
  font-family: "Inter";
  font-size: 2rem;
  font-weight: 600;
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
  box-shadow: none;
  border: none;
}

textarea {
  resize: none;
  border: none;
  padding: 0px;
  background-color: transparent;
  border: none;
  font-family: "Inter";
  font-size: 2rem;
  font-weight: 600;
  height: 164px;
}
/* Hide the radio buttons */
.budgetOptions input[type="radio"] {
  display: none;
}

/* Default text color */
.budgetOptions label span {
  color: #dfdfdf;
  cursor: pointer;
  display: block;
  margin-bottom: 0.5rem;
  transition: color 0.2s;
  font-family: "Inter";
  font-size: 2rem;
  font-weight: 600;
}

/* Change text color when checked */
.budgetOptions input[type="radio"]:checked + span {
  color: black;
  text-decoration: underline;
}

/* Optional: hover effect */
.budgetOptions label span:hover {
  color: #8d8d8d;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #fff inset; /* match background */
  -webkit-text-fill-color: #000; /* black text */
  transition: background-color 5000s ease-in-out;
}

/* Autofill styling for Firefox */
input:-moz-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
  -moz-text-fill-color: #000;
}
.btnForm {
  margin-top: 0px;
}
.wrapFooter {
  margin: 128px 0px 0px 0px;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.footer {
  background-color: black;
  padding: 32px 32px;
  display: flex;
  flex-direction: column;
  gap: 196px;
  justify-content: space-between;
}
.row1Footer,
.row2Footer {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.col1Row1,
.col1Row2 {
  grid-column: span 7;
}
.col2Row1,
.col2Row2 {
  grid-column: 9 / span 4;
}
.nameFooter {
  font-size: 12rem;
  color: white;
  font-family: "Thunder";
  font-weight: 700;
}
.white {
  color: white;
}
.testalinoFooter {
  color: #8c8c8c;
  font-family: "Inter";
  font-size: 1rem;
  font-weight: 400;
}
#copyBtn {
  border: 0px;
  background-color: transparent;
  width: fit-content;
  padding: 0px;
  margin: 0px;
}
