
@font-face {
  font-family: "Inter";
  font-weight: normal;
  font-style: normal;
}


/*PORTFOLIO MAIN GRIDS LAYOUT*/

header {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: auto 1fr;
}


div.middlesection {

	display: grid;
	grid-template-columns: 1fr 1fr;	
	grid-template-rows: 1fr 1fr 1fr;
	background-color: black;
}

footer {

	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	
}

/*-----TOP NAVIGATE PAGE HEADERS ---*/

.portfolio {
	grid-column: 4 / 4;
	align-items: center;
  justify-content: space-between;
  align-content: stretch;
  text-align: right;
  color: black;
	font-size: 20px;
	font-family: "Inter";
	padding-right: 20px;
	text-decoration: none;
	padding-top: 20px;
}

.coverletter {
	grid-column: 1 / 4;
	align-items: center;
  justify-content: space-between;
  align-content: stretch;
  text-align: left;
  color: black;
	font-size: 20px;
	font-family: "Inter";
	padding-left: 20px;
	text-decoration: none;
	padding-top: 20px;
}

div.header1 a {
	text-decoration: none;
	color: black;
	font-size: 20px;
	font-family: "Inter";
	padding-right: 40px;
	padding-left: 40px;

}

div.spinstar {
	grid-column-start: 1;
	grid-column-end: 4;
}


nav {
	color: black;
	font-size: 25px;
	font-family: "Inter";
	padding-right: 15px;
	padding-top: 10px;
	text-decoration: none;

}

div.CONTACT {
	grid-column: 4 / 4;
	grid-row: 3 / 4;
	text-align: right;
}

div.CONTACT a {
	color: black;
	font-size: 20px;
	font-family: "Inter";
	padding-right: 30px;
	text-decoration: none;

}

div.arrow {
	grid-column: 3 / 4;
	grid-row: 4 / 4;
	align-content: center;
	padding-bottom: 60px;
}

div.topimage {
	grid-column: 4 / 4;
	grid-row: 2;
	padding-top: 60px;
	align-content: right;
	/*padding-left: 40px;*/

}

div.topimage img {
	width: 50%;
	align-content: center;
	
}

/*PORTFOLIO PAGE1 HEADERS TEXT---------------*/

h2 {
	color: black;
	font-size: 25px;
	font-family: "Inter";
	padding-right: 25px;
	text-align: right;
	padding-top: 10px;
}


h1 {
	
	color: black;
	font-size: 75px;
	font-family: "Inter";
	padding-top: 5px;
	padding-right: 20px;
	padding-left: 20px;
}



h3 {
	
	color: white;
	font-size: 25px;
	font-family: "Inter";
	text-align: center;
	padding-right: 40px;
	
}

.scroll {
	font-size: 80px;
	font-family: inter;
}



/*MIDDLE SECTION CONTENT HERE ONLY---------------*/

img {
	max-width: 100%;
	height: auto;
	
}

div.middlesection p {
	color: white;
}

div.work { 
	padding: 75px;
	align-content: center;

}

div.work img { 
	align-content: center;
    width: 100%;
    position: relative;
    height: 400px;

}

.picture {
	 object-fit: cover;
	 animation-name: hoverlarge;
	 max-width: 100%;
	 height: auto;
}


#work-one {
	grid-column: 1 / 2;

}

#work-two {
	grid-column-start: 1;
	grid-row: 2 / 3;
	
}

#work-three {
	grid-column-start: 1;
	grid-row: 3 / 3;
	
}


#work-four {
	grid-column-start: 2;
	grid-row-start: 1;
	
}

#work-five {
	grid-column-start: 2;
	grid-row-start: 2;
	
}

#work-six {
	grid-column-start: 2;
	grid-row-start: 3;
	

}

.project-title {
	font-size: 20px;
	font-family: "Inter";
	text-align: left;
	grid-column: 1 / 2;
}


.project-caption {
	font-size: 15px;
	font-family: "Inter";
	font-weight: 500;
	text-align: center;
}


.end-text {
	font-size: 40px;
	font-family: "Inter";
	font-weight: 600;
	text-align: center;
	grid-column: 2 / 3;
	margin: 100px;
	margin-top: 150px;
	margin-bottom: 150px;
	
}

.end-text span{
	font-size: 35px;
	font-family: "Inter";
	font-weight: 700;
	color: hotpink;
	margin-top: 60px;
}



/*ANIMATIONS INFO--------------------*/

@keyframes hoverlarge{
	25%{
		transform: scale(105%);
	}
	50%{
		transform: scale(100%);
	}
	70%{
		transform: scale(105%);
	}
	100%{
		transform: scale(100%);
	}
}

@keyframes rotate{
	0%{
		transform: rotate(0deg);
		color: hotpink;
	}

	25%{
		color: pink;
	}
	100%{
		transform: rotate(180deg);
		color: black;
	}
}

div.spinstar span:hover{
	animation-name: rotate;
	animation-duration: 5s;
	animation-iteration-count: infinite;
	display-inline: block;
	animation: rotate 3s infinite linear;
}

div.work img:hover{
	animation-name: hoverlarge;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

/*- updated code for CV FLEX BOX page and BACKIMAGE*/

h1.about-me {
	color: black;
	line-height: 1.2em;
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 100px;
	z-index: 10;
}

.cv-main-tags {
  margin-top: 0;
  color: black;
  font-size: 24px;
  font-weight: 700;
  padding-top: 10px;
  text-align: left;
}



.cv-page {
background-color: white;
font-family: 'Inter';

}

.cv-section {
display: flex;
flex-direction: row;
gap: 60px;
margin-top: 40px;
padding: 20px;
font-family: 'Inter';
background-image: url(https://i.pinimg.com/1200x/f6/65/39/f665394416ec570e357a0ac29b8ec2f8.jpg);
background-repeat: no-repeat;
background-size: cover;
}

.cv-text a {
	font-display: none;
	font-family: 'Inter';
	color: black;
	font-style: regular;
	font-display: normal;
	text-decoration: none;
	
}

.cv-image {
  margin-top: -70px;
  object-fit: cover;

}
.imagem-texto {
  flex: 1;

}


.about-me {
  margin-bottom: 100px;
  color: black;
  line-height: 1.2em;
}

.Features-list {
color: black;
flex: 1;
font-size: 12px;
}

.education {
  margin-top: 0;
  color: black;
}

.cv-text {
  font-family: 'Inter';
  font-size: 1.2em;
margin-bottom: 4px;
text-decoration: bold;
font-size: 1rem;
}

.year  {
  font-style: regular;
  margin-top: 0;
  font-size: 0.8rem;
}

.description {
  font-family: 'Inter';
  margin-top: 0;
  font-size: 12px;
  margin-bottom: 15px;
}

.more-info-cv {
  grid-column: 5 / 5;
  text-decoration: none;
  color:  black;
  font-size: 1rem;
  display: flex;
  justify-content: space-between;
}

.more-info-cv a {
  color:  black;
  text-decoration: none;
}


/*===================================================
-------MEDIA SCREENS CODING--------------------
===================================================*/



/* ===================================================
  TOP SECTION MEDIA SCREEN PORTFOLIO---------------
   ===================================================

/* ===== TABLET: 601px to 1000px ===== */
@media screen and (min-width: 601px) and (max-width: 1000px) {
  
  header {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
    grid-template-rows: auto auto 1fr auto !important;
  }

  .coverletter {
    grid-column: 1 / 4 !important;
    grid-row: 1 !important;
    padding-left: 20px !important;
    padding-top: 20px !important;
    font-size: 18px !important;
  }

  .portfolio {
    grid-column: 4 / 5 !important;
    grid-row: 1 !important;
    text-align: right !important;
    padding-right: 20px !important;
    padding-top: 20px !important;
    font-size: 18px !important;
  }

  div.spinstar {
    grid-column: 1 / 4 !important;
    grid-row: 2 !important;
    padding: 20px !important;
  }

  div.spinstar h1 {
    font-size: 48px !important;
    line-height: 1.2 !important;
    padding: 0 !important;
  }

  div.topimage {
    grid-column: 4 / 5 !important;
    grid-row: 2 !important;
    padding-top: 40px !important;
    padding-right: 20px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
  }

  div.topimage img {
    width: 80% !important;
    max-width: 250px !important;
    height: auto !important;
  }

  div.CONTACT {
    grid-column: 4 / 5 !important;
    grid-row: 3 !important;
    text-align: right !important;
    padding-right: 20px !important;
  }

  div.CONTACT h2 {
    font-size: 22px !important;
  }

  div.CONTACT a {
    font-size: 20px !important;
  }

  div.arrow {
    grid-column: 2 / 4 !important;
    grid-row: 4 !important;
    text-align: center !important;
    padding-bottom: 60px !important;
  }

  h1 {
    font-size: 50px;
    line-height: 1.2;
  }

  h2 {
    font-size: 22px;
  }

  h3 {
    font-size: 20px;
  }
}


/* ===== MOBILE: 600px and below ===== */
@media screen and (max-width: 600px) {
  
  header {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto auto auto !important;
  }

  .coverletter {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    padding-left: 20px !important;
    padding-top: 20px !important;
    font-size: 16px !important;
  }

  .portfolio {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    text-align: right !important;
    padding-right: 20px !important;
    padding-top: 20px !important;
    font-size: 16px !important;
  }

  div.spinstar {
    grid-column: 1 / 2 !important;
    grid-row: 2 !important;
    padding: 20px 10px 20px 20px !important;
  }

  div.spinstar h1 {
    font-size: 1.4rem !important;
    line-height: 1.3 !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  div.topimage {
    grid-column: 2 / 3 !important;
    grid-row: 2 !important;
    padding-top: 20px !important;
    padding-right: 20px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
  }

  div.topimage img {
    width: 100% !important;
    max-width: 120px !important;
    height: auto !important;
  }

  div.CONTACT {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
    text-align: right !important;
    padding-right: 20px !important;
    margin-top: 20px !important;
  }

  div.CONTACT h2 {
    font-size: 11px !important;
  }

  div.CONTACT a {
    font-size: 14px !important;
    padding-right: 0 !important;
  }

  div.arrow {
    grid-column: 1 / 3 !important;
    grid-row: 4 !important;
    text-align: center !important;
    padding-bottom: 40px !important;
  }

  .scroll {
    font-size: 55px !important;
  }

  h1 {
    font-size: 20px;
    line-height: 1.2;
    padding: 0 10px;
  }

  h2 {
    font-size: 11px;
  }

  h3 {
    font-size: 8px;
  }
}



/*
   MIDSECTION MEDIA SCREEN — STACK PROJECTS - PORTFOLIO 

   */
@media screen and (max-width: 1000px) {
  /* override the main grid completely */
  .middlesection {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    background-color: black;
    gap: 60px;
    
  }

  .work {
    width: 90%;
    max-width: 800px;
    padding: 0;
  }

  .work img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    border-radius: 8px;
    

  }

  .project-title,
  .project-caption {
    text-align: center;
    max-width: 90%;
    margin: 10px auto;
    font-size: 80%;
    margin-top: 20px;
  }
}





/* ===================================================
---------- CV PAGE RESPONSIVE GRID TOP IMAGE & TITLE ---------- 
===================================================*/

/* Tablet: screens <= 1000px */
@media screen and (max-width: 1000px) {
  /* Header text */
  h5 {
    font-size: 50px;
    line-height: 1.2;
    grid-column: 1 / 2;
    padding-left: 10px;
    text-align: left;
  }

  .headercv2 {
    font-size: 15px;
    padding-left: 10px;
  }

.topcvimage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    grid-column: 2 / 4;
    margin-left: 0;
    margin-right: 40px;
    margin-top: 40px;
  }

  /* CV sections stack in one column */
  div.CV-section {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 30px; /* space between sections */
  }

  div.CV-TEXT {
    grid-column: 1 / 2 !important; /* override previous grid positions */
    margin-left: 20px;
    margin-right: 20px;
  }
}

/* Mobile: screens */
@media screen and (max-width: 600px) {
  /* Header text smaller */
  h5 {
    font-size: 35px;
    line-height: 1.2;
    grid-column: 1 / 2;
    margin-left: 15px;
    text-align: left;
  }

  .headercv2 {
    font-size: 12px;
    margin-left: 15px;
  }

  .topcvimage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    grid-column: 2 / 4;
    margin-left: 0;
    margin-top: 30px;
    align-content: center;
  }

  div.CV-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  div.CV-TEXT {
    margin-left: 15px;
    margin-right: 15px;
  }

  .education {
  	grid-row: 1/2
  }
	.experience {
		grid-row: 2/3
	}
	.skills {
		grid-row: 3/4
	}
	.connect {
		grid-row: 4/5
	}
} 

/* ==========================================
   TABLET: 768px and below
   ========================================== */
@media screen and (max-width: 768px) {
  
  /* Stack the two-column layout */
  .cv-section {
    flex-direction: column;
    gap: 30px;
    padding: 20px;
    background-size: cover;
  }

  /* Image and text container */
  .imagem-texto {
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  h1.about-me {
    font-size: 22px;
    margin-bottom: 40px;
    order: 1;
  }

  .cv-image {
    margin-top: 0;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    order: 2; 
  }

  /* Features list full width */
  .Features-list {
    width: 100%;
  }

  .cv-main-tags {
    font-size: 20px;
    margin-top: 30px;
  }

  .cv-text {
    font-size: 0.95rem;
  }


  header {
    grid-template-columns: 1fr 1fr;
    padding: 10px 0;
  }

  .coverletter {
    grid-column: 1 / 2;
    font-size: 18px;
    padding-left: 15px;
  }

  .portfolio {
    grid-column: 2 / 3;
    font-size: 18px;
    padding-right: 15px;
  }
}


/* ==========================================
   MOBILE PORTRAIT: 480px and below
   ========================================== */
@media screen and (max-width: 480px) {
  
  .cv-section {
    padding: 10px;
    gap: 15px;
  }

  h1.about-me {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 20px;
  }

  .cv-image {
    max-width: 100%;
  }

  .cv-main-tags {
    font-size: 16px;
    margin-top: 20px;
  }

  .cv-text {
    font-size: 0.85rem;
  }

  .year {
    font-size: 0.7rem;
  }

  .description {
    font-size: 10px;
  }


  header {
    padding: 8px 0;
  }

  .coverletter,
  .portfolio {
    font-size: 14px;
    padding: 10px 8px;
  }
}

/* ==========================================
   SMALL MOBILE: 375px and below
   ========================================== */
@media screen and (max-width: 375px) {
  
  .cv-section {
    padding: 8px;
  }

  h1.about-me {
    font-size: 14px;
    line-height: 1.6;
  }

  .cv-main-tags {
    font-size: 14px;
  }

  .cv-text {
    font-size: 0.8rem;
  }

  .year {
    font-size: 0.65rem;
  }

  .description {
    font-size: 9px;
  }

  .coverletter,
  .portfolio {
    font-size: 13px;
  }
}

/* ==========================================
   PRINT STYLES (Bonus for CV printing)
   ========================================== */
@media print {
  
  header {
    display: none;
  }

  .cv-section {
    flex-direction: column;
    background-image: none !important;
    background: white;
    padding: 0;
  }

  h1.about-me {
    font-size: 14pt;
    page-break-after: avoid;
  }

  .cv-image {
    max-width: 200px;
    margin: 10px auto;
  }

  .cv-main-tags {
    font-size: 12pt;
    page-break-after: avoid;
    margin-top: 15px;
  }

  .cv-text,
  .year,
  .description {
    font-size: 10pt;
  }

  a {
    color: black !important;
    text-decoration: none !important;
  }
}

/* ==========================================
   ACCESSIBILITY IMPROVEMENTS
   ========================================== */


@media screen and (max-width: 768px) {
  a {
    padding: 10px;
    display: inline-block;
  }

  .coverletter,
  .portfolio {
    min-height: 44px; 
  }
}


/* ==========================================
   CV PAGE RESPONSIVE MEDIA QUERIES GUIDE
   ========================================== */


.Features-list .cv-text {
  display: block;
  margin-left: 0;
  padding-left: 0;
  text-indent: 0;
}

.Features-list .cv-text a {
  display: inline;
  text-decoration: none;
  margin-left: 0;
  padding-left: 0;
}


.cv-main-tags + .cv-text {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.cv-main-tags + .cv-text a {
  margin-left: 0 !important;
  padding-left: 0 !important;
}







