@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Explora&family=Inconsolata:wght@300&family=Lora:ital@1&family=Merriweather:ital@1&family=Montserrat&family=Noto+Serif&family=Quicksand:wght@300&family=Roboto&family=Sacramento&family=Dancing+Script&family=Racing+Sans+One&family=Staatliches&display=swa");

:root {
  /*root represent the html element*/
  --my-black: rgb(46, 46, 46);
  --level-5: rgb(6, 30, 51);
  --level-4: rgb(16, 51, 81);
  --level-3: rgb(37, 63, 82);
  --level-2: rgb(66, 95, 116);
  --level-1: rgb(124, 151, 172);
  --level-0: rgb(150, 175, 192);
  --my-white: rgb(255, 255, 255);
  --highlight: rgb(206, 93, 93);
  --highlight2: 2px 2px 10px rgb(140, 255, 249);
  
  --highlight2: 2px 2px 10px rgb(255, 197, 197),
                4px 4px 15px rgb(255, 150, 150),
                6px 6px 20px rgb(206, 93, 93);

  --grey-1:rgba(62, 62, 62, 0.7);
  --grey-2:rgba(149, 148, 148, 0.5);

  --carousel-H:height: 75vh;

  --hi-font: Sacramento;
  --title-font: Roboto;
  --subtitle-font: Roboto;
  --general-font: lora;
  --logo-font: Bebas Neue;
  --parragraph-font: Montserrat;
  --hand-write: Dancing Script;
}

/*reset*/
* {
  color: var(--my-white);
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--level-0);
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 100vw;
  overflow-x: hidden;
}

header,
main,
footer {
  width: 100vw;
}

.bgLevel0 {
  background-color: var(--level-0);
}
.bgLevel1 {
  background-color: var(--level-1);
}
.bgLevel2 {
  background-color: var(--level-2);
}
.bgLevel3 {
  background-color: var(--level-3);
}
.bgLevel4 {
  background-color: var(--level-4);
}
.bgLevel5 {
  background-color: var(--level-5);
}



/*HEADER*/
header {
  background-color: var(--level-0);
  display: flex;
  height: 100vh;
  flex-direction: column;
  justify-content: center;
}

#intro {
  font-family: "Dancing Script", cursive;
}

/*logo*/
#logo {
  margin-left: 10px;
  padding-right: 10px;
  display: flex;
  flex-direction: row;
}

#logo img {
  width: 40px;
  display: none;
}

#v,
#g {
  font-family: var(--logo-font);
  font-size: 40px;
  transition: all 0.4s ease-in-out;
  text-shadow: 2px 2px 10px black;
  color: var(--level-4);
}

#v:hover,
#g:hover {
  cursor: pointer;
  color: var(--highlight);
}

/*Navbar*/

.navbar {
  z-index: 100;
}

#menuBar {
  align-items: center;
  display: flex;
  height: 100px;
  justify-content: space-between;
  padding-right: 20px;
  position: fixed;
  top: 0;
  width: 100vw;
}

.nav-tab {
  display: flex;
}

.flex-corners {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.collapse-show {
  background-color: aqua;
}

#menuBar a {
  border-radius: 3%;
  text-decoration: none;
}

nav ul li {
  display: inline;
}

nav ul li a {
  padding: 5px;
}

nav ul li a:hover {
  background-color: var(--highlight);
}

.indicator {
  height: 3px;
  width: 100%;
  border-radius: 3px;
}

.activeTab .indicator {
  background-color: var(--highlight);
}

/*Banner*/
#heroBanner {
  display: grid;
  place-content: center;
}

.bannerContent {
  height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  z-index: 1;
  padding: 15px;
}

#hi {
  color: #fff;
  animation-name: appear;
  animation-iteration-count: initial;
  animation-duration: 1s;
  font-size: 40px;
}

#my-name {
  animation-name: appear;
  animation-iteration-count: initial;
  animation-duration: 2s;
  display: flex;
}

#victor {
  margin-right: 2px;
  position: relative;
  font-size: 40px;
}
#grinan {
  margin-left: 2px;
  position: relative;
  font-size: 40px;
}

.lightsOn {
  position: absolute;
  color: #fff;
  text-shadow: 0 0 20px var(--highlight);
  font-family: "Quicksand", sans-serif;
}

.lightsOn:hover {
  cursor: pointer;
  color: var(--highlight);
}

.lightsOn:active {
  color: blue;
}

.deattach:hover {
  cursor: pointer;
  color: var(--highlight);
}

.deattach:active {
  cursor: pointer;
  color: blue;
}

#developer {
  color: #fff;
  animation-name: appear;
  animation-iteration-count: initial;
  animation-duration: 3s;
  font-size: 35px;
}

#welcome {
  animation-name: appear;
  animation-iteration-count: initial;
  animation-duration: 3.3s;
}

#welcome-to {
  color: #fff;
  font-size: 40px;
  font-family: var(--hand-write);
}

#portfolio-word {
  font-size: 60px;
  font-family: var(--hand-write);
}

.invisible {
  display: none;
}

.hand-write {
  text-shadow: 5px 5px 5px black;
}

/*back up btn*/
#up {
  bottom: 20px;
  position: fixed;
  right: 70px;
}

/*Main*/

img {
  display: grid;
  max-width: 97.5vw;
}

article {
  padding-bottom: 50px;
  padding-top: 150px;
  text-align: center;
  max-width: 100vw;
  min-height: 100vh;
}

#content {
  min-height: 100vh;
}

#content section {
  padding-top: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

section {
  min-height: 100vh;
}

p {
  max-width: 75%;
}

.scrollUp {
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: var(--highlight);
  border-radius: 5%;
  padding: 10px;
}

.appButton, .scrollUp {
  background-color: var(--highlight);
  border: none;
  border-radius: 3%;
  padding: 8px;
  font-size: 16px;
  border: 2px solid #ccc;
  border-radius: 8px;
}

.cvBtns {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 200px;
}

.cvBtns a {
  text-decoration: none;
}

.showAll {
  font-size: 16px;
}

#content {
  background-color: var(--level-2);
}

/*PARALLAX*/

.parallax-divider{
  height: 35vh;
  min-height: 280px;
  background-color: var(--level-2);
  background-image: url("./images/free_victor.jpg"); /* <- your image */
  background-size:cover;
  background-position: top center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* subtle dark overlay, optional */
.parallax-divider::after{
  content: "";
  position: inherit;
  display: block;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.25));
}

/*mobile fallback where background-attachment: fixed is buggy*/
@media (max-width: 1024px){
  .parallax-divider{
    height: 35vh;
    min-height: 50dvh;
    background-color: var(--level-2);
    background-image: url("./images/free_victor.jpg"); /* <- your image */
    background-size: auto 170%;  
    background-position: top center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
} 

@media (max-width: 400px){
  .parallax-divider{
    height:50dvh;
    min-height: 50dvh;
    background-color: var(--level-2);
    background-image: url("./images/free_victor.jpg"); /* <- your image */
    background-size: auto 150%;  
    background-position: top center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
} 

/*ABOUT SECTION*/

.about{
  font-size: 18px;
  max-width: 600px;
}

.about-link{
  color: var(--level-5);
  font-weight: 700;
}
.about-link:hover{
  color: var(--level-2);
  font-weight: 700;
}
.keyword{
  font-weight: 800;
}

/* Projects accordion */

.accordion {
  text-align: center;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  outline: none;
  transition: 0.4s;
}

.active,
.accordion:hover {
  background-color: var(--highlight);
}

.panel {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  transition: all 0.2s ease-out;
}

/* Internet projects*/
.internetProjectsContainer {
  width: 95vw;
  max-width: 550px;
  min-width: 265px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--my-white);
  border-radius: 5px;
  color: black;
  margin-right: 5px;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 3px;
  box-shadow: 0 0 5px black;
}

.internetProjects{
    width: 100vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-height: 60vh;
    overflow-y: scroll;
    margin: 0;
    padding: 0;
}
.internetContent{
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* background-color: aquamarine; */
}
.internet-filters{
  width: 100vw;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.filter-item{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 3px;
}

.filter-all{
  padding: 2px 5px;
  border-radius: 2px;
  background-color: var(--level-5);
}

.active{
  background-color: var(--highlight);
}
/* .filter-item:hover{
  background-color: var(--highlight);
} */

.scrollable{
  overflow-y: scroll;
}

/*internet cards*/
.internetProjectsContainer a {
  text-decoration: none;
  text-align: center;
}

.internetProjectsContainer:hover {
  box-shadow: var(--highlight2);
}
.small-img-container {
  width: 45px;
  height: 45px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.small-project-img {
  width: 50px;
}
.small-framework {
  margin-left: 10px;
  width: 30px;
}
.tiny-framework {
  margin-left: 10px;
  width: 20px;
}
.small-tech-container {
  /* width: 150px; */
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
}
.small-tech-img {
  width: 25px;
}
.tiny-tech-img {
  width: 15px;
}
.small-project-title {
  max-width: none;
  margin: 0;
  color: black;
  text-transform: capitalize;
  flex: 1;
  text-align: right;
}
/*Footer*/
footer {
  background-color: var(--level-5);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  padding-top: 100px;
  text-align: center;
}

#conctactSection {
  max-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  text-align: center;
}

.email {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.icon {
  height: 25px;
  width: 25px;
}

#some {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  width: 80vw;
}

.repoLink {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 35px;
  width: 35px;
}

.deployTech
{
  position: absolute;
  right: 45px;
  bottom: 18px;
  height: 15px;
  width: 15px;
}

.deployedLink{
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: rgba(156, 156, 156, 0.362);
  border-radius: 10px;
}

.tiny-text{
  color: black;
  font-size: 6px;
  font-weight: 800;
  text-transform: capitalize;
  margin-block-start: 0;
  margin-block-end: 0;
}

.technologies-container {
  margin-left: 5px;
  position: absolute;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 50%;
  left: 0;
}

.framework {
  height: 30px;
  width: 30px;
}

.technologies {
  height: 15px;
  width: 15px;
}

.some {
  display: inline-block;
  height: 35px;
  width: 35px;
  object-fit: cover;
}

#licenseSection {
  align-items: center;
  background-color: rgb(6, 30, 51);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  min-height: 100px;
  width: 100%;
}

article {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 150px;
  padding-bottom: 200px;
  width: 100vw;
}
article h3,
#contact {
  font-family: var(--logo-font);
}
article h2,
#contact {
  /* color: var(--highlight); */
  font-family: var(--logo-font);
  font-size: 50px;
  text-shadow: 0 0 10px black;
}

/*PROJECT*/
#projectsArticle {
  background-color: rgb(33, 56, 71);
}

.portfolio-link {
  text-decoration: none;
  color: white;
}
.portfolio-link:hover {
  color: white;
}

#portfolio,
#schoolProjects,
#personalProjects,
#internet,
#freelancer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.project {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  background-color: white;
  box-shadow: 2px 2px 10px rgb(41, 40, 40);
  border-style: groove;
  border-color: black;
  color: black;
  height: 300px;
  margin: 10px;
  width: 250px;
}

div .project:hover {
  transform: scale(1.05);
  box-shadow: var(--highlight2);
}

.projectImg {
  width: 230px;
  background-color: black;
  border-style: groove;
  border-color: black;
  height: 130px;
  object-fit: cover;
  overflow: hidden;
}

.projectImg img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

#portfolio h3 {
  font-family: var(--logo-font);
}

.projectTitle {
  color: black;
  font-family: var(--logo-font);
  font-size: 24px;
}

.description {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 20px;
  text-align: center;
  color: #fff;
}

.subtitle,
#description {
  color: black;
}

.descriptionText {
  padding-top: 5px;
  color: black;
  font-size: 18px;
}

/*Skill*/

/*skill text*/
.txtSkills-section{
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 50px;
}

.txtSkills-subsection{
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.txtSkills-section-heading {
  display: inline-block;
  border-bottom: 3px solid var(--highlight);
  padding-bottom: 4px; /* space between text and underline */
}

.txtSkills-subsection-content{
display: flex;
flex-direction: column;
gap: 10px;
}

.skill-icon-card{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 10px;
}
.skill-icon-card p{
  font-size: 16px;
  text-align: start;
  flex: 1;
  max-width: none;
  padding-left: 10px;
  align-items: center;
}

.icon-container {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ccc;
  border-radius: 8px;
  /*background: var(--highlight);*/
  background: #fff;
}

.icon-container img {
  max-width: 70%;
  max-height: 70%;
}


#skillsBoxes {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  min-height: 100vh;
}

/* .skillsBoxes{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    min-height: 100vh;
} */

.ratingLegend {
  font-size: 14px;
}

#skillArticle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#allSkills {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.skillBtns:first-child {
  margin-right: 5px;
}

.showSkillsLegend .showMoreSkills {
  font-size: 14px;
}
.skillGroup {
  width: 90vw;
  max-width: 1200px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0 4px;
}

@media screen and (max-width: 480px) {
  .skillGroup {
    flex-direction: column;
  }
}

.skillGroup:nth-of-type(2n) {
  background-color: var(--level-2);
}
.skillGroup:nth-of-type(odd) {
  background-color: var(--level-4);
}

.skillGroupTitle {
  min-width: 20%;
  text-align: start;
}

.skillGroupTitle {
  font-size: 16px;
}
.subSkills {
  min-width: 50%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.skill {
  width: 50px;
  /* height: 100px; */
  margin: 0 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/*
.skill img {
    width: 50px;
    height: 50px;
    margin: 5px; 
}
*/

.techLogo {
  width: 15px;
  aspect-ratio: 2/3;
  object-fit: contain;
  /* mix-blend-mode: color-burn; */
}

.skillValues {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.skillTitle,
.overall {
  font-size: 12px;
  text-align: start;
  margin-bottom: 3px;
}

.skillRating {
  font-size: 4px;
  text-align: start;
  margin-bottom: 3px;
}

/*certificates*/
#certificates {
  background-color: var(--level-4);
}

.certificate,
.certificates {
  width: 100vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.certificate {
  width: 30vw;
  min-width: 280px;
  flex-direction: column;
  margin: 15px 0;
}

.document {
  width: 200px;
}

.docLink {
  filter: grayscale(1);
}

.docLink:hover {
  box-shadow: 0 0 10px white;
  transform: scale(1.1);
  filter: grayscale(0);
}

.certView {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.certView:hover {
  color: var(--highlight);
}

/*certificate carousel*/
.carousel__track-container{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.carousel,
.carousel__track-container,
.carousel__track,
.carousel__slide,
.carousel__image{
    height: 55vh;
    max-height: 600px;
    max-width: 470px;
    display: flex;
}

.carousel__track,
.carousel__track-container,
.carousel__slide,
.carousel__image,
.carousel__nav{
  width: 100%;
}
.carousel__track,
.carousel__slide{
   display: flex;
   align-items: center;
   justify-content: center;
}

.carousel {
    position: relative;
    width: 98vw;
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.carousell__button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    cursor: pointer;
}
.carousell__button--right {
    right: -40px;
}
.carousell__button--left {
    left: -40px;
}
.carousel__track-container {
    position: relative;
    overflow: hidden;
}

.carousel__track {
   padding: 0;
   margin: 0;
   list-style: none;
   transition: all 500ms ease-in;
   position:relative;
}
.carousel__slide {   
    position: absolute;
    top: auto;
    bottom: auto;
}

.carousel__image{
  object-fit:contain;
}
.carousel__nav {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 0;
}
.carousel__indicator {
    border: 0;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background: var(--grey-2);
    margin: 0.5vw;
    cursor: pointer;
}

.current_dot {
    background: var(--highlight);
}
/**********************************/

.is-hidden{
    visibility: hidden;
}

.invisible {
  display: none;
}

.flip-card {
  background-color: transparent;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

.flip-card-front {
  color: black;
}

.flip-card-back {
  background-color: rgb(14, 15, 15);
  color: white;
  transform: rotateY(180deg);
}



/* Generic/General */
.align-center {
  display: flex;
  align-items: center;
}

.justify-center {
  display: flex;
  justify-content: center;
}

.center-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

