/* Define global colors */
:root {
    --primary-color: #000000; 
    --accent-color: #FF6F91; 
    --secondary-color: #7b7a7a; 
    --error-color: #D71E1E;
    --light-color: #F5F5F5; 
    --gray-color: #F9F9F9;
    --header-bg: rgba(0, 0, 0, 0.17); 
    --gradient:linear-gradient(135deg, #FFF7DA 0%, #FF6F91 32%,  #6A0572 64%, #2B193D 100%);
}
* {
    font-family: "Nunito Sans", serif;
    font-optical-sizing: auto;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

html {
    font-size: 62.5%; 
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

h1, h2, h3, h4, h5{
    line-height: 1.2;
    text-transform: capitalize;
}

h1 {
    font-size: 8rem;
    font-weight: 600;
    letter-spacing: -4%; 
    line-height: 1.2; 
}

h2 {
    font-size: 4.5rem; 
    font-weight: 400;
    letter-spacing: -2%;
    line-height: 1.3;
}

h3 {
    font-size: 3rem; 
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.35;
}

h4 {
    font-size: 2.5rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

h5 {
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

span {
    font-size: 1.2rem;
    color: var(--gray-color);
    letter-spacing: 0.02em;
    line-height: 1.5;
}

body {
    display: flex;
    flex-direction: column;
    height: 100vh;
    margin: 0;
    background-color: var(--primary-color);
    color: var(--gray-color);
    align-items: center;

    main {
        width: clamp(300px, 100%, 1440px);
    }
}

main {
    flex-grow: 1;
    
    section{
        padding: 8rem 10rem;
        
    }
}



span, td {
    font-family: "Nunito Sans", serif;
    font-size: 1.5rem;
    line-height: 1.5;
}

#header-container nav {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--primary-color);
    padding: 0.5rem 3rem;
    position: fixed; /* Make the header float */
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000; /* Ensure it's on top of other content */
    transition: top 0.3s; /* Smooth hide/show animation */
  
}

#header-container nav:after{
    content: '';
    width: 160px;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 1rem 2rem;
    background-image: url('../assets/logomark.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

#header-container nav ul {
    list-style: none;
    display: flex;
    padding: 0;
    overflow: hidden;
}

#header-container nav ul li {
    margin: 0 1rem;
    align-content: center;
    position: relative;
}

#header-container nav ul a {
    color: var(--gray-color); /* Initial text color */
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 500;
    position: relative;
    background: none;
    z-index: 1;
    overflow: hidden;
    display: inline-block;
    background-clip: text;
    transition: color 0.5s ease-in-out;
}

#header-container nav ul#burger-mode {
    display: none
}

#burger-nav {
    color: var(--gray-color); /* Initial text color */
    font-size: 2rem;
    font-weight: 500;
    position: relative;
    background: none;
    z-index: 1;
    overflow: hidden;
    display: inline-block;
    background-clip: text;
    transition: color 0.5s ease-in-out;
}

#header-container nav ul a:hover,
#burger-nav:hover {
    color: var(--accent-color);
}

#header-container nav ul a:hover:after {
    top: 0; 
}

table, th, td {
    border-collapse: collapse;
}

tr:has(td):hover {
    background-color: rgb(255, 255, 255, 0.1);
}

footer#footer-container {
    padding: 2rem 4rem;
    display: flex;
    justify-content: center;
    align-content: center;
    width: 100%;
    gap: 5rem;
}

footer#footer-container p {
    margin:0;
}

footer#footer-container h3 {
   margin: 2rem 0;
}

#footer-hr {
    border: 0.5px solid var(--secondary-color);
    border-radius: 3px;
}

footer#footer-container section#socials-container{
    height: 100%;
    display: flex;
    column-gap: 10px;
    align-items: center;
 }

footer#footer-container section#socials-container a{
   text-decoration: none;
   color: var(--primary-color);
   font-size: 1.5rem;
   font-weight: 100;
   width: 30px;
   height: 30px;
   background-color: var(--light-color);
   border-radius: 50%;
   display: flex;
   justify-content: center;
   align-items: center;
}

button {
    font-size: 1.5rem;
    background: none;
    border: none;
    color: var(--secondary-color);
    opacity: 80%;
    transition-property: opacity, color;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

button:hover{
    color: var(--light-color);
    opacity: 100%;
    cursor: pointer;
}



table {
    table-layout: fixed;
    border-collapse: collapse;
}

th {
    font-size: 2rem;
    border-bottom: 1px solid var(--secondary-color);
}

td {
    font-size: 1.5rem;
    font-weight: 100;
    
}

th:nth-child(1) {
    text-align: left;
    padding-left: 0;
}

th, td:not(td:nth-child(1)) {
    padding: 2rem 4rem;
    text-align: center;
}

tr:has(td) {
    color: var(--light-color);
    cursor: pointer;
    position: relative;
    
}

tr:has(td) td {
    font-weight: 100;
    overflow: hidden;
    text-overflow: ellipsis;
    text-wrap: nowrap;
    transition: font-weight 0.3s ease-in-out;
    
    
}

tr:has(td):hover td {
    font-weight: 800;
    color: var(--light-color);
}
