﻿/* Version: 2026.05.06 */

/* Variabili generali */
:root {
--bg-color: #ffffff;
--tx-color: #000000;
--lk-color: #2C3E50;
--lk-hover: #4A90E2;
}

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

/* Reset essenziale */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
width: 100%;
background-color: var(--bg-color);
color: var(--tx-color);
font-family: 'Inter','Noto Sans','Roboto',sans-serif;
    line-height: 1.5;
  background-image:
    radial-gradient(circle at 0% 0%, rgba(255, 23, 2, 0.15) 0%, transparent 30%),
radial-gradient(circle at 100% 0%, rgba(0, 255, 195, 0.15) 0%, transparent 30%),
radial-gradient(circle at 100% 100%, rgba(0, 119, 255, 0.15) 0%, transparent 30%),
radial-gradient(circle at 0% 100%, rgba(255, 166, 0, 0.15) 0%, transparent 30%),
url('/images/grafo-left.svg'),
url('/images/grafo-right.svg');
  background-position:
0% 0%,
100% 0,
100% 100%,
0 100%,
left top,
right top;
background-repeat:
no-repeat,
no-repeat,
no-repeat,
no-repeat,
repeat-y,
repeat-y;
background-attachment: fixed;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}

.header-master {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 10vh;
padding: 0 18%;
background-color: #F4F4FC;
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}

.logo {
display: inline-block;
height: 100%;
width: auto;
margin-right: 2vw;
}

.nav-master {
height: 100%;
}

.nav-master ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
height: 100%;
list-style: none;
gap: 2rem;
}

.header-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
font-size: 0px;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
display: inline;
}

.link-master {
color: var(--lk-color);
text-decoration: none;
font-size: 1.25rem;
font-weight: 500;
position: relative;
  transition: color 0.3s;
overflow: hidden;
  white-space: nowrap;
text-overflow: ellipsis;
}

.link-master:hover,
.link-master:focus {
color: var(--lk-hover);
}

.link-master::after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 3px;
background: var(--lk-hover);
transition: width 0.3s;
}

.link-master:hover::after,
.master:focus::after {
width: 100%;
}

.footer-master {
width: 100%;
margin-top: 2rem;
padding: 1rem 18%;
background-color: #F4F4FC;
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
display: flex;
justify-content: space-between;
align-items: center;
}

.footer-master p {
width: 60%;
text-align: right;
}

main {
margin-top: 12vh;
    width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 1rem;
text-align: center;
font-weight: 600;
}

h1 {
font-size: 2rem;
}

h2 {
font-size: 1.5rem;
}

h3 {
font-size: 1.25rem;
}

.logo-anim {
position: relative;
margin: 2vh;
width: 20%;
aspect-ratio: 1;
}

.logo-anim::before {
content: "";
position: absolute;
inset: 0;
background-image: url('/images/logo-iblaris-anim.svg');
background-repeat: no-repeat;
background-position: center;
background-size: contain;
opacity: 1;
pointer-events: none;
}

