:root {
  --mainFont: 'Poppins', sans-serif;
  --serif: 'Playfair Display', serif;
  --background: #faf9f5;
  --primary:#3D3D3D;
  --secondary:#0D4B6E;
  --accent:#E24C51;
  --overlay: rgba(61,61,61,0.95);
  --theme: "LIGHT MODE";
  --theme-icon: "\f185";
}

[data-theme="dark"] {
--background:#3d3d3d;
--primary: #87b6a4;
--secondary: #faf9f5;
--accent: #E24C51;
--overlay: rgba(135,182,164,0.95);
--theme: "DARK MODE";
--theme-icon: "\f186";
}



*,
*::before,
*::after {
box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
list-style: none;
}

/* Set core root defaults */
html{
scroll-behavior: smooth;
}
html:focus-within {
scroll-behavior: smooth;
}

/* Set core body defaults */
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
max-width: 100%;
display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
html:focus-within {
 scroll-behavior: auto;
}

*,
*::before,
*::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
}


body {
  background-color: var(--background);
  font-family: var(--mainFont);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.navbar{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 2rem;
height: clamp(50px,75px,10vh);
width: 100%;
background: var(--primary);
position: fixed;
z-index: 10;
}
.nav-link {
text-decoration: none;
text-transform: uppercase;
font-weight: 700;
color: var(--background);
background-image: linear-gradient(
  transparent 0%,
  transparent 90%,
  var(--accent) 90%,
  var(--accent) 100%
);
background-repeat: no-repeat;
background-size: 0% 100%;
background-position-x: right;
transition: background-size 300ms ease-out, color 300ms ease-out;
}
.active{
color: var(--accent);
}
.intro {
display: flex;
flex-direction: column;
justify-content: space-between;
width:90%;
height: 80vh;
margin: 7rem auto 0 auto;
background-image: url(content/images/woodsBackground.jpg);
background-size: cover;
background-position: center top;
border-radius: 6px; 

}


.intro--heading {
  color: var(--primary);
  background:var(--background);
  text-transform: uppercase;
  font-size: clamp(1.75rem, 5vw, 4rem);  
  margin-top: 4rem;
}
.intro--heading2 {
  color: var(--primary);
  background:var(--background);
  text-transform: uppercase;
  font-size: clamp(1.75rem, 5vw, 4rem);  
  margin-bottom: 4rem;
  text-align: end;
}





/* dark theme icon */

.theme__icon::before{
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: inline-block; 
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
font-family: "Font Awesome 5 Pro";
content: var(--theme-icon);
color: var(--background);
transition: color 300ms ease-out;
font-weight: 900;
}
.theme__icon:hover::before{
color: var(--accent);
cursor: pointer;
}

/* portfolio */
.portfolio{
padding-top: 4rem;
}
.portfolio__header {
display: flex;
justify-content: center;
margin-top: 1.5rem;
margin-bottom: 4rem;
}
.portfolio__header__text{
font-size: clamp(1.75rem, 5vw, 4rem); 
font-family: var(--mainFont);
color: var(--accent);
}

.portfolio__items{
display: flex;
width: 100%;
justify-content: space-around;
flex-wrap: wrap ;
gap:2rem;
}
.portfolio__item{
display: flex;
flex-direction: column;
text-align: center;
line-height: 1.5rem;
padding-top: 1.5rem;
border: var(--overlay) solid 1px;
box-shadow: 0px 0px 2.5px var(--primary);
position: relative;
transition: box-shadow 300ms ease-out;
}
.portfolio__item:hover{
box-shadow: 0px 0px 10px var(--primary);
}
.portfolio__item__overlay{
position: absolute;
top: 0;
left: 0;
height: 100%;
background-color: var(--overlay);
width: 100%;
opacity: 0;
transition: 300ms ease;
color: var(--background);
display: flex;
flex-direction: column;
justify-content: center;
gap:2rem;
padding: 1rem;
}
.portfolio__item__overlay P{
font-weight: 400;
}
.overlay__button{
text-decoration: none;
color: var(--background);
padding: .5rem 1rem;
border: 2px solid var(--background);
background-color: var(--primary);
border-radius: 6px;
font-size: 1rem;
font-weight: 800;
transition: 300ms ease;
}
.overlay__button:hover{
background-color: var(--background);
color: var(--primary);
}
.portfolio__item:hover .portfolio__item__overlay{
opacity: 1;
}
.portfolio__item__text {
max-width: 350px;
}
.portfolio__item__text h2{
font-weight: 500;
color: var(--primary);
font-family: var(--mainFont );
}
.portfolio__item__text p {
text-decoration: none;
font-family: var(--serif);
font-style: italic;
color: var(--accent);
font-size: 1.25rem;
}

.portfolio__image {
height: 250px;
width: 350px;
object-fit: contain;
overflow: hidden;
margin-top: 1.5rem;


}
.portfolio__image img{
flex: 1;
width: 100%;
height: auto;
}
/* resume section */
.resume {
padding-top: 4rem;
margin: 0 1rem 0 1rem;
}
.resume__header {
display: flex;
justify-content: center;
margin-top: 1.5rem;
margin-bottom: 4rem;
}
.resume__header__text{
font-size: clamp(1.75rem, 5vw, 4rem); 
font-family: var(--mainFont);
color: var(--primary);
}



.resume__container{
display: flex;
flex-direction: row;  
flex-wrap: wrap;
justify-content: space-around;
gap: 4rem;
}

/* experience / education */
.experience {
font-family: var(--mainFont);
background-color: var(--primary);
color: var(--background);
padding: 1rem;
flex: 1 1 0px
}
.experience--heading{
font-size: clamp(1rem, 2vw, 2rem); 
color: var(--accent);
text-align: center;
}
.job, .school {
margin-top: 1rem;
}
.education {
font-family: var(--mainFont);
color: var(--primary);
padding: 1rem;
flex: 1 1 0px;
}
.education--heading{
font-size: clamp(1rem, 2vw, 2rem); 
color: var(--accent);
text-align: center;
}


.school{
display: flex;
flex-direction: column;
}

/* about section */
.about{
padding-top: 4rem;
margin: 0 1rem 0 1rem;


}
.about__header {
display: flex;
justify-content: center;
margin-top: 1.5rem;
margin-bottom: 2rem;
}
.about__header__text{
font-size: clamp(1.75rem, 5vw, 4rem); 
font-family: var(--mainFont);
color: var(--accent);
}
.about__container{
width: clamp(20rem, 50%, 40rem);
margin: auto;
text-align: center;
color: var(--primary);
display: flex;
flex-direction: column;
align-items: center;
}
.about__container__contact{
display: flex;
justify-content: center;
margin: 2rem 0 2rem 0;
}
.about__container__contact a{
text-decoration: none;
color: var(--accent);

}
.contact__button{
text-decoration: none;
color: var(--accent);
padding: .5rem 1rem;
border: 2px solid var(--primary);
background-color: var(--primary);
border-radius: 6px;
font-size: 2rem;
font-weight: 800;
transition: 300ms ease-in-out;
}
.contact__button:hover{
transform: scale(1.05,1.05);
}
.about__container__image{
background-image: url(content/images/meeee.jpg);
height: 300px;
width: 300px;
background-position: center center;
background-size: cover;
border-radius: 50%;
background-repeat: no-repeat;
margin-bottom: 4rem;
}

.footer{
width: 100%;
background-color: var(--primary);
display: flex;
flex-direction: column;
justify-content: center;
gap: 1rem;
align-items: center;
color: var(--background);
text-decoration: none;
padding: 1rem 0;
} 
.footer a{
text-decoration: none;
color: var(--background);
transition: color 300ms ease-in-out;
}
.footer a:hover{
color: var(--accent);
}
.social{
display: flex;
justify-content: center;
align-items: center;
gap: 1rem;
}

.copyright {
text-align: center;
}

/* media queries */
/* tablets - phones */
@media (max-width: 768px) {

.navbar{
gap: 1rem;
}

.intro--heading{
text-align: center;
}
.intro--heading2{
text-align: center;
}

}


/* desktop spacing */
@media (min-width: 768px) {
.portfolio{
  margin-top: 8rem;
}

.resume{
  margin-top: 8rem;
}

.about{
  margin-top: 8rem;
  margin-bottom: 8rem;
}
}

/* fixes hover state sitcking on mobile */
@media (hover: hover) {
.nav-link:hover{
  color: var(--accent);
  background-size: 100% 100%;
  background-position-x: left;
}
}
