* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, sans-serif;
  scroll-behavior: smooth;
}

footer {
  text-align: center;;
}

p {
  font-size: 1.2rem;
}

a.skiplink {
   position: absolute;
   left: -99999px;
}

a.skiplink:focus {
   position: static;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 5rem;
  background: #2C2C2C;
  padding: 1rem;
  z-index: 1000;
}

nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 4rem;
  font-size: 2rem;
}

nav a {
  text-decoration: none;
  color: #FFFFFF;
  font-weight: bold;
  transition: color 0.3s, border-bottom 0.3s;
}

nav a:hover,
nav a.active {
  color: #FFB74D;
  border-bottom: 0.125rem solid #FFB74D;
}

img {
  height: 20px;
}

li, p {
  text-align: center;
  list-style-type: none;
}

section {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  padding: 2.5rem;
  text-align: center;
}

h1 {
   color: #FFFFFF;
}

h2 {
  margin-bottom: 5rem;
}

#home { 
  background-image: url(/assets/IMG/background_img.jpg);
  background-size: cover;
  filter: opacity(200%);
}

#portfolio { 
  background: #E0E0E0; 
  color: #000; 
  height: auto;
}

#about { 
  background: #BDBDBD; 
  color: #000; 
}

#contact { 
  background: #9E9E9E; 
  color: #000; 
}

section a {
  color: #2C2C2C;
  font-weight: bold;
  text-decoration: underline;
}
section a:hover {
  color: #FFB74D;
}

form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 25rem;
  width: 100%;
  text-align: left;
}

label {
  font-weight: bold;
}

input, textarea {
  padding: 0.625rem;
  border: 0.125rem solid #2C2C2C;
  border-radius: 0.313rem;
  font-size: 1rem;
}

button {
  background: #2C2C2C;
  color: #FFFFFF;
  padding: 0.75rem;
  border: none;
  border-radius: 0.313rem;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s;
}

button:hover {
  background: #FFB74D;
  color: #000;
}

#contact form {
  margin-bottom: 2rem;
}

#contact .main {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.main .button {
  background-color: #FFFFFF;
  width: 3.5rem;
  height: 3.5rem;
  float: left;
  border-radius: 3.125rem;
  margin: 0 0.75rem;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.15);
  transition: all .3s ease-in-out;
}

.main .button a {
  color: #FFFFFF;
  text-decoration: none;
  display: inline-block;
  padding-left: 0.5rem;
}

.main .button:hover {
  width: 10rem;
  color: #FFFFFF;
}

.main .button:nth-child(1):hover {
  background-color: #4267b2;
  color: #FFFFFF;
}

.main .button:nth-child(2):hover {
  background-color: #24292f;
  color: #f5f5f5;
}

.button .s-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 2rem;
  height: 3.5rem;
  border-radius: 50%;
  text-align: center;
  transition: all .3s ease-in-out;
}

.button .s-icon i {
  font-size: 1.5rem;
}

.button span {
  font-size: 1.125rem;
  font-weight: 600;
}